-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #159 from bepsoccer/dev
New Function
- Loading branch information
Showing
4 changed files
with
255 additions
and
13 deletions.
There are no files selected for viewing
148 changes: 148 additions & 0 deletions
148
docs/function-documentation/Set-VerkadaAccessDoorName.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
--- | ||
external help file: verkadaModule-help.xml | ||
Module Name: verkadaModule | ||
online version: https://github.com/bepsoccer/verkadaModule/blob/master/docs/function-documentation/Set-VerkadaAccessDoorName.md | ||
schema: 2.0.0 | ||
--- | ||
|
||
# Set-VerkadaAccessDoorName | ||
|
||
## SYNOPSIS | ||
Sets a Verkada Access door name | ||
|
||
## SYNTAX | ||
|
||
``` | ||
Set-VerkadaAccessDoorName [-doorId] <String> [-doorName] <String> [[-org_id] <String>] | ||
[[-x_verkada_token] <String>] [[-x_verkada_auth] <String>] [[-usr] <String>] [<CommonParameters>] | ||
``` | ||
|
||
## DESCRIPTION | ||
This function will set the name of a Verkada Access door using the doorId (UUID) in an organization. | ||
The org_id and reqired tokens can be directly submitted as parameters, but is much easier to use Connect-Verkada to cache this information ahead of time and for subsequent commands. | ||
|
||
## EXAMPLES | ||
|
||
### EXAMPLE 1 | ||
``` | ||
Set-VerkadaAccessDoorName -doorId '60624bd4-2422-4d39-a401-4eba1a2f0960' -name 'My Door' | ||
This will set the door name of doorId 60624bd4-2422-4d39-a401-4eba1a2f0960 to "My Door". The org_id and tokens will be populated from the cached created by Connect-Verkada. | ||
``` | ||
|
||
### EXAMPLE 2 | ||
``` | ||
Set-VerkadaAccessDoorName -doorId '60624bd4-2422-4d39-a401-4eba1a2f0960' -name 'My Door' -org_id '7cd47706-f51b-4419-8675-3b9f0ce7c12d' -x_verkada_token 'a366ef47-2c20-4d35-a90a-10fd2aee113a' -x_verkada_auth 'auth-token-uuid-dscsdc' | ||
This will set the door name of doorId 60624bd4-2422-4d39-a401-4eba1a2f0960 to "My Door". The org_id and tokens are submitted as parameters in the call. | ||
``` | ||
|
||
### EXAMPLE 3 | ||
``` | ||
Get-VerkadaAccessDoors | ?{$_.name -eq "My Door"} | Set-VerkadaAccessDoorName -name 'My New Door' | ||
This will rename the door currently named "My Door" to "My New Door". The org_id and tokens will be populated from the cached created by Connect-Verkada. | ||
``` | ||
|
||
## PARAMETERS | ||
|
||
### -doorId | ||
The UUID of the door | ||
|
||
```yaml | ||
Type: String | ||
Parameter Sets: (All) | ||
Aliases: | ||
|
||
Required: True | ||
Position: 1 | ||
Default value: None | ||
Accept pipeline input: True (ByPropertyName) | ||
Accept wildcard characters: False | ||
``` | ||
### -doorName | ||
The new name for the door who's name is being changed | ||
```yaml | ||
Type: String | ||
Parameter Sets: (All) | ||
Aliases: name | ||
|
||
Required: True | ||
Position: 2 | ||
Default value: None | ||
Accept pipeline input: True (ByPropertyName) | ||
Accept wildcard characters: False | ||
``` | ||
### -org_id | ||
The UUID of the organization the user belongs to | ||
```yaml | ||
Type: String | ||
Parameter Sets: (All) | ||
Aliases: | ||
|
||
Required: False | ||
Position: 3 | ||
Default value: $Global:verkadaConnection.org_id | ||
Accept pipeline input: True (ByPropertyName) | ||
Accept wildcard characters: False | ||
``` | ||
### -x_verkada_token | ||
The Verkada(CSRF) token of the user running the command | ||
```yaml | ||
Type: String | ||
Parameter Sets: (All) | ||
Aliases: | ||
|
||
Required: False | ||
Position: 4 | ||
Default value: $Global:verkadaConnection.csrfToken | ||
Accept pipeline input: False | ||
Accept wildcard characters: False | ||
``` | ||
### -x_verkada_auth | ||
The Verkada Auth(session auth) token of the user running the command | ||
```yaml | ||
Type: String | ||
Parameter Sets: (All) | ||
Aliases: | ||
|
||
Required: False | ||
Position: 5 | ||
Default value: $Global:verkadaConnection.userToken | ||
Accept pipeline input: False | ||
Accept wildcard characters: False | ||
``` | ||
### -usr | ||
The UUID of the user account making the request | ||
```yaml | ||
Type: String | ||
Parameter Sets: (All) | ||
Aliases: | ||
|
||
Required: False | ||
Position: 6 | ||
Default value: $Global:verkadaConnection.usr | ||
Accept pipeline input: False | ||
Accept wildcard characters: False | ||
``` | ||
### CommonParameters | ||
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). | ||
## INPUTS | ||
## OUTPUTS | ||
## NOTES | ||
## RELATED LINKS | ||
[https://github.com/bepsoccer/verkadaModule/blob/master/docs/function-documentation/Set-VerkadaAccessDoorName.md](https://github.com/bepsoccer/verkadaModule/blob/master/docs/function-documentation/Set-VerkadaAccessDoorName.md) | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
function Set-VerkadaAccessDoorName{ | ||
<# | ||
.SYNOPSIS | ||
Sets a Verkada Access door name | ||
.DESCRIPTION | ||
This function will set the name of a Verkada Access door using the doorId (UUID) in an organization. | ||
The org_id and reqired tokens can be directly submitted as parameters, but is much easier to use Connect-Verkada to cache this information ahead of time and for subsequent commands. | ||
.LINK | ||
https://github.com/bepsoccer/verkadaModule/blob/master/docs/function-documentation/Set-VerkadaAccessDoorName.md | ||
.EXAMPLE | ||
Set-VerkadaAccessDoorName -doorId '60624bd4-2422-4d39-a401-4eba1a2f0960' -name 'My Door' | ||
This will set the door name of doorId 60624bd4-2422-4d39-a401-4eba1a2f0960 to "My Door". The org_id and tokens will be populated from the cached created by Connect-Verkada. | ||
.EXAMPLE | ||
Set-VerkadaAccessDoorName -doorId '60624bd4-2422-4d39-a401-4eba1a2f0960' -name 'My Door' -org_id '7cd47706-f51b-4419-8675-3b9f0ce7c12d' -x_verkada_token 'a366ef47-2c20-4d35-a90a-10fd2aee113a' -x_verkada_auth 'auth-token-uuid-dscsdc' | ||
This will set the door name of doorId 60624bd4-2422-4d39-a401-4eba1a2f0960 to "My Door". The org_id and tokens are submitted as parameters in the call. | ||
.EXAMPLE | ||
Get-VerkadaAccessDoors | ?{$_.name -eq "My Door"} | Set-VerkadaAccessDoorName -name 'My New Door' | ||
This will rename the door currently named "My Door" to "My New Door". The org_id and tokens will be populated from the cached created by Connect-Verkada. | ||
#> | ||
[CmdletBinding(PositionalBinding = $true)] | ||
[Alias("Set-VrkdaAcDrNm","st-VrkdaAcDrNm")] | ||
param ( | ||
#The UUID of the door | ||
[Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] | ||
[ValidatePattern('^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$')] | ||
[String]$doorId, | ||
#The new name for the door who's name is being changed | ||
[Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)] | ||
[Alias("name")] | ||
[String]$doorName, | ||
#The UUID of the organization the user belongs to | ||
[Parameter(ValueFromPipelineByPropertyName = $true)] | ||
[ValidateNotNullOrEmpty()] | ||
[ValidatePattern('^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$')] | ||
[String]$org_id = $Global:verkadaConnection.org_id, | ||
#The Verkada(CSRF) token of the user running the command | ||
[Parameter()] | ||
[ValidateNotNullOrEmpty()] | ||
[ValidatePattern('^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$')] | ||
[string]$x_verkada_token = $Global:verkadaConnection.csrfToken, | ||
#The Verkada Auth(session auth) token of the user running the command | ||
[Parameter()] | ||
[ValidateNotNullOrEmpty()] | ||
[string]$x_verkada_auth = $Global:verkadaConnection.userToken, | ||
#The UUID of the user account making the request | ||
[Parameter()] | ||
[ValidateNotNullOrEmpty()] | ||
[ValidatePattern('^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$')] | ||
[string]$usr = $Global:verkadaConnection.usr | ||
) | ||
|
||
begin { | ||
#parameter validation | ||
if ([string]::IsNullOrEmpty($org_id)) {throw "org_id is missing but is required!"} | ||
if ([string]::IsNullOrEmpty($x_verkada_token)) {throw "x_verkada_token is missing but is required!"} | ||
if ([string]::IsNullOrEmpty($x_verkada_auth)) {throw "x_verkada_auth is missing but is required!"} | ||
if ([string]::IsNullOrEmpty($usr)) {throw "usr is missing but is required!"} | ||
|
||
$url = "https://vcerberus.command.verkada.com/door/set_metadata" | ||
} #end begin | ||
|
||
process { | ||
$body = @{ | ||
"doorId" = $doorId | ||
"name" = $doorName | ||
} | ||
|
||
try { | ||
$response = Invoke-VerkadaCommandCall $url $org_id $body -x_verkada_token $x_verkada_token -x_verkada_auth $x_verkada_auth -usr $usr -Method 'POST' | Select-Object -ExpandProperty doors | ||
|
||
return $response | ||
} | ||
catch [Microsoft.PowerShell.Commands.HttpResponseException] { | ||
$err = $_.ErrorDetails | ConvertFrom-Json | ||
$errorMes = $_ | Convertto-Json -WarningAction SilentlyContinue | ||
$err | Add-Member -NotePropertyName StatusCode -NotePropertyValue (($errorMes | ConvertFrom-Json -Depth 100 -WarningAction SilentlyContinue).Exception.Response.StatusCode) -Force | ||
|
||
Write-Host "$doorId not renamed because: $($err.StatusCode) - $($err.message)" -ForegroundColor Red | ||
Return | ||
} | ||
} #end process | ||
|
||
end { | ||
|
||
} #end end | ||
} #end function |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters