This directory contains the PowerShell module for the VMware service.
- Modifiable: yes
- Generated: all
- Committed: yes
- Packaged: yes
This module was primarily generated via AutoRest using the PowerShell extension.
- Az.Accounts module, version 2.7.5 or greater
AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent.
For information on how to develop for Az.VMware
, see how-to.md.
Use of the beta version of autorest.powershell
generator requires the following:
- NodeJS LTS (10.15.x LTS preferred)
- Note: It will not work with Node < 10.x. Using 11.x builds may cause issues as they may introduce instability or breaking changes.
If you want an easy way to install and update Node, NVS - Node Version Switcher or NVM - Node Version Manager is recommended.
- AutoRest v3 beta
npm install -g autorest@beta
- PowerShell 6.0 or greater
- If you don't have it installed, you can use the cross-platform npm package
npm install -g pwsh
- If you don't have it installed, you can use the cross-platform npm package
- .NET Core SDK 2.0 or greater
- If you don't have it installed, you can use the cross-platform npm package
npm install -g dotnet-sdk-2.2
- If you don't have it installed, you can use the cross-platform npm package
In this directory, run AutoRest:
autorest
commit: f1546dc981fa5d164d7ecd13588520457462c22c
require:
- $(this-folder)/../../readme.azure.noprofile.md
input-file:
- $(repo)/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json
module-version: 0.4.0
title: VMware
subject-prefix: $(service-name)
support-json-input: false
directive:
- from: swagger-document
where: $.definitions.AdminCredentials.properties.nsxtPassword
transform: >-
return {
"description": "NSX-T Manager password",
"type": "string",
"readOnly": true,
"x-ms-secret": true,
"format": "password"
}
- from: swagger-document
where: $.definitions.AdminCredentials.properties.vcenterPassword
transform: >-
return {
"description": "vCenter admin password",
"type": "string",
"readOnly": true,
"x-ms-secret": true,
"format": "password"
}
- where:
variant: ^(Create|Update)(?!.*?Expanded)
remove: true
- where:
variant: ^Restrict$|^RestrictViaIdentity$
remove: true
- where:
verb: Set
remove: true
- where:
verb: Get|New|Remove
subject: Addon
hide: true
- where:
verb: New|Remove
subject: PrivateCloud
hide: true
- where:
verb: Get
subject: ScriptCmdlet|ScriptExecutionLog|ScriptPackage|WorkloadNetworkGateway|WorkloadNetworkVirtualMachine
hide: true
- where:
verb: Get|New|Remove
subject: ScriptExecution|WorkloadNetworkPublicIP
hide: true
- where:
verb: Lock
subject: VirtualMachineMovement
hide: true
- where:
verb: Get|New|Update|Remove
subject: WorkloadNetworkDhcp|WorkloadNetworkDnsService|WorkloadNetworkDnsZone|WorkloadNetworkPortMirroring|WorkloadNetworkSegment|WorkloadNetworkVMGroup
hide: true
- where:
verb: New|Get|Remove
subject: HcxEnterpriseSite
remove: true
- where:
verb: Test
subject: ^LocationQuotaAvailability$
variant: ^CheckViaIdentity$
remove: true
# Remove v4 variant
- where:
verb: Test
subject: ^LocationTrialAvailability$
variant: ^Check$|CheckViaIdentity
remove: true
- where:
verb: New
subject: PrivateCloud
variant: CreateViaIdentityExpanded
remove: true
# custom set SKU Name optional
# - where:
# verb: Test
# subject: ^LocationTrialAvailability$
# hide: true
# Remove the list variant as the workloadNetwork only have one enum value
- where:
verb: Get
subject: WorkloadNetwork
# variant: List
hide: true
# Hide parent object variant to fix 'multiple types define RestrictMovement [string, IVirtualMachineRestrictMovement]'
- where:
verb: Lock
subject: VirtualMachineMovement
variant: ^RestrictViaIdentityCluster$|^RestrictViaIdentityPrivateCloud$
remove: true
# Hide HcxEnterpriseSite, ScriptExecution, Addon update
- where:
verb: Update
subject: HcxEnterpriseSite|ScriptExecution|Addon
remove: true
- no-inline:
- AddonProperties
- PlacementPolicyProperties
# Re-name and custom it
- model-cmdlet:
- model-name: VMPlacementPolicyProperties
cmdlet-name: New-AzVMwareVMPlacementPolicyPropertyObject
- model-name: VmHostPlacementPolicyProperties
cmdlet-name: New-AzVMwareVmHostPlacementPolicyPropertyObject
# - model-name: ScriptSecureStringExecutionParameter
# - model-name: ScriptStringExecutionParameter
# - model-name: PSCredentialExecutionParameter
# - model-name: AddonSrmProperties
# cmdlet-name: New-AzVMwareAddonSrmPropertyObject
# - model-name: AddonVrProperties
# cmdlet-name: New-AzVMwareAddonVrPropertyObject
- where:
verb: Get
subject: ^PrivateCloudAdminCredentials$
set:
subject: PrivateCloudAdminCredential
- where:
verb: Invoke
subject: ^RotatePrivateCloudNsxtPassword$
set:
verb: New
subject: PrivateCloudNsxtPassword
- where:
verb: Invoke
subject: ^RotatePrivateCloudVcenterPassword$
set:
verb: New
subject: PrivateCloudVcenterPassword
- where:
verb: Get
subject: ^WorkloadNetworkVirtualMachine$
set:
subject: WorkloadNetworkVM
- where:
verb: New|Get|Update|Remove
subject: ^WorkloadNetworkDhcp$
parameter-name: DhcpId
set:
parameter-name: DhcpName
- where:
verb: New|Get|Update|Remove
subject: ^WorkloadNetworkDnsService$
parameter-name: DnsServiceId
set:
parameter-name: DnsServiceName
- where:
subject: ^Cluster$
parameter-name: PropertiesHosts
set:
parameter-name: PropertiesHost
- where:
verb: New|Get|Update|Remove
subject: ^WorkloadNetworkDnsZone$
parameter-name: DnsZoneId
set:
parameter-name: DnsZoneName
- where:
verb: Get
subject: ^WorkloadNetworkGateway$
parameter-name: GatewayId
set:
parameter-name: GatewayName
- where:
verb: New|Get|Update|Remove
subject: ^WorkloadNetworkPortMirroring$
parameter-name: PortMirroringId
set:
parameter-name: PortMirroringName
- where:
verb: New|Get|Remove
subject: ^WorkloadNetworkPublicIP$
parameter-name: PublicIPId
set:
parameter-name: PublicIPName
- where:
verb: New|Get|Update|Remove
subject: ^WorkloadNetworkSegment$
parameter-name: SegmentId
set:
parameter-name: SegmentName
- where:
verb: New|Get|Update|Remove
subject: ^WorkloadNetworkVMGroup$
parameter-name: VMGroupId
set:
parameter-name: VMGroupName
- where:
verb: New
subject: ^GlobalReachConnection$
parameter-name: PeerExpressRouteCircuit
set:
parameter-name: PeerExpressRouteResourceId
- where:
model-name: Datastore
set:
format-table:
properties:
- Name
- Status
- ProvisioningState
- ResourceGroupName