mirror of
https://github.com/tigpas/NetboxPS.git
synced 2026-03-21 21:45:33 +00:00
Merge branch 'add-virtualdevicecontext'
This commit is contained in:
commit
77789f756b
7 changed files with 388 additions and 54 deletions
|
|
@ -0,0 +1,36 @@
|
|||
function Add-NetboxDCIMVirtualDeviceContext {
|
||||
[CmdletBinding()]
|
||||
[OutputType([pscustomobject])]
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[uint64]$Device,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$Name,
|
||||
|
||||
[object]$Status = 'active',
|
||||
|
||||
[uint16]$Identifier,
|
||||
|
||||
[uint64]$Primary_IP4,
|
||||
|
||||
[uint64]$Primary_IP6,
|
||||
|
||||
[uint64]$Tenant,
|
||||
|
||||
[string]$Comments
|
||||
)
|
||||
|
||||
if (-not $PSBoundParameters.ContainsKey('Status')) {
|
||||
$PSBoundParameters['Status'] = $Status
|
||||
}
|
||||
|
||||
$Segments = [System.Collections.ArrayList]::new(@('dcim', 'virtual-device-contexts'))
|
||||
|
||||
$URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters
|
||||
|
||||
$URI = BuildNewURI -Segments $URIComponents.Segments
|
||||
|
||||
InvokeNetboxRequest -URI $URI -Body $URIComponents.Parameters -Method POST
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
function Get-NetboxDCIMVirtualDeviceContext {
|
||||
[CmdletBinding()]
|
||||
[OutputType([pscustomobject])]
|
||||
param
|
||||
(
|
||||
[Parameter(ValueFromPipelineByPropertyName = $true)]
|
||||
[uint64]$Id,
|
||||
|
||||
[string]$Name,
|
||||
|
||||
[object]$Status,
|
||||
|
||||
[uint16]$Identifier,
|
||||
|
||||
[string]$Device,
|
||||
|
||||
[uint64]$Device_Id,
|
||||
|
||||
[uint64]$Tenant_Id,
|
||||
|
||||
[string]$Tenant,
|
||||
|
||||
[uint16]$Limit,
|
||||
|
||||
[uint16]$Offset,
|
||||
|
||||
[switch]$Raw
|
||||
)
|
||||
|
||||
process {
|
||||
$Segments = [System.Collections.ArrayList]::new(@('dcim', 'virtual-device-contexts'))
|
||||
|
||||
$URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters
|
||||
|
||||
$URI = BuildNewURI -Segments $URIComponents.Segments -Parameters $URIComponents.Parameters
|
||||
|
||||
InvokeNetboxRequest -URI $URI -Raw:$Raw
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
function Remove-NetboxDCIMVirtualDeviceContext {
|
||||
[CmdletBinding(ConfirmImpact = 'High',
|
||||
SupportsShouldProcess = $true)]
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $true,
|
||||
ValueFromPipelineByPropertyName = $true)]
|
||||
[uint64[]]$Id,
|
||||
|
||||
[switch]$Force
|
||||
)
|
||||
|
||||
begin {
|
||||
|
||||
}
|
||||
|
||||
process {
|
||||
foreach ($VirtualDeviceContextId in $Id) {
|
||||
$CurrentVirtualDeviceContext = Get-NetboxDCIMVirtualDeviceContext -Id $VirtualDeviceContextId -ErrorAction Stop
|
||||
|
||||
if ($Force -or $pscmdlet.ShouldProcess("Name: $($CurrentVirtualDeviceContext.Name) | ID: $($CurrentVirtualDeviceContext.Id)", "Remove")) {
|
||||
$Segments = [System.Collections.ArrayList]::new(@('dcim', 'virtual-device-contexts', $CurrentVirtualDeviceContext.Id))
|
||||
|
||||
$URI = BuildNewURI -Segments $Segments
|
||||
|
||||
InvokeNetboxRequest -URI $URI -Method DELETE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
function Set-NetboxDCIMVirtualDeviceContext {
|
||||
[CmdletBinding(ConfirmImpact = 'Medium',
|
||||
SupportsShouldProcess = $true)]
|
||||
[OutputType([pscustomobject])]
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $true,
|
||||
ValueFromPipelineByPropertyName = $true)]
|
||||
[uint64[]]$Id,
|
||||
|
||||
[string]$Name,
|
||||
|
||||
[object]$Status,
|
||||
|
||||
[uint16]$Identifier,
|
||||
|
||||
[uint64]$Device,
|
||||
|
||||
[uint64]$Primary_IP4,
|
||||
|
||||
[uint64]$Primary_IP6,
|
||||
|
||||
[uint64]$Tenant,
|
||||
|
||||
[string]$Comments,
|
||||
|
||||
[switch]$Force
|
||||
)
|
||||
|
||||
process {
|
||||
foreach ($VirtualDeviceContextId in $Id) {
|
||||
$CurrentVirtualDeviceContext = Get-NetboxDCIMVirtualDeviceContext -Id $VirtualDeviceContextId -ErrorAction Stop
|
||||
|
||||
$Segments = [System.Collections.ArrayList]::new(@('dcim', 'virtual-device-contexts', $CurrentVirtualDeviceContext.Id))
|
||||
|
||||
$URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters -SkipParameterByName 'Id'
|
||||
|
||||
$URI = BuildNewURI -Segments $Segments
|
||||
|
||||
if ($Force -or $pscmdlet.ShouldProcess("Virtual Device Context ID $($CurrentVirtualDeviceContext.Id)", "Set")) {
|
||||
InvokeNetboxRequest -URI $URI -Body $URIComponents.Parameters -Method PATCH
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# Generated by: Ben Claussen
|
||||
#
|
||||
# Generated on: 10/5/2024
|
||||
# Generated on: 10/6/2024
|
||||
#
|
||||
|
||||
@{
|
||||
|
|
@ -71,9 +71,9 @@ CLRVersion = '2.0.50727'
|
|||
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
|
||||
FunctionsToExport = 'Add-NetboxDCIMFrontPort', 'Add-NetboxDCIMInterface',
|
||||
'Add-NetboxDCIMInterfaceConnection', 'Add-NetboxDCIMPlatform',
|
||||
'Add-NetboxDCIMRearPort', 'Add-NetboxVirtualMachinedisk',
|
||||
'Add-NetboxVirtualMachineInterface', 'BuildNewURI',
|
||||
'BuildURIComponents', 'CheckNetboxIsConnected',
|
||||
'Add-NetboxDCIMRearPort', 'Add-NetboxDCIMVirtualDeviceContext',
|
||||
'Add-NetboxVirtualMachinedisk', 'Add-NetboxVirtualMachineInterface',
|
||||
'BuildNewURI', 'BuildURIComponents', 'CheckNetboxIsConnected',
|
||||
'Clear-NetboxCredential', 'Connect-NetboxAPI', 'CreateEnum',
|
||||
'Get-ModelDefinition', 'Get-NetboxAPIDefinition',
|
||||
'GetNetboxAPIErrorBody', 'Get-NetboxCircuit',
|
||||
|
|
@ -86,14 +86,15 @@ FunctionsToExport = 'Add-NetboxDCIMFrontPort', 'Add-NetboxDCIMInterface',
|
|||
'Get-NetboxDCIMDeviceType', 'Get-NetboxDCIMFrontPort',
|
||||
'Get-NetboxDCIMInterface', 'Get-NetboxDCIMInterfaceConnection',
|
||||
'Get-NetboxDCIMPlatform', 'Get-NetboxDCIMRearPort',
|
||||
'Get-NetboxDCIMSite', 'Get-NetboxHostname', 'Get-NetboxHostPort',
|
||||
'Get-NetboxHostScheme', 'Get-NetboxInvokeParams',
|
||||
'Get-NetboxIPAMAddress', 'Get-NetboxIPAMAddressRange',
|
||||
'Get-NetboxIPAMAggregate', 'Get-NetboxIPAMAvailableIP',
|
||||
'Get-NetboxIPAMPrefix', 'Get-NetboxIPAMRole', 'Get-NetboxIPAMVLAN',
|
||||
'Get-NetboxIPAMVRF', 'Get-NetboxObjectType', 'Get-NetboxSlug',
|
||||
'Get-NetboxTag', 'Get-NetboxTenant', 'Get-NetboxTimeout',
|
||||
'Get-NetboxVersion', 'Get-NetboxVirtualizationCluster',
|
||||
'Get-NetboxDCIMSite', 'Get-NetboxDCIMVirtualDeviceContext',
|
||||
'Get-NetboxHostname', 'Get-NetboxHostPort', 'Get-NetboxHostScheme',
|
||||
'Get-NetboxInvokeParams', 'Get-NetboxIPAMAddress',
|
||||
'Get-NetboxIPAMAddressRange', 'Get-NetboxIPAMAggregate',
|
||||
'Get-NetboxIPAMAvailableIP', 'Get-NetboxIPAMPrefix',
|
||||
'Get-NetboxIPAMRole', 'Get-NetboxIPAMVLAN', 'Get-NetboxIPAMVRF',
|
||||
'Get-NetboxObjectType', 'Get-NetboxSlug', 'Get-NetboxTag',
|
||||
'Get-NetboxTenant', 'Get-NetboxTimeout', 'Get-NetboxVersion',
|
||||
'Get-NetboxVirtualizationCluster',
|
||||
'Get-NetboxVirtualizationClusterGroup', 'Get-NetboxVirtualMachine',
|
||||
'Get-NetboxVirtualMachinedisk', 'Get-NetboxVirtualMachineInterface',
|
||||
'InvokeNetboxRequest', 'New-NetboxCircuit', 'New-NetboxContact',
|
||||
|
|
@ -105,21 +106,23 @@ FunctionsToExport = 'Add-NetboxDCIMFrontPort', 'Add-NetboxDCIMInterface',
|
|||
'Remove-NetboxDCIMFrontPort', 'Remove-NetboxDCIMInterface',
|
||||
'Remove-NetboxDCIMInterfaceConnection', 'Remove-NetboxDCIMPlatform',
|
||||
'Remove-NetboxDCIMRearPort', 'Remove-NetboxDCIMSite',
|
||||
'Remove-NetboxIPAMAddress', 'Remove-NetboxIPAMAddressRange',
|
||||
'Remove-NetboxVirtualMachine', 'Remove-NetboxVirtualMachinedisk',
|
||||
'Set-NetboxCipherSSL', 'Set-NetboxContact',
|
||||
'Set-NetboxContactAssignment', 'Set-NetboxContactRole',
|
||||
'Set-NetboxCredential', 'Set-NetboxDCIMDevice',
|
||||
'Set-NetboxDCIMFrontPort', 'Set-NetboxDCIMInterface',
|
||||
'Set-NetboxDCIMInterfaceConnection', 'Set-NetboxDCIMPlatform',
|
||||
'Set-NetboxDCIMRearPort', 'Set-NetboxHostName', 'Set-NetboxHostPort',
|
||||
'Set-NetboxHostScheme', 'Set-NetboxInvokeParams',
|
||||
'Set-NetboxIPAMAddress', 'Set-NetboxIPAMAddressRange',
|
||||
'Set-NetboxIPAMPrefix', 'Set-NetboxTimeout',
|
||||
'Set-NetboxUnstrustedSSL', 'Set-NetboxVirtualMachine',
|
||||
'Set-NetboxVirtualMachinedisk', 'Set-NetboxVirtualMachineInterface',
|
||||
'SetupNetboxConfigVariable', 'Test-NetboxAPIConnected',
|
||||
'ThrowNetboxRESTError', 'VerifyAPIConnectivity'
|
||||
'Remove-NetboxDCIMVirtualDeviceContext', 'Remove-NetboxIPAMAddress',
|
||||
'Remove-NetboxIPAMAddressRange', 'Remove-NetboxVirtualMachine',
|
||||
'Remove-NetboxVirtualMachinedisk', 'Set-NetboxCipherSSL',
|
||||
'Set-NetboxContact', 'Set-NetboxContactAssignment',
|
||||
'Set-NetboxContactRole', 'Set-NetboxCredential',
|
||||
'Set-NetboxDCIMDevice', 'Set-NetboxDCIMFrontPort',
|
||||
'Set-NetboxDCIMInterface', 'Set-NetboxDCIMInterfaceConnection',
|
||||
'Set-NetboxDCIMPlatform', 'Set-NetboxDCIMRearPort',
|
||||
'Set-NetboxDCIMVirtualDeviceContext', 'Set-NetboxHostName',
|
||||
'Set-NetboxHostPort', 'Set-NetboxHostScheme',
|
||||
'Set-NetboxInvokeParams', 'Set-NetboxIPAMAddress',
|
||||
'Set-NetboxIPAMAddressRange', 'Set-NetboxIPAMPrefix',
|
||||
'Set-NetboxTimeout', 'Set-NetboxUnstrustedSSL',
|
||||
'Set-NetboxVirtualMachine', 'Set-NetboxVirtualMachinedisk',
|
||||
'Set-NetboxVirtualMachineInterface', 'SetupNetboxConfigVariable',
|
||||
'Test-NetboxAPIConnected', 'ThrowNetboxRESTError',
|
||||
'VerifyAPIConnectivity'
|
||||
|
||||
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
|
||||
CmdletsToExport = @()
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# Generated by: Ben Claussen
|
||||
#
|
||||
# Generated on: 10/5/2024
|
||||
# Generated on: 10/6/2024
|
||||
#
|
||||
|
||||
@{
|
||||
|
|
@ -71,9 +71,9 @@ CLRVersion = '2.0.50727'
|
|||
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
|
||||
FunctionsToExport = 'Add-NetboxDCIMFrontPort', 'Add-NetboxDCIMInterface',
|
||||
'Add-NetboxDCIMInterfaceConnection', 'Add-NetboxDCIMPlatform',
|
||||
'Add-NetboxDCIMRearPort', 'Add-NetboxVirtualMachinedisk',
|
||||
'Add-NetboxVirtualMachineInterface', 'BuildNewURI',
|
||||
'BuildURIComponents', 'CheckNetboxIsConnected',
|
||||
'Add-NetboxDCIMRearPort', 'Add-NetboxDCIMVirtualDeviceContext',
|
||||
'Add-NetboxVirtualMachinedisk', 'Add-NetboxVirtualMachineInterface',
|
||||
'BuildNewURI', 'BuildURIComponents', 'CheckNetboxIsConnected',
|
||||
'Clear-NetboxCredential', 'Connect-NetboxAPI', 'CreateEnum',
|
||||
'Get-ModelDefinition', 'Get-NetboxAPIDefinition',
|
||||
'GetNetboxAPIErrorBody', 'Get-NetboxCircuit',
|
||||
|
|
@ -86,14 +86,15 @@ FunctionsToExport = 'Add-NetboxDCIMFrontPort', 'Add-NetboxDCIMInterface',
|
|||
'Get-NetboxDCIMDeviceType', 'Get-NetboxDCIMFrontPort',
|
||||
'Get-NetboxDCIMInterface', 'Get-NetboxDCIMInterfaceConnection',
|
||||
'Get-NetboxDCIMPlatform', 'Get-NetboxDCIMRearPort',
|
||||
'Get-NetboxDCIMSite', 'Get-NetboxHostname', 'Get-NetboxHostPort',
|
||||
'Get-NetboxHostScheme', 'Get-NetboxInvokeParams',
|
||||
'Get-NetboxIPAMAddress', 'Get-NetboxIPAMAddressRange',
|
||||
'Get-NetboxIPAMAggregate', 'Get-NetboxIPAMAvailableIP',
|
||||
'Get-NetboxIPAMPrefix', 'Get-NetboxIPAMRole', 'Get-NetboxIPAMVLAN',
|
||||
'Get-NetboxIPAMVRF', 'Get-NetboxObjectType', 'Get-NetboxSlug',
|
||||
'Get-NetboxTag', 'Get-NetboxTenant', 'Get-NetboxTimeout',
|
||||
'Get-NetboxVersion', 'Get-NetboxVirtualizationCluster',
|
||||
'Get-NetboxDCIMSite', 'Get-NetboxDCIMVirtualDeviceContext',
|
||||
'Get-NetboxHostname', 'Get-NetboxHostPort', 'Get-NetboxHostScheme',
|
||||
'Get-NetboxInvokeParams', 'Get-NetboxIPAMAddress',
|
||||
'Get-NetboxIPAMAddressRange', 'Get-NetboxIPAMAggregate',
|
||||
'Get-NetboxIPAMAvailableIP', 'Get-NetboxIPAMPrefix',
|
||||
'Get-NetboxIPAMRole', 'Get-NetboxIPAMVLAN', 'Get-NetboxIPAMVRF',
|
||||
'Get-NetboxObjectType', 'Get-NetboxSlug', 'Get-NetboxTag',
|
||||
'Get-NetboxTenant', 'Get-NetboxTimeout', 'Get-NetboxVersion',
|
||||
'Get-NetboxVirtualizationCluster',
|
||||
'Get-NetboxVirtualizationClusterGroup', 'Get-NetboxVirtualMachine',
|
||||
'Get-NetboxVirtualMachinedisk', 'Get-NetboxVirtualMachineInterface',
|
||||
'InvokeNetboxRequest', 'New-NetboxCircuit', 'New-NetboxContact',
|
||||
|
|
@ -105,21 +106,23 @@ FunctionsToExport = 'Add-NetboxDCIMFrontPort', 'Add-NetboxDCIMInterface',
|
|||
'Remove-NetboxDCIMFrontPort', 'Remove-NetboxDCIMInterface',
|
||||
'Remove-NetboxDCIMInterfaceConnection', 'Remove-NetboxDCIMPlatform',
|
||||
'Remove-NetboxDCIMRearPort', 'Remove-NetboxDCIMSite',
|
||||
'Remove-NetboxIPAMAddress', 'Remove-NetboxIPAMAddressRange',
|
||||
'Remove-NetboxVirtualMachine', 'Remove-NetboxVirtualMachinedisk',
|
||||
'Set-NetboxCipherSSL', 'Set-NetboxContact',
|
||||
'Set-NetboxContactAssignment', 'Set-NetboxContactRole',
|
||||
'Set-NetboxCredential', 'Set-NetboxDCIMDevice',
|
||||
'Set-NetboxDCIMFrontPort', 'Set-NetboxDCIMInterface',
|
||||
'Set-NetboxDCIMInterfaceConnection', 'Set-NetboxDCIMPlatform',
|
||||
'Set-NetboxDCIMRearPort', 'Set-NetboxHostName', 'Set-NetboxHostPort',
|
||||
'Set-NetboxHostScheme', 'Set-NetboxInvokeParams',
|
||||
'Set-NetboxIPAMAddress', 'Set-NetboxIPAMAddressRange',
|
||||
'Set-NetboxIPAMPrefix', 'Set-NetboxTimeout',
|
||||
'Set-NetboxUnstrustedSSL', 'Set-NetboxVirtualMachine',
|
||||
'Set-NetboxVirtualMachinedisk', 'Set-NetboxVirtualMachineInterface',
|
||||
'SetupNetboxConfigVariable', 'Test-NetboxAPIConnected',
|
||||
'ThrowNetboxRESTError', 'VerifyAPIConnectivity'
|
||||
'Remove-NetboxDCIMVirtualDeviceContext', 'Remove-NetboxIPAMAddress',
|
||||
'Remove-NetboxIPAMAddressRange', 'Remove-NetboxVirtualMachine',
|
||||
'Remove-NetboxVirtualMachinedisk', 'Set-NetboxCipherSSL',
|
||||
'Set-NetboxContact', 'Set-NetboxContactAssignment',
|
||||
'Set-NetboxContactRole', 'Set-NetboxCredential',
|
||||
'Set-NetboxDCIMDevice', 'Set-NetboxDCIMFrontPort',
|
||||
'Set-NetboxDCIMInterface', 'Set-NetboxDCIMInterfaceConnection',
|
||||
'Set-NetboxDCIMPlatform', 'Set-NetboxDCIMRearPort',
|
||||
'Set-NetboxDCIMVirtualDeviceContext', 'Set-NetboxHostName',
|
||||
'Set-NetboxHostPort', 'Set-NetboxHostScheme',
|
||||
'Set-NetboxInvokeParams', 'Set-NetboxIPAMAddress',
|
||||
'Set-NetboxIPAMAddressRange', 'Set-NetboxIPAMPrefix',
|
||||
'Set-NetboxTimeout', 'Set-NetboxUnstrustedSSL',
|
||||
'Set-NetboxVirtualMachine', 'Set-NetboxVirtualMachinedisk',
|
||||
'Set-NetboxVirtualMachineInterface', 'SetupNetboxConfigVariable',
|
||||
'Test-NetboxAPIConnected', 'ThrowNetboxRESTError',
|
||||
'VerifyAPIConnectivity'
|
||||
|
||||
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
|
||||
CmdletsToExport = @()
|
||||
|
|
|
|||
|
|
@ -269,6 +269,47 @@ function Add-NetboxDCIMRearPort {
|
|||
|
||||
#endregion
|
||||
|
||||
#region File Add-NetboxDCIMVirtualDeviceContext.ps1
|
||||
|
||||
function Add-NetboxDCIMVirtualDeviceContext {
|
||||
[CmdletBinding()]
|
||||
[OutputType([pscustomobject])]
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[uint64]$Device,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$Name,
|
||||
|
||||
[object]$Status = 'active',
|
||||
|
||||
[uint16]$Identifier,
|
||||
|
||||
[uint64]$Primary_IP4,
|
||||
|
||||
[uint64]$Primary_IP6,
|
||||
|
||||
[uint64]$Tenant,
|
||||
|
||||
[string]$Comments
|
||||
)
|
||||
|
||||
if (-not $PSBoundParameters.ContainsKey('Status')) {
|
||||
$PSBoundParameters['Status'] = $Status
|
||||
}
|
||||
|
||||
$Segments = [System.Collections.ArrayList]::new(@('dcim', 'virtual-device-contexts'))
|
||||
|
||||
$URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters
|
||||
|
||||
$URI = BuildNewURI -Segments $URIComponents.Segments
|
||||
|
||||
InvokeNetboxRequest -URI $URI -Body $URIComponents.Parameters -Method POST
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region File Add-NetboxVirtualMachinedisk.ps1
|
||||
|
||||
|
||||
|
|
@ -2119,6 +2160,50 @@ function Get-NetboxDCIMSite {
|
|||
|
||||
#endregion
|
||||
|
||||
#region File Get-NetboxDCIMVirtualDeviceContext.ps1
|
||||
|
||||
function Get-NetboxDCIMVirtualDeviceContext {
|
||||
[CmdletBinding()]
|
||||
[OutputType([pscustomobject])]
|
||||
param
|
||||
(
|
||||
[Parameter(ValueFromPipelineByPropertyName = $true)]
|
||||
[uint64]$Id,
|
||||
|
||||
[string]$Name,
|
||||
|
||||
[object]$Status,
|
||||
|
||||
[uint16]$Identifier,
|
||||
|
||||
[string]$Device,
|
||||
|
||||
[uint64]$Device_Id,
|
||||
|
||||
[uint64]$Tenant_Id,
|
||||
|
||||
[string]$Tenant,
|
||||
|
||||
[uint16]$Limit,
|
||||
|
||||
[uint16]$Offset,
|
||||
|
||||
[switch]$Raw
|
||||
)
|
||||
|
||||
process {
|
||||
$Segments = [System.Collections.ArrayList]::new(@('dcim', 'virtual-device-contexts'))
|
||||
|
||||
$URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters
|
||||
|
||||
$URI = BuildNewURI -Segments $URIComponents.Segments -Parameters $URIComponents.Parameters
|
||||
|
||||
InvokeNetboxRequest -URI $URI -Raw:$Raw
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region File Get-NetboxHostname.ps1
|
||||
|
||||
function Get-NetboxHostname {
|
||||
|
|
@ -5249,6 +5334,45 @@ function Remove-NetboxDCIMSite {
|
|||
|
||||
#endregion
|
||||
|
||||
#region File Remove-NetboxDCIMVirtualDeviceContext.ps1
|
||||
|
||||
function Remove-NetboxDCIMVirtualDeviceContext {
|
||||
[CmdletBinding(ConfirmImpact = 'High',
|
||||
SupportsShouldProcess = $true)]
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $true,
|
||||
ValueFromPipelineByPropertyName = $true)]
|
||||
[uint64[]]$Id,
|
||||
|
||||
[switch]$Force
|
||||
)
|
||||
|
||||
begin {
|
||||
|
||||
}
|
||||
|
||||
process {
|
||||
foreach ($VirtualDeviceContextId in $Id) {
|
||||
$CurrentVirtualDeviceContext = Get-NetboxDCIMVirtualDeviceContext -Id $VirtualDeviceContextId -ErrorAction Stop
|
||||
|
||||
if ($Force -or $pscmdlet.ShouldProcess("Name: $($CurrentVirtualDeviceContext.Name) | ID: $($CurrentVirtualDeviceContext.Id)", "Remove")) {
|
||||
$Segments = [System.Collections.ArrayList]::new(@('dcim', 'virtual-device-contexts', $CurrentVirtualDeviceContext.Id))
|
||||
|
||||
$URI = BuildNewURI -Segments $Segments
|
||||
|
||||
InvokeNetboxRequest -URI $URI -Method DELETE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region File Remove-NetboxIPAMAddress.ps1
|
||||
|
||||
|
||||
|
|
@ -6261,6 +6385,56 @@ function Set-NetboxDCIMRearPort {
|
|||
|
||||
#endregion
|
||||
|
||||
#region File Set-NetboxDCIMVirtualDeviceContext.ps1
|
||||
|
||||
function Set-NetboxDCIMVirtualDeviceContext {
|
||||
[CmdletBinding(ConfirmImpact = 'Medium',
|
||||
SupportsShouldProcess = $true)]
|
||||
[OutputType([pscustomobject])]
|
||||
param
|
||||
(
|
||||
[Parameter(Mandatory = $true,
|
||||
ValueFromPipelineByPropertyName = $true)]
|
||||
[uint64[]]$Id,
|
||||
|
||||
[string]$Name,
|
||||
|
||||
[object]$Status,
|
||||
|
||||
[uint16]$Identifier,
|
||||
|
||||
[uint64]$Device,
|
||||
|
||||
[uint64]$Primary_IP4,
|
||||
|
||||
[uint64]$Primary_IP6,
|
||||
|
||||
[uint64]$Tenant,
|
||||
|
||||
[string]$Comments,
|
||||
|
||||
[switch]$Force
|
||||
)
|
||||
|
||||
process {
|
||||
foreach ($VirtualDeviceContextId in $Id) {
|
||||
$CurrentVirtualDeviceContext = Get-NetboxDCIMVirtualDeviceContext -Id $VirtualDeviceContextId -ErrorAction Stop
|
||||
|
||||
$Segments = [System.Collections.ArrayList]::new(@('dcim', 'virtual-device-contexts', $CurrentVirtualDeviceContext.Id))
|
||||
|
||||
$URIComponents = BuildURIComponents -URISegments $Segments.Clone() -ParametersDictionary $PSBoundParameters -SkipParameterByName 'Id'
|
||||
|
||||
$URI = BuildNewURI -Segments $Segments
|
||||
|
||||
if ($Force -or $pscmdlet.ShouldProcess("Virtual Device Context ID $($CurrentVirtualDeviceContext.Id)", "Set")) {
|
||||
InvokeNetboxRequest -URI $URI -Body $URIComponents.Parameters -Method PATCH
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region File Set-NetboxHostName.ps1
|
||||
|
||||
function Set-NetboxHostName {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue