mirror of
https://github.com/snazy2000/SnipeitPS.git
synced 2025-12-13 18:02:30 +00:00
ParameterSets and AllowEmptyString
This commit is contained in:
parent
d4c138604d
commit
a2bda89abb
21 changed files with 160 additions and 2 deletions
|
|
@ -36,25 +36,38 @@ Get-SnipeItAccessory -id 1
|
|||
|
||||
function Get-SnipeItAccessory() {
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get by ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$company_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$category_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$manufacturer_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$supplier_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$sort = "created_at",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
@ -65,6 +78,10 @@ function Get-SnipeItAccessory() {
|
|||
)
|
||||
Test-SnipeItAlias -invocationName $MyInvocation.InvocationName -commandName $MyInvocation.MyCommand.Name
|
||||
|
||||
if ($id -and $search){
|
||||
throw "Please specify only one of -id or -search parameter"
|
||||
}
|
||||
|
||||
$SearchParameter = . Get-ParameterValue $MyInvocation.MyCommand.Parameters
|
||||
|
||||
$Parameters = @{
|
||||
|
|
@ -74,6 +91,10 @@ function Get-SnipeItAccessory() {
|
|||
Token = $apiKey
|
||||
}
|
||||
|
||||
if($id){
|
||||
$Parameters.Uri ="$url/api/v1/accessories/$id"
|
||||
}
|
||||
|
||||
if ($all) {
|
||||
$offstart = $(if($offset){$offset} Else {0})
|
||||
$callargs = $SearchParameter
|
||||
|
|
|
|||
|
|
@ -74,43 +74,63 @@ Get-SnipeItAsset -asset_tag "myAssetTag"-url "https://assets.example.com"-token
|
|||
|
||||
function Get-SnipeItAsset() {
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with id')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Get with asset tag')]
|
||||
[string]$asset_tag,
|
||||
|
||||
[parameter(ParameterSetName='Get with serial')]
|
||||
[Alias('asset_serial')]
|
||||
[string]$serial,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$order_number,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$model_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$category_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$manufacturer_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$company_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$location_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$depreciation_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[bool]$requestable = $false,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$status,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$status_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$sort = "created_at",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
[parameter(mandatory = $true)]
|
||||
[string]$url,
|
||||
|
|
|
|||
|
|
@ -34,17 +34,23 @@ Get-SnipeItCategory -search "Laptop"
|
|||
function Get-SnipeItCategory()
|
||||
{
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
|
|||
|
|
@ -35,17 +35,23 @@ Gets specific company
|
|||
function Get-SnipeItCompany()
|
||||
{
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory=$true)]
|
||||
|
|
|
|||
|
|
@ -39,26 +39,36 @@ Returns specific component
|
|||
|
||||
function Get-SnipeItComponent() {
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$category_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$company_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$location_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet('id', 'name', 'min_amt', 'order_number', 'serial', 'purchase_date', 'purchase_cost', 'company', 'category', 'qty', 'location', 'image', 'created_at')]
|
||||
[string]$sort = "created_at",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
|
|||
|
|
@ -37,19 +37,26 @@ Get-SnipeItDepartment -id 1
|
|||
function Get-SnipeItDepartment()
|
||||
{
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet('id', 'name', 'image', 'users_count', 'created_at')]
|
||||
[string]$sort = "created_at",
|
||||
|
||||
|
|
|
|||
|
|
@ -34,42 +34,60 @@ Get-SnipeItLicense -id 1
|
|||
|
||||
function Get-SnipeItLicense() {
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$name,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int] $company_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$product_key,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$order_number,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$purchase_order,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$license_name,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[mailaddress]$license_email,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$manufacturer_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$supplier_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$depreciation_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$category_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet('id', 'name', 'purchase_cost', 'expiration_date', 'purchase_order', 'order_number', 'notes', 'purchase_date', 'serial', 'company', 'category', 'license_name', 'license_email', 'free_seats_count', 'seats', 'manufacturer', 'supplier')]
|
||||
[string]$sort = "created_at",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
|
|||
|
|
@ -34,17 +34,23 @@ Get-SnipeItLocation -id 3
|
|||
function Get-SnipeitLocation()
|
||||
{
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
|
|||
|
|
@ -36,17 +36,23 @@ Returns manufacturer with id 3
|
|||
function Get-SnipeItManufacturer()
|
||||
{
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
|
|||
|
|
@ -34,17 +34,23 @@ Get-SnipeItModel -id 1
|
|||
function Get-SnipeItModel()
|
||||
{
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
|
|||
|
|
@ -34,17 +34,23 @@ Get-SnipeItStatus -id 3
|
|||
function Get-SnipeItStatus()
|
||||
{
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
|
|||
|
|
@ -34,17 +34,23 @@ Get-SnipeItSupplier -id 2
|
|||
function Get-SnipeItSupplier()
|
||||
{
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[int]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
|
|||
|
|
@ -44,29 +44,41 @@ Get-SnipeItUser -email user@somedomain.com
|
|||
|
||||
function Get-SnipeItUser() {
|
||||
Param(
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$search,
|
||||
|
||||
[parameter(ParameterSetName='Get with ID')]
|
||||
[string]$id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$company_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$location_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$group_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$department_id,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$username,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[string]$email,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[ValidateSet("asc", "desc")]
|
||||
[string]$order = "desc",
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$limit = 50,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[int]$offset,
|
||||
|
||||
[parameter(ParameterSetName='Search')]
|
||||
[switch]$all = $false,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
|
|||
|
|
@ -17,6 +17,9 @@ Quantity of the components you have
|
|||
.PARAMETER location_id
|
||||
ID number of the location the accessory is assigned to
|
||||
|
||||
.PARAMETER order_number
|
||||
Order number of the component
|
||||
|
||||
.PARAMETER purchase_date
|
||||
Date accessory was purchased
|
||||
|
||||
|
|
@ -56,6 +59,8 @@ function New-SnipeItComponent() {
|
|||
|
||||
[int]$location_id,
|
||||
|
||||
[string]$order_number,
|
||||
|
||||
[datetime]$purchase_date,
|
||||
|
||||
[float]$purchase_cost,
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ function Set-SnipeItAccessory() {
|
|||
[ValidateRange(1, [int]::MaxValue)]
|
||||
[int]$manufacturer_id,
|
||||
|
||||
[AllowEmptyString]
|
||||
[AllowEmptyString()]
|
||||
[string]$order_number,
|
||||
|
||||
[float]$purchase_cost,
|
||||
|
|
@ -113,6 +113,7 @@ function Set-SnipeItAccessory() {
|
|||
}
|
||||
|
||||
$Body = $Values | ConvertTo-Json;
|
||||
Write-Verbose "Body: $Body"
|
||||
}
|
||||
|
||||
process {
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ function Set-SnipeItAsset()
|
|||
[parameter(mandatory = $true,ValueFromPipelineByPropertyName)]
|
||||
[int[]]$id,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$name,
|
||||
|
||||
[int]$status_id,
|
||||
|
|
@ -100,6 +101,7 @@ function Set-SnipeItAsset()
|
|||
|
||||
[string]$serial,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$order_number,
|
||||
|
||||
[int]$warranty_months,
|
||||
|
|
|
|||
|
|
@ -20,6 +20,9 @@ Quantity of the components you have
|
|||
.PARAMETER location_id
|
||||
ID number of the location the accessory is assigned to
|
||||
|
||||
.PARAMETER order_number
|
||||
Order number for the accessory
|
||||
|
||||
.PARAMETER purchase_date
|
||||
Date accessory was purchased
|
||||
|
||||
|
|
@ -58,6 +61,9 @@ function Set-SnipeItComponent()
|
|||
|
||||
[int]$location_id,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$order_number,
|
||||
|
||||
[datetime]$purchase_date,
|
||||
|
||||
[float]$purchase_cost,
|
||||
|
|
|
|||
|
|
@ -107,6 +107,7 @@ function Set-SnipeItLicense() {
|
|||
|
||||
[string]$notes,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$order_number,
|
||||
|
||||
[float]$purchase_cost,
|
||||
|
|
|
|||
|
|
@ -68,22 +68,30 @@ function Set-SnipeitLocation() {
|
|||
[ValidateLength(3, 255)]
|
||||
[string]$name,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$address,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$address2,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$state,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$country,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$zip,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$city,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$currency,
|
||||
|
||||
[int]$manager_id,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$ldap_ou,
|
||||
|
||||
[int]$parent_id,
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ function Set-SnipeItModel() {
|
|||
[ValidateLength(1, 255)]
|
||||
[string]$name,
|
||||
|
||||
[ValidateLength(1, 255)]
|
||||
[AllowEmptyString()]
|
||||
[string]$model_number,
|
||||
|
||||
[int]$category_id,
|
||||
|
|
|
|||
|
|
@ -80,10 +80,13 @@ function Set-SnipeItUser() {
|
|||
|
||||
[string]$userName,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$jobtitle,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$email,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$phone,
|
||||
|
||||
[int]$company_id,
|
||||
|
|
@ -94,10 +97,12 @@ function Set-SnipeItUser() {
|
|||
|
||||
[int]$manager_id,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$employee_num,
|
||||
|
||||
[bool]$activated,
|
||||
|
||||
[AllowEmptyString()]
|
||||
[string]$notes,
|
||||
|
||||
[parameter(mandatory = $true)]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue