Skip to content

Instantly share code, notes, and snippets.

✌️
Building on APIs

Chris Wahl chriswahl

Block or report user

Report or block chriswahl

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View Connect-Rubrik.Tests.ps1
# Import
Import-Module -Name "$PSScriptRoot\..\Rubrik" -Force
. "$(Split-Path -Parent -Path $PSScriptRoot)\Rubrik\Private\Get-RubrikAPIData.ps1"
$resources = GetRubrikAPIData -endpoint ('Login')
# Pester
Describe -Name 'Connect-Rubrik Tests' -Fixture {
It -name 'Ensure that Resources are loaded' -test {
$resources | Should Not BeNullOrEmpty
View ErrorLoop2.ps1
function ThrowErrors()
{
throw "This is error number $i"
}
function LoopErrors()
{
Process {
$i = 0
while ($i -le 10)
View ErrorLoop1.ps1
function ThrowErrors()
{
throw "This is error number $i"
}
function LoopErrors()
{
Process {
$i = 0
while ($i -le 10)
@chriswahl
chriswahl / ConvertFrom-JSON2.ps1
Created Mar 11, 2016
.NET Serializer to PowerShell Object
View ConvertFrom-JSON2.ps1
function ParseItem($jsonItem)
{
if($jsonItem.PSObject.TypeNames -match 'Array')
{
return ParseJsonArray($jsonItem)
}
elseif($jsonItem.PSObject.TypeNames -match 'Dictionary')
{
return ParseJsonObject([HashTable]$jsonItem)
}
@chriswahl
chriswahl / PATCH-Example-Rubrik.ps1
Created Jan 12, 2016
Sending Data Using PowerShell and RESTful API Methods - PATCH Example
View PATCH-Example-Rubrik.ps1
# Required API Variables
$uri = 'https://brik1.rubrik.demo:443/vm/0b046b24-3fdb-4b33-b0c8-670fa1e96075-vm-6409'
$body = @{
slaDomainId = 'GOLD_aa4c5eee-51d6-4901-aeb4-5ba44f7f65cc'
}
# RESTful API Call
$r = Invoke-WebRequest -Uri $uri -Headers $global:RubrikHead -Method PATCH -Body (ConvertTo-Json -InputObject $body)
@chriswahl
chriswahl / PUT-Example-NSX.ps1
Created Jan 12, 2016
Sending Data Using PowerShell and RESTful API Methods - PUT Example
View PUT-Example-NSX.ps1
# Required API Variables
$uri = 'https://nsx1.glacier.local:443/api/2.0/vdn/controller/cluster'
$body = '<controllerConfig>
<sslEnabled>true</sslEnabled>
</controllerConfig>'
# RESTful API Call
$r = Invoke-WebRequest -Uri $uri -Method Post -Body $body -ContentType 'application/xml'
@chriswahl
chriswahl / POST-Example-Rubrik.ps1
Created Jan 12, 2016
Sending Data Using PowerShell and RESTful API Methods - POST Example
View POST-Example-Rubrik.ps1
# Required API Variables
$uri = 'https://brik1.rubrik.demo:443/job/type/backup'
$body = @{
vmId = '0b046b24-3fdb-4b33-b0c8-670fa1e96075-vm-6409'
}
# RESTful API Call
$r = Invoke-WebRequest -Uri $uri -Headers $global:RubrikHead -Method Post -Body (ConvertTo-Json -InputObject $body)
View Get-RubrikSLA_Lite.ps1
# Build the URI (Universal Resource Identifier), also known as the Resource or Endpoint
$server = 'brik1.rubrik.demo'
$uri = 'https://'+$server+':443/slaDomain'
# Submit the request to the RESTful Resource using the GET method
try
{
$r = Invoke-WebRequest -Uri $uri -Headers $global:RubrikHead -Method Get
$result = ConvertFrom-Json -InputObject $r.Content
}
View New-RubrikMount.ps1
#Requires -Version 3
function New-RubrikMount
{
<#
.SYNOPSIS
Create a new Live Mount from a protected VM
.DESCRIPTION
The New-RubrikMount cmdlet is used to create a Live Mount (clone) of a protected VM and run it in an existing vSphere environment.
.NOTES
Written by Chris Wahl for community usage
View Connect-Rubrik.ps1
#Requires -Version 3
function Connect-Rubrik
{
<#
.SYNOPSIS
Connects to Rubrik and retrieves a token value for authentication
.DESCRIPTION
The Connect-Rubrik function is used to connect to the Rubrik RESTful API and supply credentials to the /login method. Rubrik then returns a unique token to represent the user's credentials for subsequent calls. Acquire a token before running other Rubrik cmdlets.
.NOTES
Written by Chris Wahl for community usage
You can’t perform that action at this time.