Api/VmApi.ps1
# # Vcenter Paths # The vcenter package provides services for managing VMware vSphere environments. The package is available starting in vSphere 6.5. # Contact: powercli@vmware.com # Generated by OpenAPI Generator: https://openapi-generator.tech # <# .SYNOPSIS Creates a virtual machine from an existing virtual machine. if you do not have all of the privileges described as follows: - The resource Datastore referenced by the attribute VM.DiskCloneSpec.datastore requires Datastore.AllocateSpace. - The resource Datastore referenced by the attribute VM.ClonePlacementSpec.datastore requires Datastore.AllocateSpace. - The resource Folder referenced by the attribute VM.ClonePlacementSpec.folder requires VirtualMachine.Inventory.CreateFromExisting. - The resource ResourcePool referenced by the attribute VM.ClonePlacementSpec.resource-pool requires Resource.AssignVMToPool. - The resource VirtualMachine referenced by the attribute VM.CloneSpec.source requires VirtualMachine.Provisioning.Clone. .DESCRIPTION No description available. .PARAMETER VMCloneSpec No description available. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS String .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vmactionclone/post/ #> function Invoke-CloneVm { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Low', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vmactionclone/post/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [PSTypeName("VMCloneSpec")] [PSCustomObject] ${VMCloneSpec}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-CloneVm' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') # HTTP header 'Content-Type' $LocalVarContentTypes = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'CloneVm' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/vm__action=clone' $LocalVarMethod = 'POST' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if (!$VMCloneSpec) { throw "Error! The required parameter `VMCloneSpec` missing when calling cloneVm." } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ( $VMCloneSpec -is [PSCustomObject]) { $addTransformationInput = Format-Body -OperationTranslateSchema $translationSchema -Body ([ref]$VMCloneSpec) Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } $tranlatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMCloneSpec -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMCloneSpec -InputType Query if ($null -ne $translatedQuery) { $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } $VMCloneSpec = $tranlatedBody if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { if ($null -ne $VMCloneSpec) { foreach ($keyValue in $transformedOpertaionInput.Body.GetEnumerator()) { $VMCloneSpec | Add-Member -MemberType NoteProperty -Name $keyValue.Key -Value $keyValue.Value } } else { $VMCloneSpec = [PSCustomObject]$($transformedOpertaionInput.Body) } } } if ($null -ne $VMCloneSpec) { $LocalVarBodyParameter = $VMCloneSpec | ConvertTo-Json -Depth 100 } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "String" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Creates a virtual machine from an existing virtual machine. if you do not have all of the privileges described as follows: - The resource Datastore referenced by the attribute VM.DiskCloneSpec.datastore requires Datastore.AllocateSpace. - The resource Datastore referenced by the attribute VM.ClonePlacementSpec.datastore requires Datastore.AllocateSpace. - The resource Folder referenced by the attribute VM.ClonePlacementSpec.folder requires VirtualMachine.Inventory.CreateFromExisting. - The resource ResourcePool referenced by the attribute VM.ClonePlacementSpec.resource-pool requires Resource.AssignVMToPool. - The resource VirtualMachine referenced by the attribute VM.CloneSpec.source requires VirtualMachine.Provisioning.Clone. .DESCRIPTION No description available. .PARAMETER VMCloneSpec No description available. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS String .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vmactionclonevmw-tasktrue/post/ #> function Invoke-CloneVmAsync { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Low', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vmactionclonevmw-tasktrue/post/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [PSTypeName("VMCloneSpec")] [PSCustomObject] ${VMCloneSpec}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-CloneVmAsync' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') # HTTP header 'Content-Type' $LocalVarContentTypes = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'CloneVmAsync' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/vm__action=clone&vmw-task=true' $LocalVarMethod = 'POST' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if (!$VMCloneSpec) { throw "Error! The required parameter `VMCloneSpec` missing when calling cloneVmAsync." } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ( $VMCloneSpec -is [PSCustomObject]) { $addTransformationInput = Format-Body -OperationTranslateSchema $translationSchema -Body ([ref]$VMCloneSpec) Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } $tranlatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMCloneSpec -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMCloneSpec -InputType Query if ($null -ne $translatedQuery) { $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } $VMCloneSpec = $tranlatedBody if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { if ($null -ne $VMCloneSpec) { foreach ($keyValue in $transformedOpertaionInput.Body.GetEnumerator()) { $VMCloneSpec | Add-Member -MemberType NoteProperty -Name $keyValue.Key -Value $keyValue.Value } } else { $VMCloneSpec = [PSCustomObject]$($transformedOpertaionInput.Body) } } } if ($null -ne $VMCloneSpec) { $LocalVarBodyParameter = $VMCloneSpec | ConvertTo-Json -Depth 100 } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "String" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Creates a virtual machine. if you do not have all of the privileges described as follows: - The resource Folder referenced by the attribute VM.InventoryPlacementSpec.folder requires VirtualMachine.Inventory.Create. - The resource ResourcePool referenced by the attribute VM.ComputePlacementSpec.resource-pool requires Resource.AssignVMToPool. - The resource Datastore referenced by the attribute VM.StoragePlacementSpec.datastore requires Datastore.AllocateSpace. - The resource Network referenced by the attribute Ethernet.BackingSpec.network requires Network.Assign. .DESCRIPTION No description available. .PARAMETER VMCreateSpec No description available. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS String .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/post/ #> function Invoke-CreateVm { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Low', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/post/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [PSTypeName("VMCreateSpec")] [PSCustomObject] ${VMCreateSpec}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-CreateVm' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') # HTTP header 'Content-Type' $LocalVarContentTypes = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'CreateVm' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/vm' $LocalVarMethod = 'POST' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if (!$VMCreateSpec) { throw "Error! The required parameter `VMCreateSpec` missing when calling createVm." } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ( $VMCreateSpec -is [PSCustomObject]) { $addTransformationInput = Format-Body -OperationTranslateSchema $translationSchema -Body ([ref]$VMCreateSpec) Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } $tranlatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMCreateSpec -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMCreateSpec -InputType Query if ($null -ne $translatedQuery) { $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } $VMCreateSpec = $tranlatedBody if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { if ($null -ne $VMCreateSpec) { foreach ($keyValue in $transformedOpertaionInput.Body.GetEnumerator()) { $VMCreateSpec | Add-Member -MemberType NoteProperty -Name $keyValue.Key -Value $keyValue.Value } } else { $VMCreateSpec = [PSCustomObject]$($transformedOpertaionInput.Body) } } } if ($null -ne $VMCreateSpec) { $LocalVarBodyParameter = $VMCreateSpec | ConvertTo-Json -Depth 100 } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "String" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Deletes a virtual machine. if you do not have all of the privileges described as follows: - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.Inventory.Delete. .DESCRIPTION No description available. .PARAMETER Vm Virtual machine identifier. The parameter must be an identifier for the resource type: VirtualMachine. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS None .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/vm/delete/ #> function Invoke-DeleteVm { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'High', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/vm/delete/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [ValidateScript({ $_ -is [string] })] ${Vm}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-DeleteVm' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'DeleteVm' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/vm/{vm}' $LocalVarMethod = 'DELETE' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if (!$Vm) { throw "Error! The required parameter `Vm` missing when calling deleteVm." } $LocalVarUri = $LocalVarUri.replace('{vm}', $Vm) $LocalVarPathParameters['vm'] = $Vm if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { $LocalVarBodyParameter = $transformedOpertaionInput.Body | ConvertTo-Json -Depth 100 } } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Returns information about a virtual machine. if you do not have all of the privileges described as follows: - The resource VirtualMachine referenced by the parameter vm requires System.Read. .DESCRIPTION No description available. .PARAMETER Vm Virtual machine identifier. The parameter must be an identifier for the resource type: VirtualMachine. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS VMInfo .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/vm/get/ #> function Invoke-GetVm { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'None', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/vm/get/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [ValidateScript({ $_ -is [string] })] ${Vm}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-GetVm' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'GetVm' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/vm/{vm}' $LocalVarMethod = 'GET' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if (!$Vm) { throw "Error! The required parameter `Vm` missing when calling getVm." } $LocalVarUri = $LocalVarUri.replace('{vm}', $Vm) $LocalVarPathParameters['vm'] = $Vm if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { $LocalVarBodyParameter = $transformedOpertaionInput.Body | ConvertTo-Json -Depth 100 } } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "VMInfo" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } $SingleServerResult["Response"].PSObject.TypeNames.Insert(0, "VMInfo") if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Create an instant clone of an existing virtual machine. if you do not have all of the privileges described as follows: - The resource VirtualMachine referenced by the attribute VM.InstantCloneSpec.source requires VirtualMachine.Provisioning.Clone and VirtualMachine.Inventory.CreateFromExisting. - The resource Folder referenced by the attribute VM.InstantClonePlacementSpec.folder requires VirtualMachine.Interact.PowerOn. - The resource ResourcePool referenced by the attribute VM.InstantClonePlacementSpec.resource-pool requires Resource.AssignVMToPool. - The resource Datastore referenced by the attribute VM.InstantClonePlacementSpec.datastore requires Datastore.AllocateSpace. - The resource Network referenced by the attribute Ethernet.BackingSpec.network requires Network.Assign. .DESCRIPTION No description available. .PARAMETER VMInstantCloneSpec No description available. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS String .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vmactioninstant-clone/post/ #> function Invoke-InstantCloneVm { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Low', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vmactioninstant-clone/post/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [PSTypeName("VMInstantCloneSpec")] [PSCustomObject] ${VMInstantCloneSpec}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-InstantCloneVm' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') # HTTP header 'Content-Type' $LocalVarContentTypes = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'InstantCloneVm' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/vm__action=instant-clone' $LocalVarMethod = 'POST' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if (!$VMInstantCloneSpec) { throw "Error! The required parameter `VMInstantCloneSpec` missing when calling instantCloneVm." } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ( $VMInstantCloneSpec -is [PSCustomObject]) { $addTransformationInput = Format-Body -OperationTranslateSchema $translationSchema -Body ([ref]$VMInstantCloneSpec) Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } $tranlatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMInstantCloneSpec -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMInstantCloneSpec -InputType Query if ($null -ne $translatedQuery) { $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } $VMInstantCloneSpec = $tranlatedBody if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { if ($null -ne $VMInstantCloneSpec) { foreach ($keyValue in $transformedOpertaionInput.Body.GetEnumerator()) { $VMInstantCloneSpec | Add-Member -MemberType NoteProperty -Name $keyValue.Key -Value $keyValue.Value } } else { $VMInstantCloneSpec = [PSCustomObject]$($transformedOpertaionInput.Body) } } } if ($null -ne $VMInstantCloneSpec) { $LocalVarBodyParameter = $VMInstantCloneSpec | ConvertTo-Json -Depth 100 } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "String" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Returns information about at most 4000 visible (subject to permission checks) virtual machines in vCenter matching the VM.FilterSpec. .DESCRIPTION No description available. .PARAMETER Vms Identifiers of virtual machines that can match the filter. If unset or empty, virtual machines with any identifier match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: VirtualMachine. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: VirtualMachine. .PARAMETER Names Names that virtual machines must have to match the filter (see VM.Info.name). If unset or empty, virtual machines with any name match the filter. .PARAMETER Folders Folders that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any folder match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Folder. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Folder. .PARAMETER Datacenters Datacenters that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any datacenter match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: Datacenter. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: Datacenter. .PARAMETER Hosts Hosts that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines on any host match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: HostSystem. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: HostSystem. .PARAMETER Clusters Clusters that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any cluster match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ClusterComputeResource. .PARAMETER ResourcePools Resource pools that must contain the virtual machine for the virtual machine to match the filter. If unset or empty, virtual machines in any resource pool match the filter. When clients pass a value of this structure as a parameter, the field must contain identifiers for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will contain identifiers for the resource type: ResourcePool. .PARAMETER PowerStates Power states that a virtual machine must be in to match the filter (see Power.Info.state. If unset or empty, virtual machines in any power state match the filter. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS VMSummary[] .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/get/ #> function Invoke-ListVm { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'None', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/get/" )] Param ( [Parameter(Mandatory = $false, ValueFromPipeline = $true)] [String[]] ${Vms}, [Parameter(Mandatory = $false)] [String[]] ${Names}, [Parameter(Mandatory = $false)] [String[]] ${Folders}, [Parameter(Mandatory = $false)] [String[]] ${Datacenters}, [Parameter(Mandatory = $false)] [String[]] ${Hosts}, [Parameter(Mandatory = $false)] [String[]] ${Clusters}, [Parameter(Mandatory = $false)] [String[]] ${ResourcePools}, [Parameter(Mandatory = $false)] [PSCustomObject[]] ${PowerStates}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-ListVm' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'ListVm' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/vm' $LocalVarMethod = 'GET' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($null -ne $Vms) { $LocalVarQueryParameters['vms'] = $Vms } if ($null -ne $Names) { $LocalVarQueryParameters['names'] = $Names } if ($null -ne $Folders) { $LocalVarQueryParameters['folders'] = $Folders } if ($null -ne $Datacenters) { $LocalVarQueryParameters['datacenters'] = $Datacenters } if ($null -ne $Hosts) { $LocalVarQueryParameters['hosts'] = $Hosts } if ($null -ne $Clusters) { $LocalVarQueryParameters['clusters'] = $Clusters } if ($null -ne $ResourcePools) { $LocalVarQueryParameters['resource_pools'] = $ResourcePools } if ($null -ne $PowerStates) { $LocalVarQueryParameters['power_states'] = $PowerStates } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { $LocalVarBodyParameter = $transformedOpertaionInput.Body | ConvertTo-Json -Depth 100 } } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "VMSummary[]" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } foreach ($element in $SingleServerResult["Response"]) { $element.PSObject.TypeNames.Insert(0, "VMSummary") } if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Creates a virtual machine from existing virtual machine files on storage. if you do not have all of the privileges described as follows: - The resource Datastore referenced by the attribute VM.RegisterSpec.datastore requires System.Read. - The resource Folder referenced by the attribute VM.InventoryPlacementSpec.folder requires VirtualMachine.Inventory.Register. - The resource ResourcePool referenced by the attribute VM.ComputePlacementSpec.resource-pool requires Resource.AssignVMToPool. .DESCRIPTION No description available. .PARAMETER VMRegisterSpec No description available. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS String .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vmactionregister/post/ #> function Invoke-RegisterVm { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Low', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vmactionregister/post/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [PSTypeName("VMRegisterSpec")] [PSCustomObject] ${VMRegisterSpec}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-RegisterVm' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') # HTTP header 'Content-Type' $LocalVarContentTypes = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'RegisterVm' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/vm__action=register' $LocalVarMethod = 'POST' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if (!$VMRegisterSpec) { throw "Error! The required parameter `VMRegisterSpec` missing when calling registerVm." } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ( $VMRegisterSpec -is [PSCustomObject]) { $addTransformationInput = Format-Body -OperationTranslateSchema $translationSchema -Body ([ref]$VMRegisterSpec) Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } $tranlatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMRegisterSpec -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMRegisterSpec -InputType Query if ($null -ne $translatedQuery) { $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } $VMRegisterSpec = $tranlatedBody if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { if ($null -ne $VMRegisterSpec) { foreach ($keyValue in $transformedOpertaionInput.Body.GetEnumerator()) { $VMRegisterSpec | Add-Member -MemberType NoteProperty -Name $keyValue.Key -Value $keyValue.Value } } else { $VMRegisterSpec = [PSCustomObject]$($transformedOpertaionInput.Body) } } } if ($null -ne $VMRegisterSpec) { $LocalVarBodyParameter = $VMRegisterSpec | ConvertTo-Json -Depth 100 } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "String" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Relocates a virtual machine based on the specification. The parts of the virtual machine that can move are: FOLDER, RESOURCE_POOL, HOST, CLUSTER and DATASTORE of home of the virtual machine and disks. if you do not have all of the privileges described as follows: - The resource VirtualMachine referenced by the parameter vm requires Resource.ColdMigrate. - The resource ResourcePool referenced by the attribute VM.RelocatePlacementSpec.resource-pool requires Resource.AssignVMToPool. .DESCRIPTION No description available. .PARAMETER Vm Existing Virtual machine to relocate. The parameter must be an identifier for the resource type: VirtualMachine. .PARAMETER VMRelocateSpec No description available. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS None .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/vmactionrelocate/post/ #> function Invoke-RelocateVm { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Low', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/vmactionrelocate/post/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [ValidateScript({ $_ -is [string] })] ${Vm}, [Parameter(Mandatory = $true)] [PSTypeName("VMRelocateSpec")] [PSCustomObject] ${VMRelocateSpec}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-RelocateVm' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') # HTTP header 'Content-Type' $LocalVarContentTypes = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'RelocateVm' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/vm/{vm}__action=relocate' $LocalVarMethod = 'POST' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if (!$Vm) { throw "Error! The required parameter `Vm` missing when calling relocateVm." } $LocalVarUri = $LocalVarUri.replace('{vm}', $Vm) $LocalVarPathParameters['vm'] = $Vm if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if (!$VMRelocateSpec) { throw "Error! The required parameter `VMRelocateSpec` missing when calling relocateVm." } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ( $VMRelocateSpec -is [PSCustomObject]) { $addTransformationInput = Format-Body -OperationTranslateSchema $translationSchema -Body ([ref]$VMRelocateSpec) Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } $tranlatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMRelocateSpec -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMRelocateSpec -InputType Query if ($null -ne $translatedQuery) { $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } $VMRelocateSpec = $tranlatedBody if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { if ($null -ne $VMRelocateSpec) { foreach ($keyValue in $transformedOpertaionInput.Body.GetEnumerator()) { $VMRelocateSpec | Add-Member -MemberType NoteProperty -Name $keyValue.Key -Value $keyValue.Value } } else { $VMRelocateSpec = [PSCustomObject]$($transformedOpertaionInput.Body) } } } if ($null -ne $VMRelocateSpec) { $LocalVarBodyParameter = $VMRelocateSpec | ConvertTo-Json -Depth 100 } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Relocates a virtual machine based on the specification. The parts of the virtual machine that can move are: FOLDER, RESOURCE_POOL, HOST, CLUSTER and DATASTORE of home of the virtual machine and disks. if you do not have all of the privileges described as follows: - The resource VirtualMachine referenced by the parameter vm requires Resource.ColdMigrate. - The resource ResourcePool referenced by the attribute VM.RelocatePlacementSpec.resource-pool requires Resource.AssignVMToPool. .DESCRIPTION No description available. .PARAMETER Vm Existing Virtual machine to relocate. The parameter must be an identifier for the resource type: VirtualMachine. .PARAMETER VMRelocateSpec No description available. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS String .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/vmactionrelocatevmw-tasktrue/post/ #> function Invoke-RelocateVmAsync { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Low', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/vmactionrelocatevmw-tasktrue/post/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [ValidateScript({ $_ -is [string] })] ${Vm}, [Parameter(Mandatory = $true)] [PSTypeName("VMRelocateSpec")] [PSCustomObject] ${VMRelocateSpec}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-RelocateVmAsync' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') # HTTP header 'Content-Type' $LocalVarContentTypes = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'RelocateVmAsync' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/vm/{vm}__action=relocate&vmw-task=true' $LocalVarMethod = 'POST' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if (!$Vm) { throw "Error! The required parameter `Vm` missing when calling relocateVmAsync." } $LocalVarUri = $LocalVarUri.replace('{vm}', $Vm) $LocalVarPathParameters['vm'] = $Vm if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if (!$VMRelocateSpec) { throw "Error! The required parameter `VMRelocateSpec` missing when calling relocateVmAsync." } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ( $VMRelocateSpec -is [PSCustomObject]) { $addTransformationInput = Format-Body -OperationTranslateSchema $translationSchema -Body ([ref]$VMRelocateSpec) Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } $tranlatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMRelocateSpec -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $VMRelocateSpec -InputType Query if ($null -ne $translatedQuery) { $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } $VMRelocateSpec = $tranlatedBody if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { if ($null -ne $VMRelocateSpec) { foreach ($keyValue in $transformedOpertaionInput.Body.GetEnumerator()) { $VMRelocateSpec | Add-Member -MemberType NoteProperty -Name $keyValue.Key -Value $keyValue.Value } } else { $VMRelocateSpec = [PSCustomObject]$($transformedOpertaionInput.Body) } } } if ($null -ne $VMRelocateSpec) { $LocalVarBodyParameter = $VMRelocateSpec | ConvertTo-Json -Depth 100 } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "String" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Removes the virtual machine corresponding to vm from the vCenter inventory without removing any of the virtual machine's files from storage. All high-level information stored with the management server (ESXi or vCenter) is removed, including information such as statistics, resource pool association, permissions, and alarms. if you do not have all of the privileges described as follows: - The resource VirtualMachine referenced by the parameter vm requires VirtualMachine.Inventory.Unregister. .DESCRIPTION No description available. .PARAMETER Vm Identifier of the virtual machine to be unregistered. The parameter must be an identifier for the resource type: VirtualMachine. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS None .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/vmactionunregister/post/ #> function Invoke-UnregisterVm { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Low', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/vm/vmactionunregister/post/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [ValidateScript({ $_ -is [string] })] ${Vm}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-UnregisterVm' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'UnregisterVm' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/vm/{vm}__action=unregister' $LocalVarMethod = 'POST' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if (!$Vm) { throw "Error! The required parameter `Vm` missing when calling unregisterVm." } $LocalVarUri = $LocalVarUri.replace('{vm}', $Vm) $LocalVarPathParameters['vm'] = $Vm if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { $LocalVarBodyParameter = $transformedOpertaionInput.Body | ConvertTo-Json -Depth 100 } } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } # SIG # Begin signature block # MIIphwYJKoZIhvcNAQcCoIIpeDCCKXQCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCC135ax/GVS91Hr # sq3b4Gz+EzkJHhYvYy0G9BP8n+3ySqCCDnQwggawMIIEmKADAgECAhAIrUCyYNKc # TJ9ezam9k67ZMA0GCSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK # EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV # BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0z # NjA0MjgyMzU5NTlaMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg # SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg # UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw # ggIKAoICAQDVtC9C0CiteLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0 # JAfhS0/TeEP0F9ce2vnS1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJr # Q5qZ8sU7H/Lvy0daE6ZMswEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhF # LqGfLOEYwhrMxe6TSXBCMo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+F # LEikVoQ11vkunKoAFdE3/hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh # 3K3kGKDYwSNHR7OhD26jq22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJ # wZPt4bRc4G/rJvmM1bL5OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQay # g9Rc9hUZTO1i4F4z8ujo7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbI # YViY9XwCFjyDKK05huzUtw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchAp # QfDVxW0mdmgRQRNYmtwmKwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRro # OBl8ZhzNeDhFMJlP/2NPTLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IB # WTCCAVUwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+ # YXsIiGX0TkIwHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0P # AQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAk # BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAC # hjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9v # dEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5j # b20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAED # MAgGBmeBDAEEATANBgkqhkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql # +Eg08yy25nRm95RysQDKr2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFF # UP2cvbaF4HZ+N3HLIvdaqpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1h # mYFW9snjdufE5BtfQ/g+lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3Ryw # YFzzDaju4ImhvTnhOE7abrs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5Ubdld # AhQfQDN8A+KVssIhdXNSy0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw # 8MzK7/0pNVwfiThV9zeKiwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnP # LqR0kq3bPKSchh/jwVYbKyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatE # QOON8BUozu3xGFYHKi8QxAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bn # KD+sEq6lLyJsQfmCXBVmzGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQji # WQ1tygVQK+pKHJ6l/aCnHwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbq # yK+p/pQd52MbOoZWeE4wgge8MIIFpKADAgECAhAGQAJb/wxIlzKZ1GMgg8N7MA0G # CSqGSIb3DQEBCwUAMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg # SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg # UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwHhcNMjQwMzI4MDAwMDAwWhcNMjcwMzMw # MjM1OTU5WjCBxDETMBEGCysGAQQBgjc8AgEDEwJVUzEZMBcGCysGAQQBgjc8AgEC # EwhEZWxhd2FyZTEdMBsGA1UEDwwUUHJpdmF0ZSBPcmdhbml6YXRpb24xEDAOBgNV # BAUTBzY2MTAxMTcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMREw # DwYDVQQHEwhTYW4gSm9zZTEVMBMGA1UEChMMQnJvYWRjb20gSW5jMRUwEwYDVQQD # EwxCcm9hZGNvbSBJbmMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC6 # 8C+jJxKfxp9c1A6fghwSNjnvV+Y1my2XmTHEPmk7COFTWw1VRBZBtv/zUXrSStlW # 9Qqqp48wk+H+H5oM0qL9jsUQ6wAJpmjt33F3xvKqc8ehzVZLXUEACQBXTo30Hnbh # bcacKAyX9sGByGqKlR6cHHrEebSWMoxOO6TOgYg06xfeYzxpx8HqMQjOKgNEbh4c # m1Yx+ER/4BmWmYcvVHR9KtXwJWxmzUJCaS5OB9lp8JqO5+uAHvpGtQEAb39/h/vy # 290isCYw16/uaLOz5Epchv5fogTBTh4o6SXWHam03FfMNVbmbMVuciTzfPSDt0i5 # xQWYtVkwVU+NGE4XUutX4zbaing53QYKNAa+NW9FiWcaoEwE1qTvk7ilsucPzdqC # ikQpHyaaGCzHoDhveSLiJKgKRiDqee8KXfa/hkCoat9AtCihyd899kJ1kSlTO9fk # ci5/CdKwmwXQIKh6OPueKr+OJ69XPx0V+RaaMAkkVtFb7/VwecFmFgsXFkAK8ulP # aGYyIFOFqLMqH8ZuKiLVP5HkxDgSitJcWbaSf89TJuxNqh0vV1k4iwaQpcmQZhPK # 49pNlj5j0cyw8B+xTYNDwnKvyoWgqKAb2cfzc6pCLk2GJLBwakKZ5YKC50XdhPlS # yrqlLTb5otZRoYWFGKL1SqxxrBjRqg4qp1RvuxRcBQIDAQABo4ICAjCCAf4wHwYD # VR0jBBgwFoAUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHQYDVR0OBBYEFL9ZTMS/Phgv # GnXZm3XOrmDoJSIfMD0GA1UdIAQ2MDQwMgYFZ4EMAQMwKTAnBggrBgEFBQcCARYb # aHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BTMA4GA1UdDwEB/wQEAwIHgDATBgNV # HSUEDDAKBggrBgEFBQcDAzCBtQYDVR0fBIGtMIGqMFOgUaBPhk1odHRwOi8vY3Js # My5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQw # OTZTSEEzODQyMDIxQ0ExLmNybDBToFGgT4ZNaHR0cDovL2NybDQuZGlnaWNlcnQu # Y29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAy # MUNBMS5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMCQGCCsGAQUFBzABhhhodHRwOi8v # b2NzcC5kaWdpY2VydC5jb20wXAYIKwYBBQUHMAKGUGh0dHA6Ly9jYWNlcnRzLmRp # Z2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5NlNI # QTM4NDIwMjFDQTEuY3J0MAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggIBAMLk # M/5BZB1j2xjjR9IkyDYtLrqS9IztErzl4ogf2dXuAgBJP1EKm/EN4oOi/BHxLW0T # VuclGZ3aEa3/n3UlHxqmvKm+4elD5oh4sEOm7+J7ECV0HobeZhRiLmdyla1Mqbxw # xp56AVvhG/++nf+AVzw95c671a3kb+6VXMDzZK1qcUh6zyLklZ/vfjKipry9KgMR # sXd81I+PRr+99iRI+5pUsF7ixmS4vTldNh2r/VRFKLtXtTefZ20Q55Efu/8NefJf # fD/+LLmHszB3LRlguFYOUGon7q8eQKi20PMW6PQb8az4mn6MfA1Y2x+L7HFDiy// # VMOy5DqcKOHWqz/NZr7/VEPtywoLbHlUwNJyFY0wnQhzvPCg67YpDEYERDnggtpe # OchKlJoqLKQInq6xDLTtco+ynR6IHnWRcz+oYhm6TdvRcmP7giiqObKEFXQwLsjS # HsqRluk2FQ4DhG63+8gyD4rKQVoybP0obE7Gi2RYHOT0qwPos6GklZraht/capa7 # wos1gNKXJL7G6BaCXQWCyakT76ZOJOdHzHjJ2n+yBgKWWGBv186nrP5nfuRu0vJE # HG74cy5oRwe3vme6ztPQy9VSgSrP+g67bZ6yPe+z09T7NczW4aXrXbMUdTb02zKQ # sK8WEKfcvzBmZ115SwMuf3g34C5yRhOsWInfosmAMYIaaTCCGmUCAQEwfTBpMQsw # CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERp # Z2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0IDIw # MjEgQ0ExAhAGQAJb/wxIlzKZ1GMgg8N7MA0GCWCGSAFlAwQCAQUAoHwwEAYKKwYB # BAGCNwIBDDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGC # NwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIE3PZMyXuqNuBEpM # dYU84RxKZvEDEX3o4bn8cS7ZYhOiMA0GCSqGSIb3DQEBAQUABIICALGTzIZAi1sP # JpU5bBCV8AtVro5J7IK6evwwV1cPHLnurnjuVnyalzJDMuCvvdmPCz6tSpAg9nJm # Sq+yQtYaUebbFWOnoHLA+QmwnUjagM+BkLiRM+M6pywgLt63LhFMBJwisSuZvrWD # POxzgI8rN42FDl1kVYNjpWT2Ud0Lex/WfiuhZYst24zCaANsl4lc8pFV6adn3eAB # i+XOkz1JfoTzNYe3UqEbYFZOeWZKqx00L1yhjxzn1+ShVXLm0Oi21DNR9pkmXpUF # leO16BL1Mt2NuqGk1e+RmIRi6kZps+DZuAEhASSp7QSXA5M/qy1hvgTpghHuHg7Z # DE4IgCM91g2vrsAzhGzWa7u7AUWgykC3iXOMyPooZPzeYE4pRkwQ6km1gbjyDjsa # 5V+aDGoVg4uorOB5sQcS9Dc8b1wZGPl8gM/GNB8bjyvDoR/vk9rXs/6PTHmT6Mgu # TjTJ9RxPKcbiVC63MKGGdB9tigOXzk9EUv3QVAeIRPhmdBwLQNaxBBWC8z528qP/ # kQI+DT1gFZh6rpgTf5l5INnSFeW7pwQaqRGsexMASP5p36GKw5e5aW/cAgJvKQF/ # mM+SKtgRZA9I9Ot4ZZSHIaJHis9IAIC0Nz+hoJdh7cUNhj9uN8MXQ9H/+2OuJPtY # uufBdCMQ1hiIh9BWUyd7dwFT9LOlS2PqoYIXPzCCFzsGCisGAQQBgjcDAwExghcr # MIIXJwYJKoZIhvcNAQcCoIIXGDCCFxQCAQMxDzANBglghkgBZQMEAgEFADB3Bgsq # hkiG9w0BCRABBKBoBGYwZAIBAQYJYIZIAYb9bAcBMDEwDQYJYIZIAWUDBAIBBQAE # IJP33nUPfFCV9McADakZW1Ry9/bqOjeV2jOYMTea424oAhBVMXJEdb5s8eaF1Kd8 # Ta4PGA8yMDI0MDcyNDE5MzkxMFqgghMJMIIGwjCCBKqgAwIBAgIQBUSv85SdCDmm # v9s/X+VhFjANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO # RGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNB # NDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBMB4XDTIzMDcxNDAwMDAwMFoXDTM0 # MTAxMzIzNTk1OVowSDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ # bmMuMSAwHgYDVQQDExdEaWdpQ2VydCBUaW1lc3RhbXAgMjAyMzCCAiIwDQYJKoZI # hvcNAQEBBQADggIPADCCAgoCggIBAKNTRYcdg45brD5UsyPgz5/X5dLnXaEOCdwv # SKOXejsqnGfcYhVYwamTEafNqrJq3RApih5iY2nTWJw1cb86l+uUUI8cIOrHmjsv # lmbjaedp/lvD1isgHMGXlLSlUIHyz8sHpjBoyoNC2vx/CSSUpIIa2mq62DvKXd4Z # GIX7ReoNYWyd/nFexAaaPPDFLnkPG2ZS48jWPl/aQ9OE9dDH9kgtXkV1lnX+3RCh # G4PBuOZSlbVH13gpOWvgeFmX40QrStWVzu8IF+qCZE3/I+PKhu60pCFkcOvV5aDa # Y7Mu6QXuqvYk9R28mxyyt1/f8O52fTGZZUdVnUokL6wrl76f5P17cz4y7lI0+9S7 # 69SgLDSb495uZBkHNwGRDxy1Uc2qTGaDiGhiu7xBG3gZbeTZD+BYQfvYsSzhUa+0 # rRUGFOpiCBPTaR58ZE2dD9/O0V6MqqtQFcmzyrzXxDtoRKOlO0L9c33u3Qr/eTQQ # fqZcClhMAD6FaXXHg2TWdc2PEnZWpST618RrIbroHzSYLzrqawGw9/sqhux7Ujip # mAmhcbJsca8+uG+W1eEQE/5hRwqM/vC2x9XH3mwk8L9CgsqgcT2ckpMEtGlwJw1P # t7U20clfCKRwo+wK8REuZODLIivK8SgTIUlRfgZm0zu++uuRONhRB8qUt+JQofM6 # 04qDy0B7AgMBAAGjggGLMIIBhzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIw # ADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAgBgNVHSAEGTAXMAgGBmeBDAEEAjAL # BglghkgBhv1sBwEwHwYDVR0jBBgwFoAUuhbZbU2FL3MpdpovdYxqII+eyG8wHQYD # VR0OBBYEFKW27xPn783QZKHVVqllMaPe1eNJMFoGA1UdHwRTMFEwT6BNoEuGSWh0 # dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFJTQTQwOTZT # SEEyNTZUaW1lU3RhbXBpbmdDQS5jcmwwgZAGCCsGAQUFBwEBBIGDMIGAMCQGCCsG # AQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wWAYIKwYBBQUHMAKGTGh0 # dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFJTQTQw # OTZTSEEyNTZUaW1lU3RhbXBpbmdDQS5jcnQwDQYJKoZIhvcNAQELBQADggIBAIEa # 1t6gqbWYF7xwjU+KPGic2CX/yyzkzepdIpLsjCICqbjPgKjZ5+PF7SaCinEvGN1O # tt5s1+FgnCvt7T1IjrhrunxdvcJhN2hJd6PrkKoS1yeF844ektrCQDifXcigLiV4 # JZ0qBXqEKZi2V3mP2yZWK7Dzp703DNiYdk9WuVLCtp04qYHnbUFcjGnRuSvExnvP # nPp44pMadqJpddNQ5EQSviANnqlE0PjlSXcIWiHFtM+YlRpUurm8wWkZus8W8oM3 # NG6wQSbd3lqXTzON1I13fXVFoaVYJmoDRd7ZULVQjK9WvUzF4UbFKNOt50MAcN7M # mJ4ZiQPq1JE3701S88lgIcRWR+3aEUuMMsOI5ljitts++V+wQtaP4xeR0arAVeOG # v6wnLEHQmjNKqDbUuXKWfpd5OEhfysLcPTLfddY2Z1qJ+Panx+VPNTwAvb6cKmx5 # AdzaROY63jg7B145WPR8czFVoIARyxQMfq68/qTreWWqaNYiyjvrmoI1VygWy2ny # Mpqy0tg6uLFGhmu6F/3Ed2wVbK6rr3M66ElGt9V/zLY4wNjsHPW2obhDLN9OTH0e # aHDAdwrUAuBcYLso/zjlUlrWrBciI0707NMX+1Br/wd3H3GXREHJuEbTbDJ8WC9n # R2XlG3O2mflrLAZG70Ee8PBf4NvZrZCARK+AEEGKMIIGrjCCBJagAwIBAgIQBzY3 # tyRUfNhHrP0oZipeWzANBgkqhkiG9w0BAQsFADBiMQswCQYDVQQGEwJVUzEVMBMG # A1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw # HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMjIwMzIzMDAwMDAw # WhcNMzcwMzIyMjM1OTU5WjBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNl # cnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNBNDA5NiBT # SEEyNTYgVGltZVN0YW1waW5nIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC # CgKCAgEAxoY1BkmzwT1ySVFVxyUDxPKRN6mXUaHW0oPRnkyibaCwzIP5WvYRoUQV # Ql+kiPNo+n3znIkLf50fng8zH1ATCyZzlm34V6gCff1DtITaEfFzsbPuK4CEiiIY # 3+vaPcQXf6sZKz5C3GeO6lE98NZW1OcoLevTsbV15x8GZY2UKdPZ7Gnf2ZCHRgB7 # 20RBidx8ald68Dd5n12sy+iEZLRS8nZH92GDGd1ftFQLIWhuNyG7QKxfst5Kfc71 # ORJn7w6lY2zkpsUdzTYNXNXmG6jBZHRAp8ByxbpOH7G1WE15/tePc5OsLDnipUjW # 8LAxE6lXKZYnLvWHpo9OdhVVJnCYJn+gGkcgQ+NDY4B7dW4nJZCYOjgRs/b2nuY7 # W+yB3iIU2YIqx5K/oN7jPqJz+ucfWmyU8lKVEStYdEAoq3NDzt9KoRxrOMUp88qq # lnNCaJ+2RrOdOqPVA+C/8KI8ykLcGEh/FDTP0kyr75s9/g64ZCr6dSgkQe1CvwWc # ZklSUPRR8zZJTYsg0ixXNXkrqPNFYLwjjVj33GHek/45wPmyMKVM1+mYSlg+0wOI # /rOP015LdhJRk8mMDDtbiiKowSYI+RQQEgN9XyO7ZONj4KbhPvbCdLI/Hgl27Ktd # RnXiYKNYCQEoAA6EVO7O6V3IXjASvUaetdN2udIOa5kM0jO0zbECAwEAAaOCAV0w # ggFZMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLoW2W1NhS9zKXaaL3WM # aiCPnshvMB8GA1UdIwQYMBaAFOzX44LScV1kTN8uZz/nupiuHA9PMA4GA1UdDwEB # /wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDCDB3BggrBgEFBQcBAQRrMGkwJAYI # KwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBBBggrBgEFBQcwAoY1 # aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RH # NC5jcnQwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybDMuZGlnaWNlcnQuY29t # L0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcmwwIAYDVR0gBBkwFzAIBgZngQwBBAIw # CwYJYIZIAYb9bAcBMA0GCSqGSIb3DQEBCwUAA4ICAQB9WY7Ak7ZvmKlEIgF+ZtbY # IULhsBguEE0TzzBTzr8Y+8dQXeJLKftwig2qKWn8acHPHQfpPmDI2AvlXFvXbYf6 # hCAlNDFnzbYSlm/EUExiHQwIgqgWvalWzxVzjQEiJc6VaT9Hd/tydBTX/6tPiix6 # q4XNQ1/tYLaqT5Fmniye4Iqs5f2MvGQmh2ySvZ180HAKfO+ovHVPulr3qRCyXen/ # KFSJ8NWKcXZl2szwcqMj+sAngkSumScbqyQeJsG33irr9p6xeZmBo1aGqwpFyd/E # jaDnmPv7pp1yr8THwcFqcdnGE4AJxLafzYeHJLtPo0m5d2aR8XKc6UsCUqc3fpNT # rDsdCEkPlM05et3/JWOZJyw9P2un8WbDQc1PtkCbISFA0LcTJM3cHXg65J6t5TRx # ktcma+Q4c6umAU+9Pzt4rUyt+8SVe+0KXzM5h0F4ejjpnOHdI/0dKNPH+ejxmF/7 # K9h+8kaddSweJywm228Vex4Ziza4k9Tm8heZWcpw8De/mADfIBZPJ/tgZxahZrrd # VcA6KYawmKAr7ZVBtzrVFZgxtGIJDwq9gdkT/r+k0fNX2bwE+oLeMt8EifAAzV3C # +dAjfwAL5HYCJtnwZXZCpimHCUcr5n8apIUP/JiW9lVUKx+A+sDyDivl1vupL0QV # SucTDh3bNzgaoSv27dZ8/DCCBY0wggR1oAMCAQICEA6bGI750C3n79tQ4ghAGFow # DQYJKoZIhvcNAQEMBQAwZTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0 # IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEkMCIGA1UEAxMbRGlnaUNl # cnQgQXNzdXJlZCBJRCBSb290IENBMB4XDTIyMDgwMTAwMDAwMFoXDTMxMTEwOTIz # NTk1OVowYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcG # A1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3Rl # ZCBSb290IEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAv+aQc2je # u+RdSjwwIjBpM+zCpyUuySE98orYWcLhKac9WKt2ms2uexuEDcQwH/MbpDgW61bG # l20dq7J58soR0uRf1gU8Ug9SH8aeFaV+vp+pVxZZVXKvaJNwwrK6dZlqczKU0RBE # EC7fgvMHhOZ0O21x4i0MG+4g1ckgHWMpLc7sXk7Ik/ghYZs06wXGXuxbGrzryc/N # rDRAX7F6Zu53yEioZldXn1RYjgwrt0+nMNlW7sp7XeOtyU9e5TXnMcvak17cjo+A # 2raRmECQecN4x7axxLVqGDgDEI3Y1DekLgV9iPWCPhCRcKtVgkEy19sEcypukQF8 # IUzUvK4bA3VdeGbZOjFEmjNAvwjXWkmkwuapoGfdpCe8oU85tRFYF/ckXEaPZPfB # aYh2mHY9WV1CdoeJl2l6SPDgohIbZpp0yt5LHucOY67m1O+SkjqePdwA5EUlibaa # RBkrfsCUtNJhbesz2cXfSwQAzH0clcOP9yGyshG3u3/y1YxwLEFgqrFjGESVGnZi # fvaAsPvoZKYz0YkH4b235kOkGLimdwHhD5QMIR2yVCkliWzlDlJRR3S+Jqy2QXXe # eqxfjT/JvNNBERJb5RBQ6zHFynIWIgnffEx1P2PsIV/EIFFrb7GrhotPwtZFX50g # /KEexcCPorF+CiaZ9eRpL5gdLfXZqbId5RsCAwEAAaOCATowggE2MA8GA1UdEwEB # /wQFMAMBAf8wHQYDVR0OBBYEFOzX44LScV1kTN8uZz/nupiuHA9PMB8GA1UdIwQY # MBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgPMA4GA1UdDwEB/wQEAwIBhjB5BggrBgEF # BQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBD # BggrBgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0 # QXNzdXJlZElEUm9vdENBLmNydDBFBgNVHR8EPjA8MDqgOKA2hjRodHRwOi8vY3Js # My5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3JsMBEGA1Ud # IAQKMAgwBgYEVR0gADANBgkqhkiG9w0BAQwFAAOCAQEAcKC/Q1xV5zhfoKN0Gz22 # Ftf3v1cHvZqsoYcs7IVeqRq7IviHGmlUIu2kiHdtvRoU9BNKei8ttzjv9P+Aufih # 9/Jy3iS8UgPITtAq3votVs/59PesMHqai7Je1M/RQ0SbQyHrlnKhSLSZy51PpwYD # E3cnRNTnf+hZqPC/Lwum6fI0POz3A8eHqNJMQBk1RmppVLC4oVaO7KTVPeix3P0c # 2PR3WlxUjG/voVA9/HYJaISfb8rbII01YBwCA8sgsKxYoA5AY8WYIsGyWfVVa88n # q2x2zm8jLfR+cWojayL/ErhULSd+2DrZ8LaHlv1b0VysGMNNn3O3AamfV6peKOK5 # lDGCA3YwggNyAgEBMHcwYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0 # LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0IFJTQTQwOTYgU0hB # MjU2IFRpbWVTdGFtcGluZyBDQQIQBUSv85SdCDmmv9s/X+VhFjANBglghkgBZQME # AgEFAKCB0TAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkF # MQ8XDTI0MDcyNDE5MzkxMFowKwYLKoZIhvcNAQkQAgwxHDAaMBgwFgQUZvArMsLC # yQ+CXc6qisnGTxmcz0AwLwYJKoZIhvcNAQkEMSIEIOUsfSqnYCIf+GiCBNlTWXIV # d5Xe/qZrORHgup0MyNXqMDcGCyqGSIb3DQEJEAIvMSgwJjAkMCIEINL25G3tdCLM # 0dRAV2hBNm+CitpVmq4zFq9NGprUDHgoMA0GCSqGSIb3DQEBAQUABIICACubzp4q # /lc/ahHsFy7XyXHDerLniEXmkgfR3kXxS3x8evurjXn7hut9I9J0pk1qZnYuAxsV # 9GBaL7Eaa8HjYJmx/I6TFKTPZGuDmVIibVpOH8CLZ4vKxrxRdcJ4b/W1/qOAEXn4 # KOeEYwLGNS7pe+5Lysk4V6kQiKXA7rdxq/rmwmWiMf4h+PzMUDA/pfxO6Aveyw5D # S+RwBWrz7SZgiY+HHyYPiVJxgeJoUziPx/9ZJq4QJ1XKq8ahldy3TXj0HjIdmhdx # 8QVhXhPlZ51/NIpWFZR9yFWiFmFlsg8WiqVCFPOGrTefHZm6XZnBiS/jxtQX3X5T # CEL9heEGewiQyprhkLj2faDvge0Dd23MjWirUMGfKRswQl0opx6lumWomoD3hgJT # m/7UUVf4QYuuVEfuiEI0mR6XZqoLY/T1zorW59ilydECh7ajAv26IEXlNbiaVoRm # tMw9201cN8zVpyxF+rJodcaqhs3t/x+HAl8DLMsvYD1N/zc45pZXv0pGR1ye7NST # 8/4pkpgnQfGTo47Ib3wmlRYl1IsziT8sR/9w6u8rOV/8LDEsgM27mmSli3WtC72S # 2ltoT6Poz6W2uVQAG8v6rnPbeIhKl/TK0nS7epYc183kBvi5kJwBNRPN2zjNrKMq # zS867zksnjKRgn5yf8C8aMXOiHXe73nIh4OC # SIG # End signature block |