Skip to content

HyperShell

HyperShell is a module developed by SoftIron that integrates with PowerShell, allowing the user to consume the HyperCloud API and execute calls to the cluster.

Prerequisites

Before installing HyperShell, ensure you have PowerShell 5.1 or later installed on your system. You can check your PowerShell version by running $PSVersionTable.PSVersion in a PowerShell window.

Installing HyperShell

HyperShell is available through the official Microsoft PowerShell Gallery, which makes installation straightforward using PowerShell's built-in package management.

Installation Steps

To install HyperShell, open a PowerShell window with administrator privileges and run the following command:

Install-Module -Name HyperShell -Scope CurrentUser

If you want to install the module for all users on the system, use:

Install-Module -Name HyperShell -Scope AllUsers

Note that installing with AllUsers scope requires administrator privileges. During installation, you may be prompted to trust the PowerShell Gallery repository. Type Y and press Enter to proceed with the installation.

Verifying Installation

After the installation completes, you can verify that HyperShell is installed correctly by running:

Get-Module -Name HyperShell -ListAvailable

This will display the installed version and location of the module.

Updating HyperShell

To update HyperShell to the latest version, run: Update-Module -Name HyperShell

Troubleshooting

If you encounter issues during installation, ensure that your execution policy allows running scripts. You can check your current execution policy with Get-ExecutionPolicy and adjust it if necessary using Set-ExecutionPolicy with the desired configuration for your environment.

HyperShell Functions

Add-CloudUserGroupMembership

Source File: cloud-user.ps1

Synopsis: Adds a user to a secondary group on the Cloud Server.

Description: Adds a user to a secondary group. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
User Int32 True - - -

Example(s)

  1. ** Add user 12 to group 104**

    Add-CloudUserGroupMembership -id 104 -user 12
    

Clear-CloudNetworkAddressRange

Source File: cloud-network.ps1

Synopsis: Frees all addresses in an address range.

Description: Releases all IP addresses in a specific address range.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
NetworkID Int32 True ByPropertyName - -
RangeID Int32 True - - -

Example(s)

  1. Release all addresses from network 5 in range 0

    Clear-CloudNetworkAddressRange -NetworkID 5 -`RangeID` 0
    

Connect-CloudServer

Source File: Connect-Cloudserver.ps1

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Credential PSCredential True - - -
IgnoreInvalidCertificate SwitchParameter False - - -
Port Int32 False - - 443
Server String True - - -

Convert-FromBase64

Source File: extra.ps1

Synopsis: Converts a Base64 encoded string back to plain text or saves to file.

Description: Decodes a Base64 encoded string back to its original format. Can output as a string or save binary content to a file.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Base64String String True ByValue - -
Encoding String False - UTF8, ASCII, Unicode, UTF32, UTF7 'UTF8'
OutFile String False - - -

Example(s)

  1. Decode a Base64 string

    Convert-FromBase64 -`Base64String` "SGVsbG8gV29ybGQ="
    
  2. Decode from pipeline

    "SGVsbG8gV29ybGQ=" | Convert-FromBase64
    
  3. Decode and save to file

    Convert-FromBase64 -`Base64String` "..." -OutFile "C:\decoded.bin"
    
  4. Decode with different encoding

    Convert-FromBase64 -`Base64String` "..." -Encoding Unicode
    
  5. Round-trip example

    $encoded = "Secret message" | Convert-ToBase64
            $decoded = $encoded | Convert-FromBase64
            # $decoded now contains "Secret message"
    

Convert-ToBase64

Source File: extra.ps1

Synopsis: Converts a string or file to Base64 encoding.

Description: Encodes a string or file content to Base64 format. Useful for encoding credentials, file contents, or other data that needs to be transmitted as text.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Encoding String False - UTF8, ASCII, Unicode, UTF32, UTF7 'UTF8'
Path String True - - -
String String True ByValue - -

Example(s)

  1. Encode a simple string

    Convert-ToBase64 -String "Hello World"
    
  2. Encode credentials

    Convert-ToBase64 -String "username:password"
    
  3. Encode from pipeline

    "My secret text" | Convert-ToBase64
    
  4. Encode a file

    Convert-ToBase64 -Path "C:\config.txt"
    
  5. Encode with different encoding

    Convert-ToBase64 -String "Special chars: éàü" -Encoding Unicode
    

Copy-CloudDocument

Source File: cloud-document.ps1

Synopsis: Clone a document in the Cloud Server.

Description: Creates a clone document. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Name String True - - -

Example(s)

  1. Clone the document, defining the name for the clone

    Copy-CloudDocument -Name "new-document" -ID 5
    

Copy-CloudNetwork

Source File: cloud-network.ps1

Synopsis: Clone a network in the Cloud Server.

Description: Creates a clone network. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Name String True - - -

Example(s)

  1. Clone the network and do not clone the associated image

    Copy-CloudNetwork -Name "gateway-network" -ID 5
    

Copy-CloudNetworkTemplate

Source File: cloud-network.ps1

Synopsis: Clone a network in the Cloud Server.

Description: Creates a clone network. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Name String True - - -

Example(s)

  1. Copy a network template

    Copy-CloudNetworkTemplate -Name "new-gateway-network" -ID 5
    

Copy-CloudSecurityGroup

Source File: cloud-securitygroup.ps1

Synopsis: Clone a security group in the Cloud Server.

Description: Clones a security group. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Name String True - - -

Example(s)

  1. Clone the security group with ID 5

    Copy-CloudSecurityGroup -Name "RemoteUsers" -ID 5
    

Copy-CloudTemplate

Source File: cloud-template.ps1

Synopsis: Clone a template in the Cloud Server.

Description: Clones a template. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
cloneDisk SwitchParameter False - - -
ID Int32 True - - -
Name String True - - -

Example(s)

  1. Clone the template and do not clone the associated image

    Copy-CloudTemplate -Name "gateway-template" -ID 5
    
  2. Clone the template and clone the associated image

    Copy-CloudTemplate -Name "gateway-template" -ID 5 -CloneDisk
    

Disable-CloudImage

Source File: cloud-image.ps1

Synopsis: Disables an image from the Cloud Server.

Description: Disables an image. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

  1. Disable an image with confirmation prompt (default behavior):

    Disable-CloudImage -ID 3
            Confirm
            Are you sure you want to perform this action?
            Performing the operation "Disable Image" on target "Image ID 3 (MyImage)".
            [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
    
  2. Disable image without confirmation prompt:

    Disable-CloudImage -ID 3 -Confirm:$false
    

Disable-CloudImagePersistence

Source File: cloud-image.ps1

Synopsis: Sets an image to non-persistent on the Cloud Server.

Description: Sets an image to persistent. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

  1. Disable image persistence with confirmation prompt (default behavior):

    Disable-CloudImagePersistence  -ID 3
            Confirm
            Are you sure you want to perform this action?
            Performing the operation "Disable Persistence" on target "Image ID 3 (MyImage)".
            [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
    
  2. Disable image persistence without confirmation prompt:

    Disable-CloudImagePersistence -ID 3 -Confirm:$false
    

Disable-CloudUser

Source File: cloud-user.ps1

Synopsis: Disables a user from the Cloud Server.

Description: Disables a user. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

  1. Disable user with confirmation prompt (default behavior):

    Disable-CloudUser -ID 3
            Confirm
            Are you sure you want to perform this action?
            Performing the operation "Disable User" on target "User ID 3 (MyUser)".
            [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
    
  2. Disable user without confirmation prompt:

    Disable-CloudUser -ID 3 -Confirm:$false
    

Disable-CloudUserRGW

Source File: cloud-user.ps1

Synopsis: Disables RGW access for a user on the Cloud Server.

Description: Disables RGW access for a user. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

  1. Disable RGW attributes for user 30

    Disable-CloudUserRGW -ID 30
    
  2. Disable RGW attributes for user 30 without confirmation

    Disable-CloudUserRGW -ID 30 -confirm:$false
    
  3. Disable RGW attributes for a piped-through user without confirmation

    Get-CloudUser -Name "New-Tenant-admin" | Disable-CloudUserRGW -confirm:$false
    

Disconnect-CloudServer

Source File: Connect-Cloudserver.ps1

Synopsis: Disconnects from the Cloud Server and clears sensitive data.

Description: Clears the connection object, auth token, and session data from memory.

CmdletBinding: Yes

Example(s)

  1. Disconnect

    Disconnect-CloudServer
    

Enable-CloudDatastore

Source File: cloud-datastore.ps1

Synopsis: Enables a datastore on the Cloud Server.

Description: Enables the specified datastore. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Nullable1 False - - -
Name String False - - -

Example(s)

  1. Enable a specific datastore

    Enable-CloudDatastore -ID 5
    

Enable-CloudImage

Source File: cloud-image.ps1

Synopsis: Enables an image from the Cloud Server.

Description: Enables an image. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

  1. Enable image with confirmation prompt (default behavior):

    Enable-CloudImage -ID 3
            Confirm
            Are you sure you want to perform this action?
            Performing the operation "Enable Image" on target "Image ID 3 (MyImage)".
            [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
    
  2. Enable image without confirmation prompt:

    Enable-CloudImage -ID 3 -Confirm:$false
    

Enable-CloudImagePersistence

Source File: cloud-image.ps1

Synopsis: Sets an image to persistent on the Cloud Server.

Description: Sets an image to persistent. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

  1. Enable image persistence with confirmation prompt (default behavior):

    Enable-CloudImagePersistence  -ID 3
            Confirm
            Are you sure you want to perform this action?
            Performing the operation "Enable Persistence" on target "Image ID 3 (MyImage)".
            [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
    
  2. Enable image persistence without confirmation prompt:

    Enable-CloudImagePersistence -ID 3 -Confirm:$false
    

Enable-CloudMarket

Source File: cloud-market.ps1

Synopsis: Enable a market in the Cloud Server.

Description: Enable a market. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -

Example(s)

  1. Enable a market

    Enable-CloudMarket -ID 5
    

Enable-CloudMarketApp

Source File: cloud-market.ps1

Synopsis: Enable a market app in the Cloud Server.

Description: Enable a market app. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -

Example(s)

  1. Enable a market app

    Enable-CloudMarketApp -ID 5
    

Enable-CloudUser

Source File: cloud-user.ps1

Synopsis: Enables a user from the Cloud Server.

Description: Enables a user. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

  1. Enable a user with a confirmation prompt (default behavior):

    Enable-CloudUser -ID 3
            Confirm
            Are you sure you want to perform this action?
            Performing the operation "Enable User" on target "User ID 3 (MyUser)".
            [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y
    
  2. Enable a user without a confirmation prompt:

    Enable-CloudUser -ID 3 -Confirm:$false
    

Enable-CloudUserRGW

Source File: cloud-user.ps1

Synopsis: Enables RGW access for a user on the Cloud Server.

Description: Enables RGW access for a user. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

  1. Enable RGW attributes for user 30

    Enable-CloudUserRGW -ID 30
    
  2. Enable RGW attributes for user 30 without confirmation

    Enable-CloudUserRGW -ID 30 -confirm:$false
    
  3. Enable RGW attributes for a piped-through user without confirmation

    Get-CloudUser -Name "New-Tenant-admin" | Enable-CloudUserRGW -confirm:$false
    

Enable-CloudZone

Source File: cloud-zone.ps1

Synopsis: Enable a zone in the Cloud Server.

Description: Enables a zone. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -

Example(s)

  1. Enable cloud zone with the ID 5

    Enable-CloudZone -ID 5
    

Get-CloudACL

Source File: cloud-acl.ps1

Synopsis: Gets acls from the Cloud Server.

Description: Retrieves a list of acls. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -

Example(s)

  1. Get all ACLs

    Get-CloudACL
    
  2. Get an ACL with a specific ID

    Get-CloudACL -ID 5
    

Get-CloudCluster

Source File: cloud-host.ps1

Synopsis: Gets Clusters from the Cloud Server.

Description: Retrieves a list of Clusters. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

  1. Get all clusters

    Get-CloudCluster
    
  2. Get a specific cluster by ID

    Get-CloudCluster -ID 5
    
  3. Get clusters that match the specified name string

    Get-CloudCluster -Name "default"
    

Get-CloudCompute

Source File: cloud-host.ps1

Synopsis: Gets compute-only from the Cloud Server. Try Get-CloudHost to return all hosts

Description: Retrieves a list of computes. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

  1. Get all compute hosts

    Get-CloudCompute
    
  2. Get a specific compute host by ID

    Get-CloudCompute -ID 5
    
  3. Get compute hosts that match the specified name string

    Get-CloudCompute -Name "si-overlapped-2"
    

Get-CloudComputeFailoverCapacity

Source File: extra.ps1

Synopsis: Analyzes cluster compute capacity for N-X redundancy (multiple host failure scenario).

Description: Calculates whether the cluster can sustain the failure of its largest host(s) per architecture type (x86_64, aarch64, etc.). Shows current usage vs remaining capacity if the biggest host(s) in each architecture group fail.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Detailed SwitchParameter False - - -
FailedHosts Int32 False - - 1
Graph SwitchParameter False - - -

Example(s)

  1. Get the failover capacity for each cluster

    Get-CloudFailoverCapacity
    
    1. Get the failover capacity for each cluster and display it graphically

    powershell Get-CloudFailoverCapacity -Graph

  2. Test N-2 redundancy (can survive 2 host failures) and display it graphically

    Get-CloudFailoverCapacity -FailedHosts 2 -Graph
    
  3. Test N-3 redundancy (can survive 3 host failures) and display detailed information

    Get-CloudFailoverCapacity -FailedHosts 3 -Detailed
    

Get-CloudDatacenter

Source File: cloud-datacenter.ps1

Synopsis: Gets Datacenters from the Cloud Server.

Description: Retrieves a list of Datacenters. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all datacenters

Get-CloudDatacenter

Example 2 - Get a specific datacenter by ID

Get-CloudDatacenter -ID 5

Example 3 - Get datacenters that match the specified name string

Get-CloudDatacenter -Name "default"

Get-CloudDatastore

Source File: cloud-datastore.ps1 Synopsis: Gets Datastores from the Cloud Server.

Description: Retrieves a list of Datastores. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GB SwitchParameter False - - -
Graph SwitchParameter False - - -
ID Int32 False - - -
Name String False - - -
TB SwitchParameter False - - -

Example(s)

Example 1 - Get all datastores

Get-CloudDatastore

Example 2 - Get a specific datastore

Get-CloudDatastore -ID 5

Example 3 - Get the usage of all datastores and graph them

Get-CloudDatastore -Graph

Example 4 - Get the usage of a datastore by name and graph it

Get-CloudDatastore -Name "default" -Graph

Example 5 - Get the usage of all datastores in TB and graph them

Get-CloudDatastore -Graph -TB

Get-CloudDocument

Source File: cloud-document.ps1 Synopsis: Gets documents from the Cloud Server.

Description: Retrieves a list of documents. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all documents

Get-CloudDocument

Example 2 - Get a document by ID

Get-CloudDocument -ID 5

Example 3 - Get a document by name

Get-CloudDocument -Name "config.json"

Get-CloudGroup

Source File: cloud-group.ps1 Synopsis: Gets groups from the Cloud Server.

Description: Retrieves a list of groups. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Nullable1 False - - -
Name String False - - -

Example(s)

Example 1 - Get all groups

Get-CloudGroup

Example 2 - Get a group by ID

Get-CloudGroup -ID 5

Example 3 - Get groups that match a specific name string

Get-CloudGroup -Name "admins"

Get-CloudGroupQuota

Source File: cloud-group.ps1 Synopsis: Gets the default group quota from the Cloud Server.

Description: Retrieves the quota for the default group. Automatically handles token refresh.

Example(s)

Example 1 - Get the quota for the default group

Get-CloudGroupQuota

Get-CloudHook

Source File: cloud-hook.ps1 Synopsis: Gets hooks from the Cloud Server.

Description: Retrieves a list of hooks. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all hooks

Get-CloudHook

Example 2 - Get a hook by ID

Get-CloudHook -ID 5

Example 3 - Get a hook by name

Get-CloudHook -Name "vm-creation"

Get-CloudHookLogs

Source File: cloud-hook.ps1 Synopsis: Gets hook logs from the Cloud Server.

Description: Retrieves hook logs for a specific hook. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
HookID Int32 True - - -
MaxDate DateTime True - - -
MinDate DateTime True - - -

Example(s)

Example 1 - Get logs for a hook with a date range

Get-CloudHookLog -HookID 5 -MinDate "2025-01-01" -MaxDate "2025-01-31"

Example 2 - Get logs for a hook for the past 7 days

Get-CloudHookLog -HookID 5 -MinDate (Get-Date).AddDays(-7) -MaxDate (Get-Date)

Example 3 - Get logs for a hook for the past 24 hours

Get-CloudHookLog -HookID 14 -MinDate (Get-Date).AddDays(-1) -MaxDate (Get-Date)

Get-CloudHost

Source File: cloud-host.ps1 Synopsis: Gets hosts from the Cloud Server.

Description: Retrieves a list of hosts. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all hosts

Get-CloudHost

Example 2 - Get a host by specifying an ID

Get-CloudHost -ID 5

Example 3 - Get hosts that match the specified name string

Get-CloudHost -Name si-overlapped-2

Get-CloudHostMonitoring

Source File: cloud-host.ps1 Synopsis: Gets host metrics from the Cloud Server.

Description: Retrieves host metrics. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ExportCSV String False - - -
GB SwitchParameter False - - -
Graph SwitchParameter False - - -
GroupByHost SwitchParameter False - - -
ID Int32 False - - -
Seconds Int32 False - - -
TB SwitchParameter False - - -

Example(s)

Example 1 - Get host metrics for all hosts

Get-CloudHostMonitoring

Example 2 - Get host metrics for a specific host

Get-CloudHostMonitoring -ID 5

Example 3 - Get host metrics for a specific period of time

Get-CloudHostMonitoring -Seconds 90

Example 4 - Get host metrics for all hosts for a specific period of time and graph them

Get-CloudHostMonitoring -Seconds 90 -Graph

Example 5 - Get host metrics for all hosts for a specific period of time, average the metrics out per-host, and graph them

Get-CloudHostMonitoring -Seconds 300 -Graph -GroupByHost

Example 6 - Get host metrics for a specific host for a specific period of time and graph them

Get-CloudHostMonitoring -Seconds 60 -ID 5 -Graph

Example 7 - Get all most metrics for the past 5 minutes and export them to CSV

Get-CloudHostMonitoring -Seconds 300 -ExportCSV "C:\Temp\host-monitoring.csv"

Example 8 - Get most metrics for a certain host, for the past hour and export them to CSV

Get-CloudHostMonitoring -Seconds 3600 -ID 2 -ExportCSV "C:\Temp\host2-monitoring.csv"

Get-CloudHostPerformance

Source File: cloud-host.ps1 Synopsis: Gets and displays host performance metrics from the Cloud Server.

Description: Retrieves host performance metrics with optional graphical display. Shows CPU and memory utilization with visual percentage graphs. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GB SwitchParameter False - - -
Graph SwitchParameter False - - -
GroupByHost SwitchParameter False - - -
ID Int32 False - - -
Seconds Int32 False - - -
TB SwitchParameter False - - -

Example(s)

Example 1 - Get host performance

Get-CloudHostPerformance

Example 2 - Get host performance displayed graphically

Get-CloudHostPerformance -Graph

Example 3 - Get host performance displayed graphically for a specific host

Get-CloudHostPerformance -Graph -ID 5

Example 4 - Get host performance displayed graphically for the a specified time period only

Get-CloudHostPerformance -Seconds 90 -Graph

Example 5 - Get host performance displayed graphically and average the per-host values out over the time period

Get-CloudHostPerformance -Seconds 60 -Graph -GroupByHost

Example 6 - Get host performance displayed graphically and change the display units

Get-CloudHostPerformance -Graph -TB

Get-CloudImage

Source File: cloud-image.ps1 Synopsis: Gets images from the Cloud Server.

Description: Retrieves a list of images. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all cloud images

Get-CloudImage

Example 2 - Get the cloud image with the name "web-server-01"

Get-CloudImage -Name "web-server-01"

Example 3 - Get the cloud image with the ID 561

Get-CloudImage -ID 561

Get-CloudImageSnapshot

Source File: cloud-image.ps1 Synopsis: Gets snapshots for Cloud images.

Description: Retrieves all snapshots for one or more images. Shows snapshot details including date, size, parent relationships, and active status.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ImageID Int32 False ByValue, ByPropertyName - -
SnapshotID Int32 False - - -

Example(s)

Example 1 - Get all snapshots for image 50

Get-CloudImageSnapshot -ImageID 50

Example 2 - Get a specific snapshot

Get-CloudImageSnapshot -ImageID 50 -SnapshotID 0

Example 3 - Get snapshots for all images

Get-CloudImageSnapshot

Example 4 - Get snapshots from pipeline

Get-CloudImage -ID 50 | Get-CloudImageSnapshot

Example 5 - Get snapshots with formatted date

Get-CloudImageSnapshot -ImageID 50 | Format-Table image_name, id, name, date_formatted, size

Get-CloudInstanceShowback

Source File: cloud-instance.ps1 Synopsis: Retrieves instance showback data for a specified time period.

Description: Returns a list of instances showback information. All parameters are optional. If no date range is specified, returns data for all available periods. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
EndMonth Int32 False - - -
EndYear Int32 False - - -
ExportCsv String False - - -
Filter String False - - -
StartMonth Int32 False - - -
StartYear Int32 False - - -

Example(s)

Example 1 - Get all showback data

Get-CloudInstanceShowback

Example 2 - Get showback data for October 2025

Get-CloudInstanceShowback -StartMonth 10 -EndMonth 10 -StartYear 2025 -EndYear 2025

Example 3 - Export showback data to CSV

Get-CloudInstanceShowback -StartMonth 10 -EndMonth 12 -StartYear 2025 -EndYear 2025 -ExportCsv "C:\Reports\showback-Q4-2025.csv"

Example 4 - Get showback data for Q4 2025 with filter and export to CSV

Get-CloudInstanceShowback -StartMonth 10 -EndMonth 12 -StartYear 2025 -EndYear 2025 -Filter "user=admin" -ExportCsv ".\admin-showback.csv"

Example 5 - Get showback data for specific year only

Get-CloudInstanceShowback -StartYear 2025 -EndYear 2025

Get-CloudMarket

Source File: cloud-market.ps1 Synopsis: Gets markets from the Cloud Server.

Description: Retrieves a list of markets. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Nullable1 False - - -
Name String False - - -

Example(s)

Example 1 - Get all markets

Get-CloudMarket

Example 2 - Get market by ID

Get-CloudMarket -ID 5

Example 3 - Get market by name

Get-CloudMarket -Name SoftIron

Get-CloudMarketApp

Source File: cloud-market.ps1 Synopsis: Gets market apps from the Cloud Server.

Description: Retrieves a list of market apps. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Nullable1 False - - -
Name String False - - -

Example(s)

Example 1 - Get all market apps

Get-CloudMarketApp

Example 2 - Get market app by app ID

Get-CloudMarketApp -ID 5

Example 3 - Get market apps by app name

Get-CloudMarketApp -Name Debian

Get-CloudNetwork

Source File: cloud-network.ps1 Synopsis: Gets networks from the Cloud Server.

Description: Retrieves a list of networks. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Nullable1 False - - -
Name String False - - -

Example(s)

Example 1 - Get all networks

Get-CloudNetwork

Example 2 - Get network by ID

Get-CloudNetwork -ID 5

Example 3 - Get network by name

Get-CloudNetwork -Name "VPN-net"

Get-CloudNetworkTemplate

Source File: cloud-network.ps1 Synopsis: Gets network templates from the Cloud Server.

Description: Retrieves a list of network templates. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Nullable1 False - - -
Name String False - - -

Example(s)

Example 1 - Get all network templates

Get-CloudNetworkTemplate

Example 2 - Get network template by ID

Get-CloudNetworkTemplate -ID 5

Example 3 - Get network template by name

Get-CloudNetworkTemplate -Name "Linux-Net-Template"

Get-CloudRouter

Source File: cloud-router.ps1 Synopsis: Gets routers from the Cloud Server.

Description: Retrieves a list of routers. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all virtual routers

Get-CloudRouter

Example 2 - Get virtual routers matching a name string

Get-CloudRouter -Name "web-server-01"

Example 3 - Get a virtual router by ID

Get-CloudRouter -ID 561

Get-CloudRouterTemplate

Source File: cloud-router.ps1 Synopsis: Gets template from the Cloud Server.

Description: Retrieves a list of templates. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all virtual router templates

Get-CloudRouterTemplate

Example 2 - Get virtual router templates matching a name string

Get-CloudRouterTemplate -Name "debian-router"

Get-CloudSecurityGroup

Source File: cloud-securitygroup.ps1 Synopsis: Returns security groups from the Cloud Server.

Description: Retrieves a list of security groups. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - List all security groups

Get-CloudSecurityGroup

Example 2 - List security groups matching a name string

Get-CloudSecurityGroup -Name "WebServers"

Example 3 - Get a specific security group by ID

Get-CloudSecurityGroup -ID 561

Get-CloudSystemConfig

Source File: cloud-system.ps1 Synopsis: Retrieves the config from the Cloud Server.

Description: Retrieves a the full cloud config. Automatically handles token refresh.

Example(s)

Example 1 - Retrieve the full configuration

Get-CloudSystemConfig

Get-CloudSystemVersion

Source File: cloud-system.ps1 Synopsis: Retrieves the version from the Cloud Server.

Description: Retrieves the current cloud version. Automatically handles token refresh.

Example(s)

Example 1 - Return the current version

Get-CloudSystemversion

Get-CloudTemplate

Source File: cloud-template.ps1 Synopsis: Gets template from the Cloud Server.

Description: Retrieves a list of templates. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - List all templates

Get-CloudTemplate

Example 2 - List templates matching a name string

Get-CloudTemplate -Name "web-server-01"

Get-CloudTenant

Source File: extra.ps1 Synopsis: Gets information about a tenant's resources.

Description: Retrieves and displays all resources associated with a tenant, including groups, users, networks, and ACLs.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
IncludeACLs SwitchParameter False - - -
TenantName String True - - -

Example(s)

Example 1 - Get tenants matching a name string

Get-CloudTenant -TenantName "Acme"

Example 2 - Get tenants matching a specific name string and also return the associated ACLs

Get-CloudTenant -TenantName "Acme" -IncludeACLs

Get-CloudUser

Source File: cloud-user.ps1 Synopsis: Gets users from the Cloud Server.

Description: Retrieves a list of users. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all users

Get-CloudUser

Example 2 - Get users matching a specific name string

Get-CloudUser -Name "admin"

Example 3 - Get a specific user by ID

Get-CloudUser -ID 561

Get-CloudUserQuota

Source File: cloud-user.ps1 Synopsis: Gets default user quota from the Cloud Server.

Description: Retrieves the default user quota. Automatically handles token refresh.

Example(s)

Example 1 - Get the default user quota

Get-CloudUserQuota

Get-CloudVM

Source File: cloud-instance.ps1 Synopsis: Gets virtual machines from the Cloud Server.

Description: Retrieves a list of virtual machines. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all VMs

Get-CloudVM

Example 2 - Get a VM by name

Get-CloudVM -Name "web-server-01"

Example 3 - Get a VM by ID

Get-CloudVM -ID 561

Get-CloudVMAccounting

Source File: cloud-instance.ps1 Synopsis: Gets virtual machine accounting data from the Cloud Server.

Description: Retrieves a list of virtual machines. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
MaxDate DateTime False - - -
MinDate DateTime False - - -
Name String False - - -

Example(s)

Example 1

Get-CloudVM

Example 2

Get-CloudVM -Name "web-server-01"

Example 3

Get-CloudVM -ID 561

Get-CloudVMDisk

Source File: cloud-instance.ps1 Synopsis: Gets virtual machine's disk info from the Cloud Server.

Description: Retrieves a list of the virtual machine's disks. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DiskId Int32 False - - -
Id Int32 True ByValue, ByPropertyName - -

Example(s)

Example 1

Get-CloudVMDisk -ID 68

Example 2

Can also be used in a pipeline:
        Get-CloudVM -ID 68 | Get-CloudVMDisk

Get-CloudVMDiskSnapshot

Source File: cloud-instance.ps1 Synopsis: Gets a flattened list of disk snapshots for a VM.

Description: Retrieves all disk snapshots for a specified VM and flattens the output to make it easier to see which disks have which snapshots. Automatically converts Unix timestamps to readable dates.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
VMID Int32 True ByValue, ByPropertyName - -

Example(s)

Example 1 - Get all snapshots for VM 77

Get-CloudVMDiskSnapshot -VMID 77

Example 2 - Get snapshots and display as table

Get-CloudVMDiskSnapshot -VMID 77 | Format-Table VMName, DiskID, SnapshotName, DateFormatted, Size

Example 3 - Get snapshots for specific disk

Get-CloudVMDiskSnapshot -VMID 77 | Where-Object { $_.DiskID -eq 3 }

Example 4 - Export to CSV

Get-CloudVMDiskSnapshot -VMID 77 | Export-Csv -Path "vm-77-snapshots.csv" -NoTypeInformation

Get-CloudVMGroup

Source File: cloud-instance.ps1 Synopsis: Gets virtual machine groups from the Cloud Server.

Description: Retrieves a list of virtual machine groups. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all VM groups

Get-CloudVMGroup

Example 2 - Get VM group by name

Get-CloudVMGroup -Name "web-servers"

Example 3 - Get VM group by ID

Get-CloudVMGroup -ID 561

Get-CloudVMMonitoring

Source File: cloud-instance.ps1 Synopsis: Gets virtual machine monitoring data from the Cloud Server.

Description: Retrieves virtual machine monitoring data. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Avg SwitchParameter False - - -
ExportCSV String False - - -
GB SwitchParameter False - - -
Graph SwitchParameter False - - -
ID Int32 True - - -
Max SwitchParameter False - - -
Min SwitchParameter False - - -
Seconds Int32 False - - -
TB SwitchParameter False - - -

Example(s)

Example 1

Get-CloudVMMonitoring -ID 561

Example 2

Get-CloudVMMonitoring -ID 79 -Graph

Example 3

Get-CloudVMMonitoring -ID 79 -Seconds 300

Example 4

Get-CloudVMMonitoring -ID 79 -Seconds 180 -Graph -Avg

Example 5

Get-CloudVMMonitoring -ID 79 -Seconds 300 -Graph -Max

Example 6

Get-CloudVMMonitoring -ID 79 -Graph -TB

Example 7

Get-CloudVMMonitoring -ID 79 -ExportCSV "C:\Temp\vm79-monitoring.csv"

Get-CloudVMMonitoring2

Source File: cloud-instance.ps1 Synopsis: Gets virtual machine monitoring data from the Cloud Server.

Description: Retrieves virtual machine monitoring data. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ExportCSV String False - - -
ID Int32 True - - -

Example(s)

Example 1

Get-CloudVMMonitoring -ID 561

Example 2

Get-CloudVMMonitoring -ID 79 -ExportCSV "C:\Temp\vm79-monitoring.csv"

Get-CloudVMNIC

Source File: cloud-instance.ps1 Synopsis: Gets virtual machine's NIC info from the Cloud Server.

Description: Retrieves a list of the virtual machine's NICs. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Id Int32 True ByValue, ByPropertyName - -
NicId Int32 False - - -

Example(s)

Example 1

Get-CloudVMNIC -ID 68

Example 2

Can also be used in a pipeline:
        Get-CloudVM -ID 68 | Get-CloudVMNIC

Get-CloudVMRecommendation

Source File: extra.ps1 Synopsis: Analyzes VM performance metrics and recommends optimal CPU and memory sizing.

Description: This function retrieves VM configuration and monitoring data, analyzes utilization patterns, and provides rightsizing recommendations based on actual usage with appropriate headroom.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
CPUHeadroomPercent Int32 False - - 20
CPUTargetUtilization Int32 False - - 70
MemoryHeadroomPercent Int32 False - - 15
MemoryTargetUtilization Int32 False - - 80
MinimumCPU Int32 False - - 1
MinimumMemoryMB Int32 False - - 1024
MonitoringPeriodHours Int32 False - - 24
UsePercentiles SwitchParameter False - - $true
VMId Int32 True ByValue - -

Example(s)

Example 1 - Analyzes VM 83 and provides sizing recommendations using default thresholds.

Get-CloudVMRecommendation -VMId 83

Example 2 - Analyzes VM 83 using 95th percentile values with a 60% target CPU utilization.

Get-CloudVMRecommendation -VMId 83 -UsePercentiles -CPUTargetUtilization 60

Example 3 - Analyzes VM 83 using 72 hours of monitoring data.

Get-CloudVMRecommendation -VMId 83 -MonitoringPeriodHours 72

Get-CloudVMRecommendations

Source File: extra.ps1 Synopsis: Analyzes multiple VMs and provides sizing recommendations with summary totals.

Description: Retrieves all VMs (or filtered VMs) and analyzes their performance metrics to provide rightsizing recommendations. Displays summary of total CPU and memory changes across all VMs.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
CPUHeadroomPercent Int32 False - - 20
CPUTargetUtilization Int32 False - - 70
ExportCSV String False - - -
MemoryHeadroomPercent Int32 False - - 15
MemoryTargetUtilization Int32 False - - 80
MonitoringPeriodHours Int32 False - - 24
ShowOnlyChanges SwitchParameter False - - -
UsePercentiles SwitchParameter False - - $true
VMIds Int32[] False - - -

Example(s)

Example 1 - Analyzes all VMs with default settings.

Get-CloudVMRecommendations

Example 2 - Analyzes all VMs using 95th percentile and shows only VMs that need changes.

Get-CloudVMRecommendations -UsePercentiles -ShowOnlyChanges

Example 3 - Analyzes specific VMs and exports results to CSV.

Get-CloudVMRecommendations -VMIds 83,84,85 -ExportCSV "C:\Reports\vm-recommendations.csv"

Example 4 - Analyzes all VMs with 72 hours of data and 60% CPU target.

Get-CloudVMRecommendations -MonitoringPeriodHours 72 -CPUTargetUtilization 60

Get-CloudVMSchedule

Source File: cloud-instance.ps1 Synopsis: Gets scheduled actions for a Cloud VM instance.

Description: Retrieves all scheduled actions configured for a VM, including one-time and recurring schedules.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByValue, ByPropertyName - -
ScheduleID Int32 False - - -

Example(s)

Example 1 - Get all schedules for VM 77

Get-CloudVMSchedule -ID 77

Example 2 - Get a specific schedule

Get-CloudVMSchedule -ID 77 -ScheduleID 0

Example 3 - Get schedules from pipeline

Get-CloudVM -ID 77 | Get-CloudVMSchedule

Example 4 - Get schedules and format as table

Get-CloudVMSchedule -ID 77 | Format-Table ID, Action, TimeFormatted, DoneFormatted, Repeat

Get-CloudVMSnapshot

Source File: cloud-instance.ps1 Synopsis: Gets virtual machine's snapshots from the Cloud Server.

Description: Retrieves and parses the VM template details. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Id Int32 True ByValue, ByPropertyName - -
SnapshotId Int32 False - - -

Example(s)

Example 1

Get-CloudVMSnapshot -ID 68

Example 2

Get-CloudVMSnapshot -ID 68 -SnapshotID 0

Example 3

Get-CloudVM -ID 68 | Get-CloudVMSnapshot

Get-CloudVMTemplateDetail

Source File: cloud-instance.ps1 Synopsis: Gets virtual machine template details from the Cloud Server.

Description: Retrieves and parses the VM template details. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Id Int32 True ByValue, ByPropertyName - -

Example(s)

Example 1

Get-CloudVMTemplateDetail -ID 68

Example 2

Get-CloudVM -ID 68 | Get-CloudVMTemplateDetail

Get-CloudZone

Source File: cloud-zone.ps1 Synopsis: Gets zones from the Cloud Server.

Description: Retrieves a list of zones. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all cloud zones

Get-CloudZone

Example 2 - Get zone by ID

Get-CloudZone -ID 5

Example 3 - Get zones matching a specific name string

Get-CloudZone -Name "zone-1"

Get-CloudZoneRaft

Source File: cloud-zone.ps1 Synopsis: Gets zone rafts from the Cloud Server.

Description: Retrieves a list of zone rafts. Automatically handles token refresh.

Example(s)

Example 1 - Get all zone rafts

Get-CloudZoneRaft

Get-MetalCapacity

Source File: metal.ps1 Synopsis: Gets metal capacity from the Cloud Server.

Description: Retrieves the metal Capacity. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
B SwitchParameter False - - -
EB SwitchParameter False - - -
GB SwitchParameter False - - -
Graph SwitchParameter False - - -
KB SwitchParameter False - - -
MB SwitchParameter False - - -
TB SwitchParameter False - - -

Example(s)

Example 1 - Get the capacity of the hosts

Get-MetalCapacity

Example 2 - Get the capacity of the hosts and display what is used graphically

Get-MetalCapacity -Graph

Example 3 - Get the capacity of the hosts in GB and display what is used graphically

Get-MetalCapacity -Graph -GB

Example 4 - Get the capacity of the hosts in TB

Get-MetalCapacity -TB

Get-MetalHost

Source File: metal.ps1 Synopsis: Gets metal hosts from the Cloud Server.

Description: Retrieves a list of metal hosts. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get all hosts

Get-MetalHost

Example 2 - Get a host by ID

Get-MetalHost -ID 5

Example 3 - Get a host by name

Get-MetalHost -Name si-storage-1

Get-MetalLicense

Source File: metal.ps1 Synopsis: Gets metal license from the Cloud Server.

Description: Retrieves the metal license. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 False - - -
Name String False - - -

Example(s)

Example 1 - Get the current license status

Get-MetalLicense#

Get-MetalStorage

Source File: metal.ps1 Synopsis: Gets metal storage (Ceph) information from the Cloud Server.

Description: Retrieves metal storage cluster status including health, capacity, OSDs, and PGs. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GB SwitchParameter False - - -
Graph SwitchParameter False - - -
ShowFlags SwitchParameter False - - -
TB SwitchParameter False - - -

Example(s)

Example 1 - Get storage information

Get-MetalStorage

Example 2 - Get storage information and display it graphically

Get-MetalStorage -Graph

Example 3 - Get storage flags currently applied

Get-MetalStorage -ShowFlags

Example 4 - Get storage flags currently applied and show stats graphically

Get-MetalStorage -Graph -ShowFlags

Example 5 - Get storage information in TB and display stats graphically

Get-MetalStorage -Graph -TB

Get-SoftIronVersion

Source File: cloud-system.ps1 Synopsis: Retrieves the version from the Cloud Server.

Description: Retrieves the current cloud version. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Adventure SwitchParameter False - - -
Logo SwitchParameter False - - -

Example(s)

Example 1 - Get the product and release version

Get-SoftIronVersion

Example 2 - ???

Get-SoftIronVersion -Adventure

Invoke-CloudSecurityGroup

Source File: cloud-securitygroup.ps1 Synopsis: Commit security group changes to associated VMs on the Cloud server.

Description: Commit security group changes to associated VMs. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Clone the security group with ID 5 and prompt for confirmation

Invoke-CloudSecurityGroup -ID 5

Example 2 - Clone the security group with ID 5 and bypass confirmation

Invoke-CloudSecurityGroup -ID 5 -confirm:$false

Invoke-CloudTemplate

Source File: cloud-template.ps1 Synopsis: Instantiates a virtual machine from a template on the Cloud Server.

Description: Instantiates a virtual machine from a template. Prompts for custom inputs if required. Allows overriding CPU, memory, and disk size. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
CPU Decimal False - - -
DiskCopy Boolean False - - $false
DiskSize Int32 False - - -
Hold Boolean False - - $false
ID Int32 True - - -
JSON String False - - -
Memory Int32 False - - -
Name String False - - -
VCPU Int32 False - - -

Example(s)

Example 1 - Create an instance from a template

Invoke-CloudTemplate -ID 31 -Name "MyNewVM"

Example 2 - Create an instance from a template with specific, parameterized overrides

Invoke-CloudTemplate -ID 31 -Name "MyNewVM" -VCPU 4 -Memory 4096 -DiskSize 20480

Example 3 - Create an instance from a template with an override configuration from a JSON file

Invoke-CloudTemplate -ID 31 -JSON "C:\configs\myvm.json"

        Example JSON contents:
        {
          "NAME": "MyNewVM",
          "CPU": "0.3",
          "VCPU": 4,
          "MEMORY": 4096,
          "DISK": {
            "SIZE": "20480"
          },
          "NIC": {
            "METHOD": "DHCP",
            "NETWORK": "Dev",
            "SECURITY_GROUPS": "0,100"
          },
          "GRAPHICS": {
            "LISTEN": "0.0.0.0",
            "TYPE": "VNC",
            "RANDOM_PASSWD": "NO"
          }
        }

Invoke-CloudVMRecommendation

Source File: extra.ps1 Synopsis: Applies VM sizing recommendations to resize a VM's CPU and memory.

Description: Takes recommendations from Get-CloudVMRecommendation and applies them to the VM. Supports dry-run mode, selective application (CPU only, memory only), and confirmation prompts. When downsizing, the VM will be stopped (with confirmation), resized, then restarted.

CmdletBinding: Yes | SupportsShouldProcess: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
CPU SwitchParameter False - - -
Force SwitchParameter False - - -
Memory SwitchParameter False - - -
MonitoringPeriodHours Int32 False - - 24
NoRestart SwitchParameter False - - -
Recommendation PSObject True ByValue - -
UsePercentiles SwitchParameter False - - -
VMId Int32 True - - -

Example(s)

Example 1 - Gets recommendations for VM 83 and applies them after confirmation.

Invoke-CloudVMRecommendation -VMId 83

Example 2 - Gets recommendations first, then applies them.

$rec = Get-CloudVMRecommendation -VMId 83 -UsePercentiles
        Invoke-CloudVMRecommendation -Recommendation $rec

Example 3

Invoke-CloudVMRecommendation -VMId 83 -CPU -Force
        Applies only CPU changes without confirmation.

Example 4 - Shows what would change without making actual changes.

Invoke-CloudVMRecommendation -VMId 83 -WhatIf

Example 5 - Applies changes but keeps the VM stopped (won't auto-restart after downsizing).

Invoke-CloudVMRecommendation -VMId 83 -NoRestart

Lock-CloudDocument

Source File: cloud-document.ps1 Synopsis: Lock a document in the Cloud Server.

Description: Lock a document. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Level String True - USE, MANAGE, ADMIN, ALL -
Test SwitchParameter False - - -

Example(s)

Example 1 - Lock a document by restricting administrative operations on it

Lock-CloudDocument -ID 5 -Level ADMIN

Example 2 - Test locking a document at a specific level

Lock-CloudDocument -ID 5 -Level USE -Test

Lock-CloudHook

Source File: cloud-hook.ps1 Synopsis: Lock a hook in the Cloud Server.

Description: Lock a hook. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Level String True - USE, MANAGE, ADMIN, ALL -
Test SwitchParameter False - - -

Example(s)

Example 1 - Lock a hook to restrict administrative operations

Lock-CloudHook -ID 5 -Level ADMIN

Example 2 - Test locking a hook

Lock-CloudHook -ID 5 -Level USE -Test

Lock-CloudImage

Source File: cloud-image.ps1 Synopsis: Lock an image in the Cloud Server.

Description: Lock an image. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Level String True - USE, MANAGE, ADMIN, ALL -
Test SwitchParameter False - - -

Example(s)

Example 1 - Lock the image 5 to the level ADMIN

Lock-CloudImage -ID 5 -Level ADMIN

Example 2 - Shows the results of a test application of lock level USE on image 5

Lock-CloudImage -ID 5 -Level USE -Test

Lock-CloudInstance

Source File: cloud-instance.ps1 Synopsis: Lock an instance in the Cloud Server.

Description: Lock an instance. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Level String True - USE, MANAGE, ADMIN, ALL -
Test SwitchParameter False - - -

Example(s)

Example 1

Lock-CloudInstance -ID 5 -Level ADMIN

Example 2

Lock-CloudInstance -ID 5 -Level USE -Test

Lock-CloudInstanceGroup

Source File: cloud-instance.ps1 Synopsis: Lock an instance group in the Cloud Server.

Description: Lock an instance group. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Level String True - USE, MANAGE, ADMIN, ALL -
Test SwitchParameter False - - -

Example(s)

Example 1

Lock-CloudInstanceGroup -ID 5 -Level ADMIN

Example 2

Lock-CloudInstanceGroup -ID 5 -Level USE -Test

Lock-CloudMarketApp

Source File: cloud-market.ps1 Synopsis: Lock a market app in the Cloud Server.

Description: Lock a market app. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Level String False - USE, MANAGE, ADMIN, ALL "USE"
Test SwitchParameter False - - -

Example(s)

Example 1 - Lock a market app

Lock-CloudMarketApp -ID 5

Example 2 - Test locking an app

Lock-CloudMarketApp -ID 5 -Test

Lock-CloudNetwork

Source File: cloud-network.ps1 Synopsis: Lock a virtual network in the Cloud Server.

Description: Lock a virtual network. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Level String True - USE, MANAGE, ADMIN, ALL -
Test SwitchParameter False - - -

Example(s)

Example 1 - Lock a cloud network to admin operations

Lock-CloudNetwork -ID 5 -Level ADMIN

Example 2 - Test locking a cloud network to use operations

Lock-CloudNetwork -ID 5 -Level USE -Test

Example 3 - Lock a cloud network using a pipeline input

Get-CloudNetwork -ID 3 | Lock-CloudNetwork -Level MANAGE

Lock-CloudNetworkTemplate

Source File: cloud-network.ps1 Synopsis: Lock a virtual network template in the Cloud Server.

Description: Lock a virtual network template. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Level String True - USE, MANAGE, ADMIN, ALL -
Test SwitchParameter False - - -

Example(s)

Example 1 - Lock a cloud network template to admin operations

Lock-CloudNetworkTemplate -ID 5 -Level ADMIN

Example 2 - Test locking a cloud network template to use operations

Lock-CloudNetworkTemplate -ID 5 -Level USE -Test

Example 3 - Lock a network template using a pipeline input

Get-CloudNetworkTemplate -ID 3 | Lock-CloudNetworkTemplate -Level MANAGE

Lock-CloudRouter

Source File: cloud-router.ps1 Synopsis: Lock a virtual router in the Cloud Server.

Description: Lock a virtual router. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Level String True - USE, MANAGE, ADMIN, ALL -
Test SwitchParameter False - - -

Example(s)

Example 1 - Lock a virtual router

Lock-CloudRouter -ID 5 -Level ADMIN

Example 2 - Test locking a virtual router

Lock-CloudRouter -ID 5 -Level USE -Test

Lock-CloudTemplate

Source File: cloud-template.ps1 Synopsis: Lock a virtual template in the Cloud Server.

Description: Lock a virtual template. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Level String True - USE, MANAGE, ADMIN, ALL -
Test SwitchParameter False - - -

Example(s)

Example 1 - Lock a template

Lock-CloudTemplate -ID 5 -Level ADMIN

Example 2 - Test locking a template

Lock-CloudTemplate -ID 5 -Level USE -Test

Merge-CloudImageSnapshot

Source File: cloud-image.ps1 Synopsis: Flattens (merges) an image snapshot.

Description: Flattens a snapshot into the base image, consolidating the snapshot data. This operation merges the snapshot's changes into the parent image.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ImageID Int32 True ByPropertyName - -
SnapshotID Int32 True ByPropertyName - -

Example(s)

Example 1 - Flatten snapshot 0 of image 50

Merge-CloudImageSnapshot -ImageID 50 -SnapshotID 0

Example 2 - Flatten without confirmation

Merge-CloudImageSnapshot -ImageID 50 -SnapshotID 0 -Confirm:$false

Move-CloudVM

Source File: cloud-instance.ps1 Synopsis: Moves/migrates a VM to a different host in the Cloud Server.

Description: Migrates a VM to a different host. Supports both live and offline migration. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DestinationHostID Int32 True - - -
EnforceCapacity Boolean False - - $true
ID Int32 True ByPropertyName - -
Live Boolean False - - $true

Example(s)

Example 1

Live migrate a VM to host 5:
        Move-CloudVM -ID 68 -DestinationHostID 5

Example 2

Offline migrate a VM:
        Move-CloudVM -ID 68 -DestinationHostID 5 -Live $false

Example 3

Migrate without confirmation prompt:
        Move-CloudVM -ID 68 -DestinationHostID 5 -Confirm:$false

Example 4

Pipeline example:
        Get-CloudVM -ID 68 | Move-CloudVM -DestinationHostID 5

Move-CloudVM2

Source File: cloud-instance.ps1 Synopsis: Moves/migrates a VM to a different host in the Cloud Server.

Description: Migrates a VM to a different host. Supports both live and offline migration. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DestinationHostID Int32 True - - -
EnforceCapacity Boolean False - - $true
ID Int32 True ByPropertyName - -
Live Boolean False - - $true

Example(s)

Example 1

Live migrate a VM to host 5:
        Move-CloudVM -ID 68 -DestinationHostID 5

Example 2

Offline migrate a VM:
        Move-CloudVM -ID 68 -DestinationHostID 5 -Live $false

Example 3

Migrate without confirmation prompt:
        Move-CloudVM -ID 68 -DestinationHostID 5 -Confirm:$false

Example 4

Pipeline example:
        Get-CloudVM -ID 68 | Move-CloudVM -DestinationHostID 5

Move-CloudVM3

Source File: cloud-instance.ps1 Synopsis: Moves/migrates a VM to a different host in the Cloud Server.

Description: Migrates a VM to a different host. Supports both live and offline migration. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DestinationHostID Int32 True - - -
EnforceCapacity Boolean False - - $true
Force SwitchParameter False - - -
ID Int32 True ByPropertyName - -
Live SwitchParameter False - - -

Example(s)

Example 1

Live migrate a VM to host 5:
        Move-CloudVM -ID 68 -DestinationHostID 5 -Live

Example 2

Offline migrate a VM with graceful shutdown:
        Move-CloudVM -ID 68 -DestinationHostID 5

Example 3

Offline migrate a VM with hard poweroff:
        Move-CloudVM -ID 68 -DestinationHostID 5 -Force

Example 4

Migrate without confirmation prompt:
        Move-CloudVM -ID 68 -DestinationHostID 5 -Live -Confirm:$false

Example 5

Pipeline example:
        Get-CloudVM -ID 68 | Move-CloudVM -DestinationHostID 5 -Live

Move-CloudVM4

Source File: cloud-instance.ps1 CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DatastoreID Int32 False - - -1
DestinationHostID Int32 True - - -
EnforceCapacity Boolean False - - $true
Force SwitchParameter False - - -
ID Int32 True ByPropertyName - -
Live SwitchParameter False - - -

New-CloudACL

Source File: cloud-acl.ps1 Synopsis: Creates a new ACL rule in the Cloud Server.

Description: Creates an ACL rule with automatic encoding. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
AllUsers SwitchParameter True - - -
AllZones SwitchParameter True - - -
GroupID Int32 True - - -
ResourceGroupID Int32 False - - -1
ResourceID Int32 False - - -1
ResourceType String[] True - VM, HOST, NET, IMAGE, USER, TEMPLATE, GROUP, DATASTORE, CLUSTER, DOCUMENT, ZONE, SECGROUP, VDC, VROUTER, MARKETPLACE, MARKETPLACEAPP, VMGROUP, VNTEMPLATE, BACKUPJOB -
Rights String[] True - USE, MANAGE, ADMIN, CREATE -
UserID Int32 True - - -
ZoneID Int32 True - - -

Example(s)

Example 1 - Give user #4 read-only access to all HOSTs in all zones

New-CloudACL -UserID 4 -ResourceType "HOST" -Rights "USE" -AllZones

Example 2 - Give group @1 manage access to all VMs, Images, and Templates in zone 0

New-CloudACL -GroupID 1 -ResourceType "VM","IMAGE","TEMPLATE" -Rights "USE","MANAGE" -ZoneID 0

Example 3 - Give user #4 admin access to specific VM #10

New-CloudACL -UserID 4 -ResourceType "VM" -ResourceID 10 -Rights "USE","MANAGE","ADMIN" -AllZones

New-CloudBlankDisk

Source File: cloud-image.ps1 Synopsis: Creates a new generic datablock image on the Cloud Server.

Description: Creates a new blank disk image. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DatastoreID Int32 True - - 100
Name String True - - -
Size Int32 True - - 1024

Example(s)

Example 1 - Creates a new blank disk image named "BlankDisk" of default size 1024MB on default datastore 100

New-CloudBlankDisk -Name "BlankDisk"

Example 2 - Creates a 10GB/10240MB disk image named "Data-Disk-01" on datastore 2

New-CloudBlankDisk -Name "Data-Disk-01" -Size 10240 -DatastoreID 2

New-CloudDocument

Source File: cloud-document.ps1 Synopsis: Creates a new document in the Cloud Server.

Description: Creates a document object in OpenNebula. Documents are generic objects that can store arbitrary data in their template.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Template String True - - -
Type Int32 False - - 0

Example(s)

Example 1 - Create a generic document with this template:

$template = "NAME=`"MyDocument`"`nDESCRIPTION=`"Test document`"`nCUSTOM_DATA=`"Some value`""
        New-CloudDocument -Template $template -Type 0

Example 2 - Create a file based on the config saved into a Powershell variable

$template = @"
NAME="config.json"
DESCRIPTION="Configuration file"
TYPE="file"
"@
        New-CloudDocument -Template $template -Type 1

New-CloudGroup

Source File: cloud-group.ps1 Synopsis: Creates a group on the Cloud Server.

Description: Creates a new cloud group. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Medium

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Name String True - - -

Example(s)

Example 1 - Create a new group

New-CloudGroup -Name "Accounting"

New-CloudGroupAdmin

Source File: cloud-group.ps1 Synopsis: Defines an admin in a group on the Cloud Server.

Description: Defines an admin in a group. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Medium

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
User Int32 True - - -

Example(s)

Example 1 - Define a user a group admin

New-CloudGroupAdmin -ID 102 -User 12

New-CloudHook

Source File: cloud-hook.ps1 Synopsis: Creates a new hook in the Cloud Server.

Description: Creates a hook that triggers on specific OpenNebula events. Hooks can execute commands, scripts, or send notifications when specific API calls are made or resource states change. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Low

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Template String True ByValue - -

Example(s)

Example 1 - Create an API Hook: Log when VMs are created

$template = @"
NAME="vm-creation-logger"
TYPE="api"
COMMAND="/usr/bin/logger"
ARGUMENTS="VM Created - ID: `$ID"
CALL="one.vm.allocate"
"@
        New-CloudHook -Template $template

Example 2 - Create a n API Hook: Send email notification when VM is deleted

$template = @"
NAME="vm-deletion-alert"
TYPE="api"
COMMAND="/usr/local/bin/send-alert.sh"
ARGUMENTS="`$TEMPLATE"
CALL="one.vm.delete"
"@
        New-CloudHook -Template $template

Example 3 - Create a State Hook: Execute script when VM goes to RUNNING state

$template = @"
NAME="vm-running-webhook"
TYPE="state"
COMMAND="/usr/local/bin/vm-started.sh"
ARGUMENTS="`$ID `$TEMPLATE"
ON="RUNNING"
RESOURCE="VM"
"@
        New-CloudHook -Template $template

Example 4 - Create a State Hook: Trigger on VM failure states

$template = @"
NAME="vm-failure-alert"
TYPE="state"
COMMAND="/usr/local/bin/alert-admin.sh"
ARGUMENTS="VM `$ID failed - `$PREV_STATE to `$CUR_STATE"
ON="FAILED"
RESOURCE="VM"
"@
        New-CloudHook -Template $template

Example 5 - Create an API Hook: Monitor host operations

$template = @"
NAME="host-monitor"
TYPE="api"
COMMAND="/var/lib/one/hooks/host-change.py"
ARGUMENTS="`$ID `$TEMPLATE"
CALL="one.host.update"
"@
        New-CloudHook -Template $template

Example 6 - Create a State Hook: Network monitoring

$template = @"
NAME="network-state-monitor"
TYPE="state"
COMMAND="/usr/local/bin/network-alert.sh"
ARGUMENTS="`$ID"
ON="ERROR"
RESOURCE="VNET"
REMOTE="no"
"@
        New-CloudHook -Template $template

Example 7 - Create an API Hook: Image creation tracking with multiple arguments

$template = @"
NAME="image-creation-tracker"
TYPE="api"
COMMAND="/opt/monitoring/track-image.py"
ARGUMENTS="--image-id `$ID --timestamp `$(date +%s) --user `$UNAME"
CALL="one.image.allocate"
"@
        New-CloudHook -Template $template

New-CloudImage

Source File: cloud-image.ps1 Synopsis: Creates a new image on the Cloud Server.

Description: Creates a new image of various types (OS disk, ISO, or data block). Can create blank images or upload from a file path.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DatastoreID Int32 False - - 100
Description String False - - -
DevPrefix String False - - -
Driver String False - raw, qcow2, vmdk 'raw'
Name String True - - -
Path String False - - -
Persistent SwitchParameter False - - -
Size Int32 False - - -
Type String True - OS, CDROM, Datablock -

Example(s)

Example 1 - Create a blank data disk

New-CloudImage -Name "Data-Disk-01" -Type Datablock -Size 10240

Example 2 - Upload an ISO

New-CloudImage -Name "Ubuntu 24.04" -Type CDROM -Path "/path/to/ubuntu.iso"

Example 3 - Upload an OS disk

New-CloudImage -Name "Windows Server 2022" -Type OS -Path "/path/to/disk.qcow2" -Driver qcow2 -Description "Windows Server base image"

Example 4 - Create a persistent image

New-CloudImage -Name "Shared-Data" -Type Datablock -Size 51200 -Persistent

Example 5 - Upload a QCOW2 from a URL

New-CloudImage -Name "Ubuntu-2204-Cloud" -Type OS -Path "https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img" -Driver qcow2 -Description "Ubuntu 22.04 Cloud"

New-CloudInstanceShowback

Source File: cloud-instance.ps1 Synopsis: Retrieves instance showback data for a specified time period.

Description: Generates showback (cost/usage) data for instances within a specified date range. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
EndMonth Int32 True - - -
EndYear Int32 True - - -
StartMonth Int32 True - - -
StartYear Int32 True - - -

Example(s)

Example 1 - Get showback data for October 2025

New-CloudInstanceShowback -StartMonth 10 -EndMonth 10 -StartYear 2025 -EndYear 2025

Example 2 - Get showback data for Q4 2025 (October through December)

New-CloudInstanceShowback -StartMonth 10 -EndMonth 12 -StartYear 2025 -EndYear 2025

Example 3 - Get showback data across year boundary

New-CloudInstanceShowback -StartMonth 11 -EndMonth 2 -StartYear 2024 -EndYear 2025

Example 4 - Get full year showback data

New-CloudInstanceShowback -StartMonth 1 -EndMonth 12 -StartYear 2025 -EndYear 2025

New-CloudMarket

Source File: cloud-market.ps1 Synopsis: Creates a new cloud market on the Cloud Server.

Description: Creates a new cloud market. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Description String False - - -
Endpoint String True - - -
Name String True - - -
S3Bucket String False - - -
S3Key String False - - -
S3Region String False - - -
S3Secret String False - - -
Type String True - - -

Example(s)

Example 1 - Create a new market backed by SoftIron's community marketplace. Requires credentials

New-CloudMarket -Name "NewMarket" -Type static -Endpoint "https://USERNAME:PASSWORD@marketplace.softiron.cloud/community/metadata/

Example 2 - Create a new market backed by an existing S3 bucket

New-CloudMarket -Name "S3-Market" -Type s3 -Description "S3-Market" -S3Key IS3ykrgDMA3mKZMIh943i -S3Secret Qk3ykKUw8xp2uvXcbiLp5N3ykmgUJfBpywt23wpvw -Endpoint "https://s3.storage.local" -S3Region "US-EAST" -S3Bucket "marketplace"

New-CloudMarketApp

Source File: cloud-market.ps1 Synopsis: Allocates a new marketplace app on the Cloud Server.

Description: Creates a new marketplace app in a specified market. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
AdditionalParams Hashtable False - - -
Description String False - - -
Format String False - - -
MarketId Int32 True - - -
Name String True - - -
OriginId String False - - -
Publisher String False - - -
Type String True - - -
Version String False - - -

Example(s)

Example 1 - Create a new marketplace app for an image

New-CloudMarketApp -MarketId 5 -Name "Ubuntu-22.04" -Type "IMAGE" -OriginId 42 -Description "Ubuntu 22.04 LTS Server" -Publisher "Canonical" -Version "22.04" -Format "qcow2"

Example 2 - Create a marketplace app with additional custom parameters

$additionalParams = @{
            "SIZE" = "10240"
            "MD5" = "a1b2c3d4e5f6"
        }
        New-CloudMarketApp -MarketId 5 -Name "CustomApp" -Type "IMAGE" -OriginId 10 -AdditionalParams $additionalParams

New-CloudNetwork

Source File: cloud-network.ps1 Synopsis: Creates a new virtual network on the Cloud Server.

Description: Creates a new virtual network using a template string or by specifying a cluster ID and template configuration.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Medium

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Bridge String False - - -
BridgeType String False - - -
ClusterID Int32 True - - -
Description String False - - -
DNS String False - - -
Gateway String False - - -
Name String True - - -
NetworkAddress String False - - -
NetworkMask String False - - -
PassThru SwitchParameter False - - -
TemplateText String True - - -
VNMad String False - - -

Example(s)

Example 1 - Create a network

New-CloudNetwork -ClusterID 0 -TemplateText @"
        NAME = "Production Network"
        BRIDGE = br0
        BRIDGE_TYPE = linux
        VN_MAD = fw
        GATEWAY = 192.168.1.1
        NETWORK_MASK = 255.255.255.0
        VLAN_ID = 100
        VLAN = YES
        DNS = "8.8.8.8 8.8.4.4"
        "@

Example 2 - Create a network using individual parameters

New-CloudNetwork -ClusterID 0 -Name "Dev Network" -Bridge "virbr0" -BridgeType "linux" -VNMad "fw" -Gateway "10.0.0.1" -NetworkMask "255.255.255.0"

Example 3 - Create and return the network object

$network = New-CloudNetwork -ClusterID 0 -Name "Test Net" -Bridge "br1" -PassThru

New-CloudNetworkAddressRange

Source File: cloud-network.ps1 Synopsis: Adds an address range to a virtual network.

Description: Creates a new address range in an existing virtual network.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
NetworkID Int32 True ByPropertyName - -
Template String True - - -

Example(s)

Example 1 - Add a new address range to the network

$template = @"
    AR = [
        TYPE = "IP4",
        IP = "192.168.1.100",
        SIZE = "50"
    ]
    "@
        New-CloudNetworkAddressRange -NetworkID 5 -Template $template

New-CloudNetworkFromTemplate

Source File: cloud-network.ps1 Synopsis: Creates a new virtual network from a template.

Description: Instantiates a virtual network from an existing network template. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Extra String False - - -
Name String True - - -
TemplateID Int32 True ByPropertyName - -

Example(s)

Example 1 - Create a network from template 3

New-CloudNetworkFromTemplate -TemplateID 3 -Name "my-gateway-network"

Example 2 - Create with extra parameters to override template settings

$extra = @"
        VN_MAD = "802.1Q"
        VLAN_ID = "200"
        BRIDGE = "onebr.200"
        "@
        New-CloudNetworkFromTemplate -TemplateID 3 -Name "custom-network" -Extra $extra

Example 3 - Override just the VLAN_ID to avoid conflicts

New-CloudNetworkFromTemplate -TemplateID 3 -Name "new-network" -Extra 'VLAN_ID = "50"'

Example 4 - From pipeline

Get-CloudNetworkTemplate -ID 3 | New-CloudNetworkFromTemplate -Name "new-network"

New-CloudNetworkTemplate

Source File: cloud-network.ps1 Synopsis: Creates a new virtual network template in the Cloud Server.

Description: Creates a virtual network template. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Bridge String True - - -
Description String False - - -
DNS String False - - -
Gateway String False - - -
Name String True - - -
NetworkAddress String True - - -
NetworkMask String True - - -
Template String True - - -
VnMad String True - bridge, vxlan, ovswitch, ebtables, fw, 802.1Q, vlan -

Example(s)

Example 1 - Create a new network template with individual flags

New-CloudNetworkTemplate -Name "office-network" -VnMad "bridge" -Bridge "br0" -NetworkAddress "192.168.1.0" -NetworkMask "255.255.255.0"

Example 2 - Create a new network template with individual flags

New-CloudNetworkTemplate -Name "dmz-network" -VnMad "bridge" -Bridge "br1" -NetworkAddress "10.0.0.0" -NetworkMask "255.255.255.0" -Gateway "10.0.0.1" -DNS "8.8.8.8"

Example 3 - Create a new network template with a template variable

$template = @"
    name = "custom-network"
    vn_mad = "bridge"
    bridge = "br0"
    network_address = "172.16.0.0"
    network_mask = "255.255.0.0"
    gateway = "172.16.0.1"
    dns = "8.8.8.8 8.8.4.4"
    description = "Custom network template"
    "@
        New-CloudNetworkTemplate -Template $template

New-CloudRouter

Source File: cloud-router.ps1 Synopsis: Creates a new virtual router in the Cloud Server.

Description: Creates a virtual router. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
KeepalivedID Int32 True - - -
KeepalivedPassword String True - - -
Name String True - - -
Template String True - - -
TemplateID Int32 True - - -

Example(s)

Example 1 - Create a new virtual router with individual parameters

New-CloudRouter -Name "gateway-router" -TemplateID 5 -KeepalivedPassword "secure123" -KeepalivedID 100

Example 2 - Create a new virtual router with a single template variable

$template = @"
NAME="test-router"
TEMPLATE_ID=5
KEEPALIVED_PASSWORD="mypassword"
KEEPALIVED_ID=100
"@
        New-CloudRouter -Template $template

New-CloudRouterFromTemplate

Source File: cloud-router.ps1 Synopsis: Instantiates a virtual router from a template.

Description: Creates a new virtual router instance from an existing router template.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Extra String False - - -
Instances Int32 False - - 1
Name String True - - -
Pending Boolean False - - $false
RouterID Int32 True ByPropertyName - -
TemplateID Int32 True - - -

Example(s)

Example 1 - Basic router instantiation

New-CloudRouterFromTemplate -RouterID 5 -Name "production-router"

Example 2 - Create multiple router instances

New-CloudRouterFromTemplate -RouterID 5 -Name "router-cluster" -Instances 3  -TemplateID 10

Example 3 - With custom template and extra parameters

New-CloudRouterFromTemplate -RouterID 5 -Name "custom-router" -TemplateID 10 -Extra "CPU = 2"

Example 4 - Create in pending state for later activation

New-CloudRouterFromTemplate -RouterID 5 -Name "staging-router" -Pending:$true  -TemplateID 10

New-CloudRouterNIC

Source File: cloud-router.ps1 Synopsis: Adds a NIC to a virtual router.

Description: Attaches a new network interface to an existing virtual router.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
IP String False - - -
Model String False - - "virtio"
NetworkID Int32 False - - -
NetworkName String False - - -
RouterID Int32 True ByPropertyName - -
Template String False - - -

Example(s)

Example 1 - Add NIC using network ID

New-CloudRouterNIC -RouterID 4 -NetworkID 2

Example 2 - Add NIC with specific IP

New-CloudRouterNIC -RouterID 4 -NetworkID 2 -IP "192.168.1.1"

Example 3 - Add NIC by network name

New-CloudRouterNIC -RouterID 4 -NetworkName "SI-Dev" -IP "192.168.6.1"

Example 4 - Add NIC with custom model

New-CloudRouterNIC -RouterID 4 -NetworkID 2 -Model "e1000"

New-CloudRouterNIC2

Source File: cloud-router.ps1 Synopsis: Adds a NIC to a virtual router.

Description: Attaches a new network interface to an existing virtual router.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
IP String False - - -
NetworkID Int32 True - - -
NetworkName String False - - -
RouterID Int32 True ByPropertyName - -
Template String True - - -

Example(s)

Example 1 - Add NIC using template

$template = 'NETWORK_ID = "2"'
        New-CloudRouterNIC -RouterID 5 -Template $template

Example 2 - Add NIC using parameters

New-CloudRouterNIC -RouterID 5 -NetworkID 2

Example 3 - Add NIC with specific IP

New-CloudRouterNIC -RouterID 5 -NetworkID 2 -IP "192.168.1.1"

Example 4 - Add NIC by network name

New-CloudRouterNIC -RouterID 5 -NetworkName "SI-Dev"

New-CloudSecurityGroup

Source File: cloud-securitygroup.ps1 Synopsis: Creates a new security group on the Cloud Server.

Description: Creates a new security group with specified name, description, and rules. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Description String False - - -
Name String True - - -
Rules Array False - - -

Example(s)

Example 1 - Create basic security group

New-CloudSecurityGroup -Name "WebServer-SG" -Description "Security group for web servers"

Example 2 - Create security group with HTTP and HTTPS rules

$rules = @(
            @{ Protocol = "ALL"; RuleType = "OUTBOUND" }
            @{ Protocol = "TCP"; RuleType = "INBOUND"; Range = "80:80" }
            @{ Protocol = "TCP"; RuleType = "INBOUND"; Range = "443:443" }
        )
        New-CloudSecurityGroup -Name "WebServer-SG" -Description "Web server access" -Rules $rules

Example 3 - Create security group allowing SSH from specific subnet

$rules = @(
            @{ Protocol = "ALL"; RuleType = "OUTBOUND" }
            @{ Protocol = "TCP"; RuleType = "INBOUND"; Range = "22:22"; IP = "10.0.0.0"; Size = "24" }
        )
        New-CloudSecurityGroup -Name "SSH-Admin-SG" -Description "SSH access from admin subnet" -Rules $rules

Example 4 - Create security group with ICMP ping allowed

$rules = @(
            @{ Protocol = "ALL"; RuleType = "OUTBOUND" }
            @{ Protocol = "ICMP"; RuleType = "INBOUND"; IcmpType = "8" }
        )
        New-CloudSecurityGroup -Name "Monitoring-SG" -Description "Allow ping for monitoring" -Rules $rules

Example 5 - Create security group with multiple port ranges

$rules = @(
            @{ Protocol = "ALL"; RuleType = "OUTBOUND" }
            @{ Protocol = "TCP"; RuleType = "INBOUND"; Range = "80:80" }
            @{ Protocol = "TCP"; RuleType = "INBOUND"; Range = "443:443" }
            @{ Protocol = "TCP"; RuleType = "INBOUND"; Range = "8080:8090" }
        )
        New-CloudSecurityGroup -Name "AppServer-SG" -Rules $rules

New-CloudTemplate

Source File: cloud-template.ps1 Synopsis: Creates a new VM template on the Cloud Server.

Description: Creates a new VM template using an existing image. Supports customization of CPU, memory, network, and other VM settings.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
CDROMID Int32 False - - -
CPU Double False - - 1
Description String False - - -
EnableCloudInit Boolean False - - $true
EnableVNC Boolean False - - $true
ImageID Int32 True - - -
Logo String False - - -
Memory Int32 False - - 4096
Name String True - - -
NetworkID Int32 False - - -
NetworkName String False - - -
SecurityGroupIDs String False - - -
SSHPublicKey String False - - -
VCPU Int32 False - - 2

Example(s)

Example 1 - Basic Ubuntu template

New-CloudTemplate -Name "Ubuntu-22.04-Base" -ImageID 57 -CPU 1 -Memory 2048

Example 2 - Template with networking without allowing VNC

New-CloudTemplate -Name "Web-Server-Template" -ImageID 57 -NetworkID 2 -SecurityGroupIDs "0,100" -EnableVNC:$false

Example 3 - Template with CDROM

New-CloudTemplate -Name "Ubuntu-Install" -ImageID 50 -CDROMID 49 -CPU 2 -VCPU 4 -Memory 8192

Example 4 - Template with SSH key

$sshKey = Get-Content ~/.ssh/id_rsa.pub -Raw
        New-CloudTemplate -Name "Dev-Server" -ImageID 57 -NetworkID 2 -SSHPublicKey $sshKey

New-CloudTenant

Source File: extra.ps1 Synopsis: Creates a complete tenant setup with groups, admin user, network, and ACLs.

Description: Orchestrates the creation of a new cloud tenant including: - Admin group (-admins) - Users group (-users) - Admin user account (-admin) - Network (-NET-01) - ACLs for group permissions

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
AdminPassword String True - - -
ClusterID Int32 True - - -
NetworkConfig Hashtable False - - -
PassThru SwitchParameter False - - -
SkipNetwork SwitchParameter False - - -
TenantName String True - - -

Example(s)

Example 1 - Create a new tenant

New-CloudTenant -TenantName "Acme" -AdminPassword "SecureP@ss123" -ClusterID 0

Example 2 - Create tenant with custom network config (OpenNebula template format)

$networkConfig = @{
            BRIDGE = "br0"
            BRIDGE_TYPE = "linux"
            VN_MAD = "fw"
            GATEWAY = "192.168.10.1"
            NETWORK_MASK = "255.255.255.0"
            DNS = "8.8.8.8 8.8.4.4"
            VLAN = "NO"
        }
        New-CloudTenant -TenantName "Contoso" -AdminPassword "P@ssw0rd" -ClusterID 0 -NetworkConfig $networkConfig -PassThru

Example 3 - Create tenant with a specific VLAN and network

$networkConfig = @{
            BRIDGE = "br0"
            VLAN_ID = "100"
            GATEWAY = "10.100.0.1"
            NETWORK_MASK = "255.255.0.0"
        }
        New-CloudTenant -TenantName "VlanTenant" -AdminPassword "P@ssw0rd" -ClusterID 0 -NetworkConfig $networkConfig

Example 4 - Create a new tenant without a network

New-CloudTenant -TenantName "TestCorp" -AdminPassword "Test123!" -ClusterID 0 -SkipNetwork

New-CloudTenantNetwork

Source File: extra.ps1 Synopsis: Adds an additional network to an existing tenant.

Description: Creates a new network for an existing tenant with proper naming convention and optional ACL configuration.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Medium

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ClusterID Int32 True - - -
ConfigureACLs SwitchParameter False - - -
NetworkConfig Hashtable False - - -
NetworkNumber Int32 False - - -
PassThru SwitchParameter False - - -
TenantName String True - - -

Example(s)

Example 1 - Create a new tenant network

New-CloudTenantNetwork -TenantName "Acme" -ClusterID 0

Example 2 - Create network with VLAN="NO" to avoid storage network conflict

$networkConfig = @{
            BRIDGE = "br1"
            GATEWAY = "192.168.20.1"
            NETWORK_MASK = "255.255.255.0"
            VLAN = "NO"
        }
        New-CloudTenantNetwork -TenantName "Acme" -NetworkNumber 2 -ClusterID 0 -NetworkConfig $networkConfig -ConfigureACLs

Example 3 - Create network with specific VLAN

$networkConfig = @{
            BRIDGE = "br0"
            VLAN_ID = "200"
        }
        New-CloudTenantNetwork -TenantName "Acme" -ClusterID 0 -NetworkConfig $networkConfig

Example 4

$network = New-CloudTenantNetwork -TenantName "Acme" -ClusterID 0 -PassThru

New-CloudTenantUser

Source File: extra.ps1 Synopsis: Adds a new user to an existing tenant.

Description: Creates a new user and adds them to the specified tenant's users group. Optionally can add them to the admin group as well.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Medium

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
MakeAdmin SwitchParameter False - - -
PassThru SwitchParameter False - - -
Password String True - - -
TenantName String True - - -
Username String True - - -

Example(s)

Example 1 - Create a new tenant user

New-CloudTenantUser -TenantName "Acme" -Username "jdoe" -Password "SecureP@ss"

Example 2 - Create a new tenant admin user

New-CloudTenantUser -TenantName "Acme" -Username "admin2" -Password "SecureP@ss" -MakeAdmin

Example 3 - Create a new tenant user, saving the results to a variable for passthrough to another function

$user = New-CloudTenantUser -TenantName "Acme" -Username "jsmith" -Password "P@ssw0rd" -PassThru

New-CloudUser

Source File: cloud-user.ps1 Synopsis: Creates a user on the Cloud Server.

Description: Creates a new cloud user. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Medium

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
AuthDriver String False - - -
GroupIDs Int32[] False - - -
Password String True - - -
Username String True - - -

Example(s)

Example 1 - Create a basic user with just username and password

New-CloudUser -Username "jdoe" -Password "SecureP@ssw0rd"

Example 2 - Create a user and add them to specific groups

New-CloudUser -Username "jsmith" -Password "SecureP@ssw0rd" -GroupIDs @(1, 5, 10)

Example 3 - Create a user with a specific authentication driver

New-CloudUser -Username "bjones" -Password "SecureP@ssw0rd" -AuthDriver "ldap"

Example 4 - Create a user with all options

New-CloudUser -Username "asmith" -Password "SecureP@ssw0rd" -AuthDriver "ldap" -GroupIDs @(2, 3)

New-CloudUserLoginToken

Source File: cloud-user.ps1 Synopsis: Creates a new user login token on the Cloud Server.

Description: Creates a new login token for a user. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Medium

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Duration Int32 True - - -
GroupID Int32 True - - -
Token String False - - -
Username String True - - -

Example(s)

Example 1 - Generate a new token for jsmith valid for 5 minutes

New-CloudUserLoginToken -username jsmith -duration 300 -GroupID 1

Example 2 - Create a specific token for jsmith, valid for 24 hours

New-CloudUserLoginToken -username jsmith -duration 86400 -GroupID 1 -token ff1c8f3753d842c8355f3f1672ae7720804585a73c537745a92b7c7ce9772f12

New-CloudVM

Source File: cloud-instance.ps1 Synopsis: Instantiates a virtual machine on the Cloud Server.

Description: Instantiates a virtual machine. Prompts for custom inputs if required. Allows overriding CPU, memory, and disk size. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
CPU Decimal False - - -
DiskCopy Boolean False - - $false
DiskSize Int32 False - - -
Hold Boolean False - - $false
ID Int32 False - - -
JSON String False - - -
Memory Int32 False - - -
Name String False - - -
StartScript String False - - -
VCPU Int32 False - - -

Example(s)

Example 1 - Creates a new VM based on a template

New-CloudVM -ID 31 -Name "MyNewVM"

Example 2 - Creates a new VM based on a template with certain changes

New-CloudVM -ID 31 -Name "MyNewVM" -VCPU 4 -Memory 4096 -DiskSize 20480

Example 3 - Creates a new VM with a startup script

New-CloudVM -ID 31 -Name "MyNewVM" -StartScript "C:\scripts\cloud-init.sh"

Example 4 - Creates a new instance from template 31 with a JSON

New-CloudVM -ID 31 -JSON "C:\configs\myvm.json"

Example 5 - Creates a new VM from JSON with a startup script

New-CloudVM -ID 31 -JSON "C:\configs\myvm.json" -StartScript "C:\scripts\bootstrap.ps1"

        Example JSON contents:
        {
          "NAME": "MyNewVM",
          "CPU": "0.3",
          "VCPU": 4,
          "MEMORY": 4096,
          "DISK": {
            "SIZE": "20480"
          },
          "NIC": {
            "METHOD": "DHCP",
            "NETWORK": "Dev",
            "SECURITY_GROUPS": "0,100"
          },
          "GRAPHICS": {
            "LISTEN": "0.0.0.0",
            "TYPE": "VNC",
            "RANDOM_PASSWD": "NO"
          }
        }

New-CloudVMDisk

Source File: cloud-instance.ps1 Synopsis: Attaches a new disk to a Cloud VM instance.

Description: Attaches a new disk to a VM instance. Supports hot-plugging to running VMs if the hypervisor supports it. You can attach an existing image, create a blank disk, or attach an image with a custom size (size on instantiate).

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Cache String False - - -
DevPrefix String False - - -
ID Int32 True ByValue, ByPropertyName - -
ImageID Int32 False - - -
Persistent Boolean False - - $false
ReadOnly Boolean False - - $false
Size Int32 False - - -
Target String False - - -
Type String False - - -

Example(s)

Example 1 - Attach an existing image as a disk (supports hot-plug)

New-CloudVMDisk -ID 79 -ImageID 42

Example 2 - Create a new blank disk (10GB)

New-CloudVMDisk -ID 79 -Size 10240

Example 3 - Attach an image with custom size (size on instantiate)

New-CloudVMDisk -ID 79 -ImageID 42 -Size 20480

Example 4 - Attach an image with specific device prefix

New-CloudVMDisk -ID 79 -ImageID 42 -DevPrefix "vd"

Example 5 - Create a persistent disk

New-CloudVMDisk -ID 79 -Size 20480 -Persistent:$true

Example 6 - Attach a read-only disk

New-CloudVMDisk -ID 79 -ImageID 50 -ReadOnly:$true

New-CloudVMDiskImage

Source File: cloud-instance.ps1 Synopsis: Saves a VM disk as a new image.

Description: Creates a new image from an existing VM disk. This is useful for creating backups, templates, or snapshots of VM disks. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DiskID Int32 True ByPropertyName - -
ImageType String False - - "OS"
InstanceID Int32 True ByPropertyName - -
Name String True - - -
Snapshot Int32 False - - -

Example(s)

Example 1 - Save disk 0 from VM 79 as a new image

New-CloudVMDiskImage -InstanceID 79 -DiskID 0 -Name "MyVM-Backup-2024"

Example 2 - Save a data disk as a DATABLOCK image

New-CloudVMDiskImage -InstanceID 79 -DiskID 2 -Name "Data-Disk-Backup" -ImageType "DATABLOCK"

Example 3 - Save from a specific snapshot

New-CloudVMDiskImage -InstanceID 79 -DiskID 0 -Name "MyVM-Snapshot-1" -Snapshot 1

Example 4 - Save from pipeline

Get-CloudVMDisk -ID 79 | Where-Object { $_.disk_id -eq 0 } | 
            New-CloudVMDiskImage -Name "Boot-Disk-Backup"

New-CloudVMDiskSnapshot

Source File: cloud-instance.ps1 Synopsis: Creates a snapshot of a VM's disk on the Cloud Server.

Description: Creates a snapshot of a VM's disk . Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Description String True - - -
DiskID Int32 True - - -
VMID Int32 True ByPropertyName - -

Example(s)

Example 1 - Creates a snapshot of disk 2 on VM 77 with description "snapshot-2"

New-CloudVMDiskSnapshot -VMID 77 -DiskID 2 -Description "snapshot-2"

New-CloudVMNIC

Source File: cloud-instance.ps1 Synopsis: Attaches a new network interface to a Cloud VM instance.

Description: Attaches a new NIC to a VM instance. Supports hot-plugging to running VMs if the hypervisor supports it.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByValue, ByPropertyName - -
IP String False - - -
MAC String False - - -
Model String False - - "virtio"
NetworkID Int32 False - - -
NetworkName String False - - -
SecurityGroupIDs String False - - -

Example(s)

Example 1 - Attach to a network by ID

New-CloudVMNIC -ID 80 -NetworkID 2

Example 2 - Attach to a network by name with security groups

New-CloudVMNIC -ID 80 -NetworkName "SI-Dev" -SecurityGroupIDs "0,100"

Example 3 - Attach with specific IP address

New-CloudVMNIC -ID 80 -NetworkID 2 -IP "192.168.6.50"

Example 4 - Attach with specific model and MAC

New-CloudVMNIC -ID 80 -NetworkID 2 -Model "e1000" -MAC "02:00:c0:a8:06:32"

Example 5 - Attach without confirmation

New-CloudVMNIC -ID 80 -NetworkID 2 -Confirm:$false

New-CloudVMNICSecurityGroup

Source File: cloud-instance.ps1 Synopsis: Attaches a new network security group to an interface to a Cloud VM instance.

Description: Attaches a new network security group.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByValue, ByPropertyName - -
NICID Int32 True - - -
SGID Int32 True - - -

Example(s)

Example 1 - Attach to a network by ID

New-CloudVMNICSecurityGroup -ID 80 -NICID 1 -SGID 101

New-CloudVMSchedule

Source File: cloud-instance.ps1 Synopsis: Adds a scheduled action to a Cloud VM instance.

Description: Creates a new scheduled action for a VM. Schedules can perform actions like poweroff, resume, snapshot, terminate, etc. at specified times.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Action String True - poweroff, poweroff-hard, resume, reboot, reboot-hard, snapshot, snapshot-revert, snapshot-delete, terminate, terminate-hard, undeploy, undeploy-hard -
Args String False - - -
Days String False - - -
EndType String False - NONE, TIMES, DATE "NONE"
EndValue String False - - -
ID Int32 True ByValue, ByPropertyName - -
Repeat Int32 False - - 0
Time String True - - -

Example(s)

Example 1 - Power off VM in 1 minute (60 seconds)

New-CloudVMSchedule -ID 80 -Action "poweroff" -Time "+60"

Example 2 - Power off VM in 5 minutes

New-CloudVMSchedule -ID 80 -Action "poweroff" -Time "+300"

Example 3 - Daily reboot at specific time (using epoch timestamp)

$tomorrow3AM = [DateTimeOffset]::Parse("2024-12-01 03:00:00").ToUnixTimeSeconds()
        New-CloudVMSchedule -ID 80 -Action "reboot" -Time "$tomorrow3AM" -Repeat 86400

Example 4 - Weekly snapshot (run in 1 hour, then repeat weekly)

New-CloudVMSchedule -ID 80 -Action "snapshot" -Time "+3600" -Repeat 604800

Example 5 - Power off in 2 hours, repeat 5 times with 1 hour interval

New-CloudVMSchedule -ID 80 -Action "poweroff" -Time "+7200" -Repeat 3600 -EndType "TIMES" -EndValue 5

New-CloudVMSnapshot

Source File: cloud-instance.ps1 Synopsis: Creates a new snapshot of an instance in the Cloud Server.

Description: Creates a snapshot of an instance. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Name String True - - -

Example(s)

Example 1

New-CloudVMSnapshot -Name "SnapshotName" -ID 5

New-CloudVMVNCProxy

Source File: cloud-instance.ps1 Synopsis: Creates a VNC proxy for a VM in the Cloud Server.

Description: Creates a VNC proxy for a VM. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Zone Int32 False - - 0

Example(s)

Example 1

New-CloudVMVNCProxy -ID 5 -Zone 0

New-CloudZone

Source File: cloud-zone.ps1 Synopsis: Creates a new zone on the Cloud Server.

Description: Creates a new zone with specified name and endpoint configuration.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Endpoint String False - - -
Name String True - - -
Template String False - - -

Example(s)

Example 1 - Create basic zone

New-CloudZone -Name "Production" -Endpoint "http://prod-host:2633/RPC2"

Example 2 - Create zone with custom template

$template = @"
ENDPOINT = http://prod-host:2633/RPC2
PROVISION_DRIVER = ec2
"@
        New-CloudZone -Name "AWS-Zone" -Template $template

New-MetalDatastore

Source File: metal.ps1 Synopsis: Creates a new datastore on the Cloud Server.

Description: Creates a new datastore. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Name String True - - -
Protection String True - - -

Example(s)

Example 1 - Creates a new datastore named "3REP-Datastore" that is triple-replicated

New-MetalDatastore -Name "3REP-Datastore" -Protection triple_replication

Redo-CloudHook

Source File: cloud-hook.ps1 Synopsis: Attempt to retry a hook in the Cloud Server.

Description: Retries a hook. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Time Int32 True - - -

Example(s)

Example 1 - Retries hook 5 in 10 seconds

Redo-CloudHook -ID 5 -Time 10

Remove-CloudACL

Source File: cloud-acl.ps1 Synopsis: Removes an ACL rule from the Cloud Server.

Description: Deletes an ACL rule by ID. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove an ACL with a specific ID

Remove-CloudACL -ID 5

Example 2 - Remove an ACL with a specific ID and bypass the confirmation prompt

Remove-CloudACL -ID 5 -Confirm:$false

Example 3 - Remove multiple ACLs

19,20,21 | ForEach-Object { Remove-CloudACL -ID $_ }

Example 4 - Remove ACLs matching a pattern

Get-CloudACL | Where-Object { $_.string -like "*@102*" } | ForEach-Object { Remove-CloudACL -ID $_.id }

Remove-CloudDocument

Source File: cloud-document.ps1 Synopsis: Removes a document from the Cloud Server.

Description: Removes a document. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove a document with confirmation prompt (default behavior)

Remove-CloudDocument -ID 3
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Document" on target "Document ID 3 (MyDocument)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove a document without confirmation prompt

Remove-CloudDocument -ID 3 -Confirm:$false

Remove-CloudGroup

Source File: cloud-group.ps1 Synopsis: Removes a group from the Cloud Server.

Description: Removes a group. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove group with confirmation prompt (default behavior):

Remove-CloudGroup -ID 3
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Group" on target "Group ID 3 (MyGroup)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove group without confirmation prompt:

Remove-CloudGroup -ID 3 -Confirm:$false

Remove-CloudGroupAdmin

Source File: cloud-group.ps1 Synopsis: Removes a group admin from the Cloud Server.

Description: Removes a group admin. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
User Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove group admin with confirmation prompt (default behavior):

Remove-CloudGroupAdmin -ID 3 -User 12
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Group Admin" on target "Group ID 3 (MyGroup)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove group admin without confirmation prompt:

Remove-CloudGroupAdmin -ID 3 -User 12 -Confirm:$false

Remove-CloudHook

Source File: cloud-hook.ps1 Synopsis: Removes a hook from the Cloud Server.

Description: Removes a hook. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove hook with confirmation prompt (default behavior):

Remove-CloudHook -ID 3
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Hook" on target "Hook ID 3 (MyHook)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove hook without confirmation prompt:

Remove-CloudHook -ID 3 -Confirm:$false

Remove-CloudImage

Source File: cloud-image.ps1 Synopsis: Removes an image from the Cloud Server.

Description: Removes an image. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove image with confirmation prompt (default behavior):

Remove-CloudImage -ID 3
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Image" on target "Image ID 3 (MyImage)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove image without confirmation prompt:

Remove-CloudImage -ID 3 -Confirm:$false

Remove-CloudImageSnapshot

Source File: cloud-image.ps1 Synopsis: Deletes a snapshot from a Cloud image.

Description: Removes a specific snapshot from an image. This action cannot be undone.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ImageID Int32 True ByPropertyName - -
SnapshotID Int32 True ByPropertyName - -

Example(s)

Example 1 - Delete snapshot 0 from image 50

Remove-CloudImageSnapshot -ImageID 50 -SnapshotID 0

Example 2 - Delete without confirmation

Remove-CloudImageSnapshot -ImageID 50 -SnapshotID 0 -Confirm:$false

Remove-CloudMarket

Source File: cloud-market.ps1 Synopsis: Removes a market from the Cloud Server.

Description: Deletes a Market by ID. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove a market and prompt for confirmation

Remove-CloudMarket -ID 105

Example 2 - Remove a market and bypass the confirmation prompt

Remove-CloudMarket -ID 105 -Confirm:$false

Remove-CloudMarketApp

Source File: cloud-market.ps1 Synopsis: Removes a market app from the Cloud Server.

Description: Removes a market app. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove market app with confirmation prompt (default behavior):

Remove-CloudMarketApp -ID 3
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Market App" on target "App ID 3 (MyApp)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove image without confirmation prompt:

Remove-CloudMarketApp -ID 3 -Confirm:$false

Remove-CloudNetwork

Source File: cloud-network.ps1 Synopsis: Removes a network from the Cloud Server.

Description: Removes a network. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove network with confirmation prompt (default behavior):

Remove-CloudNetwork -ID 3
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Network" on target "Network ID 3 (MyNetwork)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove network without confirmation prompt:

Remove-CloudNetwork -ID 3 -Confirm:$false

Remove-CloudNetworkAddressRange

Source File: cloud-network.ps1 Synopsis: Removes an address range from a virtual network.

Description: Deletes an address range from a network.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
NetworkID Int32 True ByPropertyName - -
RangeID Int32 True - - -

Example(s)

Example 1 - Remove range 0 from network 5

Remove-CloudNetworkAddressRange -NetworkID 5 -`RangeID` 0

Remove-CloudNetworkTemplate

Source File: cloud-network.ps1 Synopsis: Removes a network template from the Cloud Server.

Description: Removes a network template. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove network template with confirmation prompt (default behavior):

Remove-CloudNetworkTemplate -ID 3
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Network Template" on target "Network Template ID 3 (MyNetworkTemplate)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove network without confirmation prompt:

Remove-CloudNetworkTemplate -ID 3 -Confirm:$false

Remove-CloudRouter

Source File: cloud-router.ps1 Synopsis: Delete a router from the Cloud Server.

Description: Deletes the specified router. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove a virtual router

Remove-CloudRouter -ID 561

Example 2 - Remove a virtual router, bypassing the confirmation prompt

Remove-CloudRouter -ID 561 -Confirm:$false

Example 3 - Preview deletion without actually removing

Remove-CloudRouter -ID 561 -WhatIf

Remove-CloudRouterNIC

Source File: cloud-router.ps1 Synopsis: Removes a NIC from a virtual router.

Description: Detaches a network interface from a virtual router.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
NICID Int32 True - - -
RouterID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove NIC 0 from router 5

Remove-CloudRouterNIC -RouterID 5 -NICID 0

Example 2 - Remove without confirmation

Remove-CloudRouterNIC -RouterID 5 -NICID 0 -Confirm:$false

Remove-CloudSecurityGroup

Source File: cloud-securitygroup.ps1 Synopsis: Removes a security group from the Cloud Server.

Description: Removes a security group. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove security group with confirmation prompt (default behavior):

Remove-CloudSecurityGroup -ID 5
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Security Group" on target "Security group 5".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove security group without confirmation prompt:

Remove-CloudSecurityGroup -ID 5 -Confirm:$false

Remove-CloudTemplate

Source File: cloud-template.ps1 Synopsis: Removes a template from the Cloud Server.

Description: Removes a template. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove template with confirmation prompt (default behavior):

Remove-CloudTemplate -ID 3
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Template" on target "Template ID 3 (MyTemplate)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove template without confirmation prompt:

Remove-CloudTemplate -ID 3 -Confirm:$false

Remove-CloudTenant

Source File: extra.ps1 Synopsis: Removes a tenant and all its resources.

Description: Removes all tenant resources in the correct order: 1. Networks 2. Users 3. Groups 4. ACLs (automatically cleaned up when groups are deleted)

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Force SwitchParameter False - - -
TenantName String True - - -

Example(s)

Example 1 - Remove a tenant by name

Remove-CloudTenant -TenantName "Contoso"

Example 2 - Remove a tenant by name, bypassing confirmation prompt

Remove-CloudTenant -TenantName "Contoso" -Force

Example 3 - Simulate the removal of a tenant

Remove-CloudTenant -TenantName "Contoso" -WhatIf

Remove-CloudUser

Source File: cloud-user.ps1 Synopsis: Removes a user from the Cloud Server.

Description: Removes a user. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove user with confirmation prompt (default behavior):

Remove-CloudUser -ID 3 
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove User" on target "User ID 3 (MyUser)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove user without confirmation prompt:

Remove-CloudUser -ID 3 -Confirm:$false

Remove-CloudUserGroupMembership

Source File: cloud-user.ps1 Synopsis: Removes a user from a group on the Cloud Server.

Description: Removes a user from a group. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
User Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove user from group with confirmation prompt (default behavior):

Remove-CloudUserGroupMembership -ID 102 -User 12
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove User" on target "User ID 3 (MyUser)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove user without confirmation prompt:

Remove-CloudUserGroupMembership -ID 102 -User 12 -Confirm:$false

Remove-CloudVM

Source File: cloud-instance.ps1 Synopsis: Delete a VM from the Cloud Server.

Description: Deletes the specified VM. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1

Remove-CloudVM -ID 561

Example 2

Remove-CloudVM -ID 561 -Confirm:$false

Example 3 - Preview deletion without actually removing

Remove-CloudVM -ID 561 -WhatIf

Remove-CloudVMDisk

Source File: cloud-instance.ps1 Synopsis: Removes a VM's disk from the Cloud Server.

Description: Removes a VM's disk. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DiskID Int32 True - - -
ID Int32 True - - -

Example(s)

Example 1 - Remove VM's disk with confirmation prompt (default behavior):

Remove-CloudVMDisk -ID 5 -DiskID 1
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove VM Disk" on target "VM $ID Disk $DiskID".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove a VM's disk without confirmation prompt:

Remove-CloudVMDisk -ID 5 -DiskID 1 -Confirm:$false

Remove-CloudVMDiskSnapshot

Source File: cloud-instance.ps1 Synopsis: Removes a VM's disk snapshot from the Cloud Server.

Description: Removes a VM's disk snapshot. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DiskID Int32 True ByPropertyName - -
SnapshotID Int32 True ByPropertyName - -
VMID Int32 True ByPropertyName - -

Example(s)

Example 1 - Remove specific snapshot

Remove-CloudVMDiskSnapshot -VMID 77 -SnapshotID 1 -DiskID 2

Example 2 - Remove snapshot from pipeline

Remove-CloudVMDiskSnapshot -VMID 77 | Where-Object SnapshotID -eq 1 | Remove-CloudVMDiskSnapshot

Example 3 - Remove all snapshots for a VM (with confirmation for each)

Remove-CloudVMDiskSnapshot -VMID 77 | Remove-CloudVMDiskSnapshot

Example 4 - Remove snapshot without confirmation prompt

Remove-CloudVMDiskSnapshot -VMID 77 -SnapshotID 1 -Confirm:$false

Remove-CloudVMNIC

Source File: cloud-instance.ps1 Synopsis: Removes a VM's NIC from the Cloud Server.

Description: Removes a VM's NIC. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
NICID Int32 True - - -

Example(s)

Example 1 - Remove VM's NIC with confirmation prompt (default behavior):

Remove-CloudVMNIC -ID 5 -NICID 1
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove VM NIC" on target "VM $ID NIC $NICID".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove a VM's NIC without confirmation prompt:

Remove-CloudVMNIC -ID 5 -NICID 1 -Confirm:$false

Remove-CloudVMNICSecurityGroup

Source File: cloud-instance.ps1 Synopsis: Removes a security group from a VM on the Cloud Server.

Description: Removes a security group from a VM. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
NICID Int32 True - - -

Example(s)

Example 1 - Remove security groups from NIC 0 on VM 77 with confirmation prompt (default behavior):

Remove-CloudVMSecurityGroup -ID 77 -NIC 0
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Security Group 5" on target "VM 77".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2 - Remove security groups from NIC 0 on VM 77 without confirmation prompt:

Remove-CloudVMSecurityGroup -ID 77 -NIC 0 -Confirm:$false

Remove-CloudVMSchedule

Source File: cloud-instance.ps1 Synopsis: Removes a scheduled action from a Cloud VM instance.

Description: Deletes a scheduled action from a VM.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
ScheduleID Int32 True - - -

Example(s)

Example 1 - Remove schedule 0 from VM 80

Remove-CloudVMSchedule -ID 80 -ScheduleID 0

Example 2 - Remove without confirmation

Remove-CloudVMSchedule -ID 80 -ScheduleID 0 -Confirm:$false

Remove-CloudVMSnapshot

Source File: cloud-instance.ps1 Synopsis: Removes a VM snapshot from the Cloud Server.

Description: Removes a VM snapshot. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Snapshot_ID Int32 True ByPropertyName - -
VMID Int32 True ByPropertyName - -

Example(s)

Example 1

Remove snapshot with confirmation prompt (default behavior):
        Remove-CloudVMSnapshot -VMID 3 -SnapshotID 1
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Remove Snapshot" on target "Image ID 3 (MyImage)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2

Remove snapshot with confirmation prompt (default behavior) passing through the VM ID and snapshot ID:
        Get-CloudVMSnapshot -VMID 3 -SnapshotID 1 | Remove-CloudVMSnapshot

Example 3

Remove snapshot without confirmation prompt:
        Remove-CloudVMSnapshot -VMID 3 -SnapshotID 1 -Confirm:$false

Remove-CloudZone

Source File: cloud-zone.ps1 Synopsis: Deletes a zone from the Cloud Server.

Description: Permanently deletes a zone. This operation cannot be undone and will prompt for confirmation unless -Confirm:$false is specified.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByValue, ByPropertyName - -

Example(s)

Example 1 - Delete a zone (will prompt for confirmation)

Remove-CloudZone -ID 5

Example 2 - Delete without confirmation

Remove-CloudZone -ID 5 -Confirm:$false

Example 3 - Delete multiple zones

5,6,7 | Remove-CloudZone

Remove-MetalDatastore

Source File: metal.ps1 Synopsis: Removes a datastore from the Cloud Server.

Description: Deletes a datastore by name. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Name String True - - -

Example(s)

Example 1 - Remove a datastore and prompt for confirmation

Remove-MetalDatastore -Name "TenantDatastore"

Example 2 - Remove a datastore and bypass the confirmation prompt

Remove-MetalDatastore -Name "TenantDatastore" -Confirm:$false

Rename-CloudDocument

Source File: cloud-document.ps1 Synopsis: Rename a document in the Cloud Server.

Description: Renames a document. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Name String True - - -

Example(s)

Example 1 - Rename a document

Rename-CloudDocument -Name "new-name" -ID 5

Rename-CloudHook

Source File: cloud-hook.ps1 Synopsis: Rename a hook in the Cloud Server.

Description: Renames a hook. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Name String True - - -

Example(s)

Example 1 - Rename a hook

Rename-CloudHook -Name "new-name" -ID 5

Rename-CloudImage

Source File: cloud-image.ps1 Synopsis: Rename an image in the Cloud Server.

Description: Renames an image. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Name String True - - -

Example(s)

Example 1 - Rename cloud image with the ID 5 to "new-name"

Rename-CloudImage -Name "new-name" -ID 5

Rename-CloudMarket

Source File: cloud-market.ps1 Synopsis: Rename a market in the Cloud Server.

Description: Rename a market. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Name String True - - -

Example(s)

Example 1 - Rename a market app

Rename-CloudMarket -ID 5 -Name "NewMarketName"

Rename-CloudMarketApp

Source File: cloud-market.ps1 Synopsis: Rename a market app in the Cloud Server.

Description: Rename a market app. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Name String True - - -

Example(s)

Example 1 - Rename a market app

Rename-CloudMarketApp -ID 5 -Name "NewAppName"

Rename-CloudNetwork

Source File: cloud-network.ps1 Synopsis: Rename a virtual network in the Cloud Server.

Description: Renames a virtual network. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Name String True - - -

Example(s)

Example 1 - Rename a cloud network

Rename-CloudNetwork -Name "new-name" -ID 5

Rename-CloudRouter

Source File: cloud-router.ps1 Synopsis: Rename a virtual router in the Cloud Server.

Description: Renames a virtual router. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Name String True - - -

Example(s)

Example 1 - Rename a cloud router

Rename-CloudRouter -Name "new-name" -ID 5

Rename-CloudSecurityGroup

Source File: cloud-securitygroup.ps1 Synopsis: Renames a security group on Cloud Server.

Description: Renames a security group. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Name String True - - -

Example(s)

Example 1 - Rename a security group

Rename-CloudSecurityGroup -ID 561 -Name "Updated Security Group"

Rename-CloudTemplate

Source File: cloud-template.ps1 Synopsis: Rename a virtual template in the Cloud Server.

Description: Renames a virtual template. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Name String True - - -

Example(s)

Example 1 - Rename a template

Rename-CloudTemplate -Name "new-name" -ID 5

Rename-CloudVMDiskSnapshot

Source File: cloud-instance.ps1 Synopsis: Renames a VM's disk snapshot from the Cloud Server.

Description: Renames a VM's disk snapshot. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Medium

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DiskID Int32 True ByPropertyName - -
Name String True - - -
SnapshotID Int32 True ByPropertyName - -
VMID Int32 True ByPropertyName - -

Example(s)

Example 1 - Rename specific snapshot

Rename-CloudVMDiskSnapshot -VMID 77 -SnapshotID 1 -DiskID 2 -Name "New-snapshot"

Example 2 - Rename snapshot from pipeline

Rename-CloudVMDiskSnapshot -VMID 77 | Where-Object SnapshotID -eq 1 | Rename-CloudVMDiskSnapshot -Name "New-snapshot"

Example 3 - Rename all snapshots for a VM (with confirmation and prompt for name name for each)

Rename-CloudVMDiskSnapshot -VMID 77 | Rename-CloudVMDiskSnapshot

Example 4 - Rename snapshot without confirmation prompt

Rename-CloudVMDiskSnapshot -VMID 77 -SnapshotID 1 -Confirm:$false -Name "New-snapshot"

Rename-CloudZone

Source File: cloud-zone.ps1 Synopsis: Rename a zone in the Cloud Server.

Description: Renames a zone. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Name String True - - -

Example(s)

Example 1 - Rename cloud zone with the ID 5 to "new-name"

Rename-CloudZone -Name "new-name" -ID 5

Rename-MetalDatastore

Source File: metal.ps1 Synopsis: Rename a datastore on the Cloud Server.

Description: Renames a datatore. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Name String True - - -
NewName String True - - -

Example(s)

Example 1 - Rename datastore "OldName" to "new-name"

Rename-CloudImage -Name "OldName" -NewName "new-name"

Repair-CloudTenantACLs

Source File: extra.ps1 Synopsis: Removes bad ACLs and recreates correct ones for a tenant.

Description: Deletes all existing ACLs for a tenant and recreates them correctly with proper group-owned resource selectors.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
TenantName String True - - -

Example(s)

Example 1 - Repair the ACLs for TENANT1

Repair-CloudTenantACLs -TenantName "TENANT1"

Resize-CloudVM

Source File: cloud-instance.ps1 Synopsis: Resizes a cloud VM instance by changing its CPU, VCPU, and/or memory allocation.

Description: Changes the capacity of a running or stopped VM instance. Allows modification of CPU allocation, virtual CPU count, and memory size.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
CPU Decimal False - - -
EnforceCapacity Boolean False - - $true
ID Int32 True ByPropertyName - -
Memory Int32 False - - -
VCPU Int32 False - - -

Example(s)

Example 1

Resize-CloudVM -ID 68 -VCPU 4 -Memory 8192
        Resizes VM 68 to 4 vCPUs and 8GB memory

Example 2

Resize-CloudVM -ID 68 -CPU 0.5 -VCPU 2 -Memory 6144
        Resizes VM 68 with specific CPU allocation, 2 vCPUs, and 6GB memory

Example 3

Resize-CloudVM -ID 68 -Memory 4096 -EnforceCapacity $false
        Resizes VM 68 memory to 4GB without enforcing capacity constraints

Resolve-CloudNetwork

Source File: cloud-network.ps1 Synopsis: Recover a Network from the Cloud Server.

Description: Recover the specified Network. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1 - Recover a network

Resolve-CloudNetwork -ID 561

Example 2 - Recover a network without a confirmation prompt

Resolve-CloudNetwork -ID 561 -Confirm:$false

Example 3 - Simulate the recovery of a network

Resolve-CloudNetwork -ID 561 -WhatIf

Resolve-CloudVM

Source File: cloud-instance.ps1 Synopsis: Recover a VM from the Cloud Server.

Description: Recover the specified VM. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -

Example(s)

Example 1

Resolve-CloudVM -ID 561

Example 2

Resolve-CloudVM -ID 561 -Confirm:$false

Example 3

Resolve-CloudVM -ID 561 -WhatIf

Restart-CloudVM

Source File: cloud-instance.ps1 Synopsis: Restarts a VM from the Cloud Server.

Description: Restarts the specified VM. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Force SwitchParameter False - - -
ID Int32 True ByPropertyName - -

Example(s)

Example 1

Restart-CloudVM -ID 561

Example 2

Restart-CloudVM -ID 561 -Confirm:$false

Example 3

Restart-CloudVM -ID 561 -Force

Example 4

Restart-CloudVM -ID 561 -WhatIf

Restore-CloudImageSnapshot

Source File: cloud-image.ps1 Synopsis: Reverts an image to a previous snapshot.

Description: Reverts the image to the state captured in the specified snapshot. This will discard any changes made after the snapshot was taken.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ImageID Int32 True ByPropertyName - -
SnapshotID Int32 True ByPropertyName - -

Example(s)

Example 1 - Revert image 50 to snapshot 0

Restore-CloudImageSnapshot -ImageID 50 -SnapshotID 0

Example 2 - Revert without confirmation

Restore-CloudImageSnapshot -ImageID 50 -SnapshotID 0 -Confirm:$false

Restore-CloudNetwork

Source File: cloud-network.ps1 Synopsis: Recovers a virtual network.

Description: Recovers a network from an error state.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
NetworkID Int32 True ByPropertyName - -

Example(s)

Example 1 - Recover network 5

Restore-CloudNetwork -NetworkID 5

Restore-CloudVMDiskSnapshot

Source File: cloud-instance.ps1 Synopsis: Restores a VM's disk snapshot from the Cloud Server.

Description: Restores a VM's disk snapshot. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DiskID Int32 True ByPropertyName - -
SnapshotID Int32 True - - -
VMID Int32 True ByPropertyName - -

Example(s)

Example 1 - Restore specific snapshot

Restore-CloudVMDiskSnapshot -VMID 77 -SnapshotID 1 -DiskID 2

Example 2 - Restore snapshot from pipeline

Restore-CloudVMDiskSnapshots -VMID 77 | Where-Object SnapshotID -eq 1 | Restore-CloudVMDiskSnapshot

Example 3 - Restore all snapshots for a VM (with confirmation for each)

Restore-CloudVMDiskSnapshots -VMID 77 | Restore-CloudVMDiskSnapshot

Example 4 - Restore snapshot without confirmation prompt

Restore-CloudVMDiskSnapshot -VMID 77 -SnapshotID 1 -Confirm:$false

Restore-CloudVMSnapshot

Source File: cloud-instance.ps1 Synopsis: Reverts a VM snapshot from the Cloud Server.

Description: Reverts a VM snapshot. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Snapshot_ID Int32 True ByPropertyName - -
VMID Int32 True ByPropertyName - -

Example(s)

Example 1

Revert snapshot with confirmation prompt (default behavior):
        Restore-CloudVMSnapshot -VMID 3 -SnapshotID 1
        Confirm
        Are you sure you want to perform this action?
        Performing the operation "Revert Snapshot" on target "Image ID 3 (MyImage)".
        [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Example 2

Revert snapshot with confirmation prompt (default behavior) passing through the VM ID and snapshot ID:
        Get-CloudVMSnapshot -VMID 3 -SnapshotID 1 | Restore-CloudVMSnapshot

Example 3

Revert snapshot without confirmation prompt:
        Restore-CloudVMSnapshot -VMID 3 -SnapshotID 1 -Confirm:$false

Resume-CloudNetworkLease

Source File: cloud-network.ps1 Synopsis: Releases held leases on a virtual network.

Description: Releases reserved leases a network from hold state, making it available for use.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
NetworkID Int32 True ByPropertyName - -
Template String True - - -

Example(s)

Example 1 - Release a range of IPs on network 5

$template = @"
        LEASES = [ IP = "192.168.1.100" ]
        LEASES = [ IP = "192.168.1.101" ]
        LEASES = [ IP = "192.168.1.102" ]
        "@
        Resume-CloudNetworkLease -NetworkID 5 -Template $template

Save-CloudNetworkAddresses

Source File: cloud-network.ps1 Synopsis: Reserves addresses in a virtual network.

Description: Creates a reservation of network addresses.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
NetworkID Int32 True ByPropertyName - -
Template String True - - -

Example(s)

Example 1 - Reserve a range of IPs on cloud network 5

$template = 'SIZE = "10" NAME = "Reserved-IPs"'
        Save-CloudNetworkAddresses -NetworkID 5 -Name "SystemReserved" -Template $template

Set-CloudTenantResourceOwnership

Source File: extra.ps1 Synopsis: Changes ownership of tenant resources to the tenant admin user and group.

Description: Updates the ownership of networks, VMs, images, and templates to be owned by the tenant's admin user and admin group. This ensures ACLs work correctly.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ResourceType String False - Network, VM, Image, Template, All 'All'
TenantName String True - - -

Example(s)

Example 1 - Update the required permissions for all tenant-owned resources

Set-CloudTenantResourceOwnership -TenantName "Contoso"

Example 2 - Update the required permissions for tenant-owned network resources

Set-CloudTenantResourceOwnership -TenantName "Contoso" -ResourceType "Network"

Example 3 - After creating a tenant, fix ownership

New-CloudTenant -TenantName "Acme" -AdminPassword "P@ss" -ClusterID 0
        Set-CloudTenantResourceOwnership -TenantName "Acme"

Start-CloudVM

Source File: cloud-instance.ps1 Synopsis: Starts a VM from the Cloud Server.

Description: Starts the specified VM. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Recover SwitchParameter False - - -

Example(s)

Example 1

Start-CloudVM -ID 561

Example 2

Start-CloudVM -ID 561 -Confirm:$false

Example 3

Start-CloudVM -ID 561 -WhatIf

Stop-CloudVM

Source File: cloud-instance.ps1 Synopsis: Stops a VM from the Cloud Server.

Description: Stops the specified VM. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Undeploy SwitchParameter False - - -

Example(s)

Example 1 - Stop VM 561

Stop-CloudVM -ID 561

Example 2 - Power off the VM without confirmation

Stop-CloudVM -ID 561 -Confirm:$false

Example 3 - Simulates what would happen if you stop it

Stop-CloudVM -ID 561 -WhatIf

Example 4 - Stop and undeploy the VM

Stop-CloudVM -ID 561 -Undeploy

Suspend-CloudNetworkLease

Source File: cloud-network.ps1 Synopsis: Holds a virtual network lease as used.

Description: Marks specific IP addresses in a network as used/held, preventing them from being automatically assigned to new VMs.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
NetworkID Int32 True ByPropertyName - -
Template String True - - -

Example(s)

Example 1 - Hold a specific IP address

$template = 'LEASES = [ IP = "192.168.1.50" ]'
        Suspend-CloudNetwork -NetworkID 5 -Template $template

Example 2 - Hold a range of IPs

$template = @"
        LEASES = [ IP = "192.168.1.100" ]
        LEASES = [ IP = "192.168.1.101" ]
        LEASES = [ IP = "192.168.1.102" ]
        "@
        Suspend-CloudNetworkLease -NetworkID 5 -Template $template

Example 3 - Hold by MAC address

$template = 'LEASES = [ MAC = "02:00:c0:a8:01:32" ]'
        Suspend-CloudNetworkLease -NetworkID 5 -Template $template

Unlock-CloudDocument

Source File: cloud-document.ps1 Synopsis: Unlock a document in the Cloud Server.

Description: Unlock a document. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -

Example(s)

Example 1 - Unlock a document

Unlock-CloudDocument -ID 5

Unlock-CloudHook

Source File: cloud-hook.ps1 Synopsis: Unlock a hook in the Cloud Server.

Description: Unlock a hook. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -

Example(s)

Example 1 - Unlock a hook

Unlock-CloudHook -ID 5

Unlock-CloudImage

Source File: cloud-image.ps1 Synopsis: Unlock an image in the Cloud Server.

Description: Unlock an image. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -

Example(s)

Example 1 - Unlock image 5

Unlock-CloudImage -ID 5

Unlock-CloudInstance

Source File: cloud-instance.ps1 Synopsis: Unlock an instance in the Cloud Server.

Description: Unlock an instance. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -

Example(s)

Example 1

Unlock-CloudInstance -ID 5

Unlock-CloudInstanceGroup

Source File: cloud-instance.ps1 Synopsis: Unlock an instance group in the Cloud Server.

Description: Unlock an instance group. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -

Example(s)

Example 1

Unlock-CloudInstanceGroup -ID 5

Unlock-CloudMarketApp

Source File: cloud-market.ps1 Synopsis: Unlock a market app in the Cloud Server.

Description: Unlock a market app Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -

Example(s)

Example 1 - Unlock cloud market app #5

Unlock-CloudMarketApp -ID 5

Unlock-CloudNetwork

Source File: cloud-network.ps1 Synopsis: Unlock a virtual network in the Cloud Server.

Description: Unlock a virtual network. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Test SwitchParameter False - - -

Example(s)

Example 1 - Unlock a cloud network

Unlock-CloudNetwork -ID 5

Example 2 - Unlock a cloud network using a pipeline input

Get-CloudNetwork -ID 3 | Unlock-CloudNetwork

Unlock-CloudNetworkTemplate

Source File: cloud-network.ps1 Synopsis: Unlock a virtual network template in the Cloud Server.

Description: Unlock a virtual network template. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Test SwitchParameter False - - -

Example(s)

Example 1 - Unlock a network template

Unlock-CloudNetworkTemplate -ID 5

Example 2 - Unlock a network template using a pipeline input

Get-CloudNetworkTemplate -ID 3 | Unlock-CloudNetworkTemplate

Unlock-CloudRouter

Source File: cloud-router.ps1 Synopsis: Unlock a virtual router in the Cloud Server.

Description: Unlock a virtual router. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -

Example(s)

Example 1 - Unlock a virtual router

Unlock-CloudRouter -ID 5

Unlock-CloudTemplate

Source File: cloud-template.ps1 Synopsis: Unlock a virtual template in the Cloud Server.

Description: Unlock a virtual template. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -

Example(s)

Example 1 - Unlock a template

Unlock-CloudTemplate -ID 5

Update-CloudDocument

Source File: cloud-document.ps1 Synopsis: Updates a document on the Cloud Server.

Description: Creates a document object in OpenNebula. Documents are generic objects that can store arbitrary data in their template.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID String True - - -
Merge SwitchParameter False - - -
Template String True - - -

Example(s)

Example 1 - Update a document from a parameterized variable

$template = "NAME=`"MyDocument`"`nDESCRIPTION=`"Test document`"`nCUSTOM_DATA=`"Some value`""
        Update-CloudDocument -ID 8 -Template $template

Example 2 - Update a document from a JSON array

$template = @"
NAME="config.json"
DESCRIPTION="Configuration file"
TYPE="file"
"@
        Update-CloudDocument -ID 8 -Template $template

Update-CloudDocumentOwner

Source File: cloud-document.ps1 Synopsis: Updates the ownership of a document in the Cloud Server.

Description: Changes the user ad/or group ownership of a document. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupID Int32 False - - -
ID Int32 True ByPropertyName - -
UserID Int32 True - - -

Example(s)

Example 1 - Update a document's owner

Update-CloudDocumentOwner -ID 5 -UserID 2

Example 2 - Update a document's owner and group ownership

Update-CloudDocumentOwner -ID 5 -UserID 2 -GroupID 100

Example 3 - Update a document's owner and bypass confirmation prompt

Update-CloudDocumentOwner -ID 5 -UserID 2 -Confirm:$false

Update-CloudDocumentPermissions

Source File: cloud-document.ps1 Synopsis: Updates the permissions of a document in the Cloud Server.

Description: Changes the permission of a document. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupAdmin Boolean False - - -
GroupManage Boolean False - - -
GroupUse Boolean False - - -
ID Int32 True ByPropertyName - -
OtherAdmin Boolean False - - -
OtherManage Boolean False - - -
OtherUse Boolean False - - -
OwnerAdmin Boolean False - - -
OwnerManage Boolean False - - -
OwnerUse Boolean False - - -

Example(s)

Example 1 - Give group users permission to use the document

Update-CloudDocumentPermissions -ID 35 -GroupUse $true

Example 2 - Deny group admin permission to the document

Update-CloudDocumentPermissions -ID 35 -GroupAdmin $false

Example 3 - Set multiple permissions at once

Update-CloudDocumentPermissions -ID 35 -GroupUse $true -GroupManage $true -OtherUse $true

Update-CloudGroup

Source File: cloud-group.ps1 Synopsis: Updates a group on the Cloud Server.

Description: Updates a group's template. You can choose to merge with the existing template or replace it entirely. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Medium

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Merge SwitchParameter False - - -
Template String True - - -

Example(s)

Example 1 - Update a group with a JSON variable, overwriting the current configuration

$template = @"
FIREEDGE = [ 
  DEFAULT_VIEW = admin, 
  GROUP_ADMIN_DEFAULT_VIEW = admin 
]
OPENNEBULA = [ 
  DEFAULT_IMAGE_PERSISTENT = YES 
]
"@
        Update-CloudGroup -ID 102 -Template $template

Example 2 - Update a group, merging the new configuration with the existing values

$template = "CUSTOM_ATTRIBUTE = value"
        Update-CloudGroup -ID 102 -Template $template -Merge

Update-CloudGroupQuota

Source File: cloud-group.ps1 Synopsis: Updates the default group quota limits on the Cloud Server.

Description: Updates quota limits for the default group. You can update instance quotas, datastore quotas, and network quotas. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DatastoreQuota Hashtable False - - -
InstanceQuota Hashtable False - - -
NetworkQuota Hashtable False - - -

Example(s)

Example 1 - Update a group's quota

Update-CloudGroupQuota -InstanceQuota @{
            cpu = 100
            memory = 204800
            running_cpu = 50
            running_memory = 102400
            running_instances = 10
            system_disk_size = 1000000
            instances = 20
        }

Example 2 - Update only specific quota values

Update-CloudGroupQuota -InstanceQuota @{
            running_instances = 15
            instances = 30
        }

Update-CloudHook

Source File: cloud-hook.ps1 Synopsis: Updates a hook in the Cloud Server.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Low

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Merge SwitchParameter False - - -
Template String True ByValue - -

Example(s)

Example 1 - Update a hook replacing the entire hook configuration (default behavior)

$template = @"
NAME="new-hook-name"
TYPE="api"
COMMAND="/usr/bin/logger"
ARGUMENTS="Test"
CALL="one.vm.allocate"
"@
        Update-CloudHook -ID 17 -Template $template

Example 2 - Update a book merging the new configuration with the existing configuration

$template = 'ARGUMENTS="New arguments"'
        Update-CloudHook -ID 17 -Template $template -Merge

Update-CloudImage

Source File: cloud-image.ps1 Synopsis: Updates an image on the Cloud Server.

Description: Updates an image's template. You can choose to merge with the existing template or replace it entirely. Merge is enabled by default. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: Medium

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Merge Boolean False - - $true
Template String True ByValue - -

Example(s)

Example 1 - Update image description (merge with existing)

$template = 'DESCRIPTION="Updated description for this image"'
        Update-CloudImage -ID 123 -Template $template

Example 2 - Make an image persistent

$template = 'PERSISTENT="YES"'
        Update-CloudImage -ID 123 -Template $template

Example 3 - Replace entire image template

$template = @"
        NAME="Ubuntu-2204-Updated"
        DESCRIPTION="Ubuntu 22.04 LTS Server"
        TYPE="OS"
        PERSISTENT="NO"
        "@
        Update-CloudImage -ID 123 -Template $template -Merge:$false

Example 4 - Update multiple attributes

$template = @"
        DESCRIPTION="Production Web Server Image"
        PERSISTENT="YES"
        DEV_PREFIX="sd"
        "@
        Update-CloudImage -ID 456 -Template $template

Example 5 - Change image driver

$template = 'DRIVER="qcow2"'
        Update-CloudImage -ID 789 -Template $template

Update-CloudImageOwner

Source File: cloud-image.ps1 Synopsis: Updates the ownership of an image in the Cloud Server.

Description: Changes the user and/or group ownership of an image. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupID Int32 False - - -
ID Int32 True ByPropertyName - -
UserID Int32 True - - -

Example(s)

Example 1 - Change the ownership of image 5 to user 2

Update-CloudImageOwner -ID 5 -UserID 2

Example 2 - Change the ownership of image 5 to user 2 and group 100

Update-CloudImageOwner -ID 5 -UserID 2 -GroupID 100

Example 3 - Change the ownership of image 5 to user 2 without confirmation

Update-CloudImageOwner -ID 5 -UserID 2 -Confirm:$false

Update-CloudImagePermissions

Source File: cloud-image.ps1 Synopsis: Updates the permissions of an image in the Cloud Server.

Description: Changes the permission of an image. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupAdmin Boolean False - - -
GroupManage Boolean False - - -
GroupUse Boolean False - - -
ID Int32 True ByPropertyName - -
OtherAdmin Boolean False - - -
OtherManage Boolean False - - -
OtherUse Boolean False - - -
OwnerAdmin Boolean False - - -
OwnerManage Boolean False - - -
OwnerUse Boolean False - - -

Example(s)

Example 1 - Give group users permission to use the image

Update-CloudImagePermissions -ID 35 -GroupUse $true

Example 2 - Deny group admin permission to the image

Update-CloudImagePermissions -ID 35 -GroupAdmin $false

Example 3 - Set multiple permissions at once

Update-CloudImagePermissions -ID 35 -GroupUse $true -GroupManage $true -OtherUse $true

Update-CloudImageType

Source File: cloud-image.ps1 Synopsis: Updates an image type on the Cloud Server.

Description: Updates an image type.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
Type String True ByValue - -

Example(s)

Example 1 - Change an image to the OS type

Update-CloudImageType -ID 123 -Type OS

Example 2 - Change an image to the CDROM type

Update-CloudImageType -ID 123 -Type CDROM

Example 3 - Change an image to the DATABLOCK type

Update-CloudImageType -ID 123 -Type DATABLOCK

Example 4 - Change an image to the CONTEXT type

Update-CloudImageType -ID 123 -Type CONTEXT

Update-CloudInstanceConfig

Source File: cloud-instance.ps1 Synopsis: Updates the configuration of a cloud instance.

Description: Sends a PATCH request to update the instance configuration (CPU, memory, etc.). Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ConfigData Hashtable True - - -
ID Int32 True - - -

Example(s)

Example 1

$configData = @{
            cpu = 1.0
            vcpu = 4
            memory = 8192
        }
        Update-CloudInstanceConfig -ID 68 -ConfigData $configData

Example 2 - Update just CPU

Update-CloudInstanceConfig -ID 68 -ConfigData @{ cpu = 0.5 }

Update-CloudInstanceGroupOwner

Source File: cloud-instance.ps1 Synopsis: Updates the ownership of an instance group in the Cloud Server.

Description: Changes the user and/or group ownership of an instance group. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupID Int32 False - - -
ID Int32 True ByPropertyName - -
UserID Int32 True - - -

Example(s)

Example 1

Update-CloudInstanceOwner -ID 5 -UserID 2

Example 2

Update-CloudInstanceOwner -ID 5 -UserID 2 -GroupID 100

Example 3

Update-CloudInstanceOwner -ID 5 -UserID 2 -Confirm:$false

Update-CloudInstanceGroupPermissions

Source File: cloud-instance.ps1 Synopsis: Updates the permissions of an instance group in the Cloud Server.

Description: Changes the permission of an instance group. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupAdmin Boolean False - - -
GroupManage Boolean False - - -
GroupUse Boolean False - - -
ID Int32 True ByPropertyName - -
OtherAdmin Boolean False - - -
OtherManage Boolean False - - -
OtherUse Boolean False - - -
OwnerAdmin Boolean False - - -
OwnerManage Boolean False - - -
OwnerUse Boolean False - - -

Example(s)

Example 1 - Give group users permission to use the instance

Update-CloudInstancePermissions -ID 35 -GroupUse $true

Example 2 - Deny group admin permission to the instance

Update-CloudInstancePermissions -ID 35 -GroupAdmin $false

Example 3 - Set multiple permissions at once

Update-CloudInstancePermissions -ID 35 -GroupUse $true -GroupManage $true -OtherUse $true

Update-CloudInstanceName

Source File: cloud-instance.ps1 Synopsis: Updates the nameof a cloud instance.

Description: Sends a PATCH request to update the instance name. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
NewName String True - - -

Example(s)

Example 1

Update-CloudInstanceName -ID 68 -NewName "NewName"

Update-CloudInstanceOwner

Source File: cloud-instance.ps1 Synopsis: Updates the ownership of an instance in the Cloud Server.

Description: Changes the user and/or group ownership of an instance. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupID Int32 False - - -
ID Int32 True ByPropertyName - -
UserID Int32 True - - -

Example(s)

Example 1

Update-CloudInstanceOwner -ID 5 -UserID 2

Example 2

Update-CloudInstanceOwner -ID 5 -UserID 2 -GroupID 100

Example 3

Update-CloudInstanceOwner -ID 5 -UserID 2 -Confirm:$false

Update-CloudInstancePermissions

Source File: cloud-instance.ps1 Synopsis: Updates the permissions of an instance in the Cloud Server.

Description: Changes the permission of an instance. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupAdmin Boolean False - - -
GroupManage Boolean False - - -
GroupUse Boolean False - - -
ID Int32 True ByPropertyName - -
OtherAdmin Boolean False - - -
OtherManage Boolean False - - -
OtherUse Boolean False - - -
OwnerAdmin Boolean False - - -
OwnerManage Boolean False - - -
OwnerUse Boolean False - - -

Example(s)

Example 1 - Give group users permission to use the instance

Update-CloudInstancePermissions -ID 35 -GroupUse $true

Example 2 - Deny group admin permission to the instance

Update-CloudInstancePermissions -ID 35 -GroupAdmin $false

Example 3 - Set multiple permissions at once

Update-CloudInstancePermissions -ID 35 -GroupUse $true -GroupManage $true -OtherUse $true

Update-CloudInstanceTemplate

Source File: cloud-instance.ps1 Synopsis: Updates the template contents of a cloud instance.

Description: Sends a PATCH request to update the user template contents of an instance. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
TemplateData Hashtable True - - -

Example(s)

Example 1

$templateData = @{
            merge = $true
            template = "CPU=1.0`nMEMORY=8192"
        }
        Update-CloudInstanceTemplate -ID 123 -TemplateData $templateData

Example 2

$templateData = @{
            merge = $false
            template = "CPU=1.0"
        }
        Update-CloudInstanceTemplate -ID 561 -TemplateData $templateData

Update-CloudMarket

Source File: cloud-market.ps1 Synopsis: Updates an existing cloud market on the Cloud Server.

Description: Updates an existing cloud market configuration. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Description String False - - -
Endpoint String False - - -
Id Int32 True - - -
Name String False - - -
S3Bucket String False - - -
S3Key String False - - -
S3Region String False - - -
S3Secret String False - - -
Type String False - - -

Example(s)

Example 1 - Update the endpoint for an existing static market

Update-CloudMarket -ID 5 -Endpoint "https://USERNAME:PASSWORD@marketplace.softiron.cloud/community/metadata/"

Example 2 - Update S3 credentials for an existing S3 market

Update-CloudMarket -ID 3 -S3Key "NewAccessKey123" -S3Secret "NewSecretKey456"

Update-CloudMarketApp

Source File: cloud-market.ps1 Synopsis: Updates an existing marketplace app on the Cloud Server.

Description: Updates an existing marketplace app configuration. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
AdditionalParams Hashtable False - - -
Description String False - - -
Format String False - - -
Id Int32 True - - -
Merge Boolean False - - $true
Name String False - - -
OriginId String False - - -
Publisher String False - - -
Type String False - - -
Version String False - - -

Example(s)

Example 1 - Update the version and description of a marketplace app without merging

Update-CloudMarketApp -ID 5 -Version "22.04.1" -Description "Ubuntu 22.04.1 LTS Server" -Merge:$false

Example 2 - Update marketplace app with custom parameters, merging the new configuration with the existing one (default behavior)

$params = @{ "SIZE" = "20480" }
        Update-CloudMarketApp -ID 5 -AdditionalParams $params

Update-CloudMarketAppOwner

Source File: cloud-market.ps1 Synopsis: Updates the ownership of a market app in the Cloud Server.

Description: Changes the user and/or group ownership of a market app. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupID Int32 False - - -
ID Int32 True ByPropertyName - -
UserID Int32 True - - -

Example(s)

Example 1 - Update the owner of a market app

Update-CloudMarketAppOwner -ID 5 -UserID 2

Example 2 - Update the user and group ownership of a market app

Update-CloudMarketAppOwner -ID 5 -UserID 2 -GroupID 100

Example 3 - Update the user and group ownership of a market app, bypassing the confirmation prompt

Update-CloudMarketAppOwner -ID 5 -UserID 2 -Confirm:$false

Update-CloudMarketAppPermissions

Source File: cloud-market.ps1 Synopsis: Updates the permissions of a market app in the Cloud Server.

Description: Changes the permission of a market app. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupAdmin Boolean False - - -
GroupManage Boolean False - - -
GroupUse Boolean False - - -
ID Int32 True ByPropertyName - -
OtherAdmin Boolean False - - -
OtherManage Boolean False - - -
OtherUse Boolean False - - -
OwnerAdmin Boolean False - - -
OwnerManage Boolean False - - -
OwnerUse Boolean False - - -

Example(s)

Example 1 - Give group users permission to use the market app

Update-CloudMarketAppPermissions -ID 35 -GroupUse $true

Example 2 - Deny group admin permission on the market app

Update-CloudMarketAppPermissions -ID 35 -GroupAdmin $false

Example 3 - Set multiple permissions on a market app at once

Update-CloudMarketAppPermissions -ID 35 -GroupUse $true -GroupManage $true -OtherUse $true

Update-CloudMarketOwner

Source File: cloud-market.ps1 Synopsis: Updates the ownership of a market in the Cloud Server.

Description: Changes the user and/or group ownership of a market. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupID Int32 False - - -
ID Int32 True ByPropertyName - -
UserID Int32 True - - -

Example(s)

Example 1 - Update the owner of a market

Update-CloudMarketOwner -ID 5 -UserID 2

Example 2 - Update the user and group ownership of a market

Update-CloudMarketOwner -ID 5 -UserID 2 -GroupID 100

Example 3 - Update the user and group ownership of a market, bypassing the confirmation prompt

Update-CloudMarketOwner -ID 5 -UserID 2 -Confirm:$false

Update-CloudMarketPermissions

Source File: cloud-market.ps1 Synopsis: Updates the permissions of a market in the Cloud Server.

Description: Changes the permission of a market. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupAdmin Boolean False - - -
GroupManage Boolean False - - -
GroupUse Boolean False - - -
ID Int32 True ByPropertyName - -
OtherAdmin Boolean False - - -
OtherManage Boolean False - - -
OtherUse Boolean False - - -
OwnerAdmin Boolean False - - -
OwnerManage Boolean False - - -
OwnerUse Boolean False - - -

Example(s)

Example 1 - Give group users permission to use the market

Update-CloudMarketPermissions -ID 35 -GroupUse $true

Example 2 - Deny group admin permission to the market

Update-CloudMarketPermissions -ID 35 -GroupAdmin $false

Example 3 - Set multiple permissions at once on a market

Update-CloudMarketPermissions -ID 35 -GroupUse $true -GroupManage $true -OtherUse $true

Update-CloudNetwork

Source File: cloud-network.ps1 Synopsis: Updates a virtual network.

Description: Updates a virtual network's configuration.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Merge Boolean False - - $true
Template String True - - -

Example(s)

Example 1 - Update cloud network description

$template = 'DESCRIPTION = "Updated network description"'
        Update-CloudNetwork -ID 5 -Template $template

Example 2 - Update cloud network 5 without merging

Update-CloudNetwork -ID 5 -Template $template -Merge:$false

Example 3 - Update a network's MAC address range and description

$template = @"
        DESCRIPTION = "Updated network with custom MAC range"
        MAC_START = "02:00:c0:a8:00:01"
        MAC_END = "02:00:c0:a8:00:FF"
        "@
        Update-CloudNetwork -ID 5 -Template $template -Verbose

Update-CloudNetworkAddressRange

Source File: cloud-network.ps1 Synopsis: Updates an address range in a virtual network.

Description: Modifies an existing address range in a virtual network.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
NetworkID Int32 True ByPropertyName - -
Template String True - - -

Example(s)

Example 1 - Update a network range

$template = 'AR = [ AR_ID = "0", SIZE = "100" ]'
        Update-CloudNetworkAddressRange -NetworkID 5 -Template $template

Update-CloudNetworkOwner

Source File: cloud-network.ps1 Synopsis: Updates the ownership of a network in the Cloud Server.

Description: Changes the user and/or group ownership of a network. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupID Int32 False - - -
ID Int32 True ByPropertyName - -
UserID Int32 True - - -

Example(s)

Example 1 - Change the owner of a network to a specific user

Update-CloudNetworkOwner -ID 5 -UserID 2

Example 2 - Change the owner of a network to a specific user and group

Update-CloudNetworkOwner -ID 5 -UserID 2 -GroupID 100

Example 3 - Change the owner of a network to a specific user, bypassing confirmation prompt

Update-CloudNetworkOwner -ID 5 -UserID 2 -Confirm:$false

Update-CloudNetworkPermissions

Source File: cloud-network.ps1 Synopsis: Updates the permissions of a network in the Cloud Server.

Description: Changes the permission of a network. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupAdmin Boolean False - - -
GroupManage Boolean False - - -
GroupUse Boolean False - - -
ID Int32 True ByPropertyName - -
OtherAdmin Boolean False - - -
OtherManage Boolean False - - -
OtherUse Boolean False - - -
OwnerAdmin Boolean False - - -
OwnerManage Boolean False - - -
OwnerUse Boolean False - - -

Example(s)

Example 1 - Give group users permission to use the network

Update-CloudNetworkPermissions -ID 35 -GroupUse $true

Example 2 - Deny group admin permission to the network

Update-CloudNetworkPermissions -ID 35 -GroupAdmin $false

Example 3 - Set multiple permissions at once

Update-CloudNetworkPermissions -ID 35 -GroupUse $true -GroupManage $true -OtherUse $true

Update-CloudNetworkTemplate

Source File: cloud-network.ps1 Synopsis: Updates a network template stored in the network.

Description: Updates the template configuration for a network.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
NetworkID Int32 True ByPropertyName - -
Template String True - - -

Example(s)

Example 1 - Update a network template using a variable

$template = 'DESCRIPTION = "Production Network"'
        Update-CloudNetworkTemplate -NetworkID 5 -Template $template

Update-CloudNetworkTemplateOwner

Source File: cloud-network.ps1 Synopsis: Updates the ownership of a network in the Cloud Server.

Description: Changes the user and/or group ownership of a network. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupID Int32 False - - -
ID Int32 True ByPropertyName - -
UserID Int32 True - - -

Example(s)

Example 1 - Set a network template's owner to a user

Update-CloudNetworkTemplateOwner -ID 5 -UserID 2

Example 2 - Set a network template's owner to a user and group

Update-CloudNetworkTemplateOwner -ID 5 -UserID 2 -GroupID 100

Example 3 - Set a network template's owner to a user, bypassing the confirmation prompt

Update-CloudNetworkTemplateOwner -ID 5 -UserID 2 -Confirm:$false

Update-CloudNetworkTemplatePermissions

Source File: cloud-network.ps1 Synopsis: Updates the permissions of a network in the Cloud Server.

Description: Changes the permission of a network. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupAdmin Boolean False - - -
GroupManage Boolean False - - -
GroupUse Boolean False - - -
ID Int32 True ByPropertyName - -
OtherAdmin Boolean False - - -
OtherManage Boolean False - - -
OtherUse Boolean False - - -
OwnerAdmin Boolean False - - -
OwnerManage Boolean False - - -
OwnerUse Boolean False - - -

Example(s)

Example 1 - Give group users permission to use the network

Update-CloudNetworkTemplatePermissions -ID 35 -GroupUse $true

Example 2 - Deny group admin permission to the network

Update-CloudNetworkTemplatePermissions -ID 35 -GroupAdmin $false

Example 3 - Set multiple permissions at once

Update-CloudNetworkTemplatePermissions -ID 35 -GroupUse $true -GroupManage $true -OtherUse $true

Update-CloudRouter

Source File: cloud-router.ps1 Synopsis: Updates a virtual router in the Cloud Server.

Description: Creates a virtual router. Automatically handles token refresh.

CmdletBinding: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Config String True - - -
ID Int32 True - - -
KeepalivedID Int32 False - - -
KeepalivedPassword String False - - -
Name String False - - -

Example(s)

Example 1 - Update a virtual router with individual parameters

Update-CloudRouter -Name "gateway-router" -ID 4 -KeepalivedPassword "secure123" -KeepalivedID 100

Example 2 - Update a virtual router with a template variable

$router = @"
NAME="test-router"
KEEPALIVED_PASSWORD="mypassword"
KEEPALIVED_ID=100
"@
        Update-CloudRouter -Config $routerdata -ID 4

Update-CloudRouterOwner

Source File: cloud-router.ps1 Synopsis: Updates the ownership of a router in the Cloud Server.

Description: Changes the user and/or group ownership of a router. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupID Int32 False - - -
ID Int32 True ByPropertyName - -
UserID Int32 True - - -

Example(s)

Example 1 - Change the ownership of a virtual router to a user

Update-CloudRouterOwner -ID 5 -UserID 2

Example 2 - Change the ownership of a virtual router to a user and a group

Update-CloudRouterOwner -ID 5 -UserID 2 -GroupID 100

Example 3 - Change the ownership of a virtual router to a user, bypassing the confirmation prompt

Update-CloudRouterOwner -ID 5 -UserID 2 -Confirm:$false

Update-CloudRouterPermissions

Source File: cloud-router.ps1 Synopsis: Updates the permissions of a router in the Cloud Server.

Description: Changes the permission of a router. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupAdmin Boolean False - - -
GroupManage Boolean False - - -
GroupUse Boolean False - - -
ID Int32 True ByPropertyName - -
OtherAdmin Boolean False - - -
OtherManage Boolean False - - -
OtherUse Boolean False - - -
OwnerAdmin Boolean False - - -
OwnerManage Boolean False - - -
OwnerUse Boolean False - - -

Example(s)

Example 1 - Give group users permission to use the router

Update-CloudRouterPermissions -ID 35 -GroupUse $true

Example 2 - Deny group admin permission to the router

Update-CloudRouterPermissions -ID 35 -GroupAdmin $false

Example 3 - Set multiple permissions at once

Update-CloudRouterPermissions -ID 35 -GroupUse $true -GroupManage $true -OtherUse $true

Update-CloudSecurityGroup

Source File: cloud-securitygroup.ps1 Synopsis: Updates a security group on the Cloud Server.

Description: Updates a security group's configuration including name, description, and rules. You can choose to merge with the existing configuration or replace it entirely. Merge is enabled by default. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Description String False - - -
ID Int32 True - - -
Merge Boolean False - - $true
Name String False - - -
Rules Array False - - -

Example(s)

Example 1 - Update security group description

Update-CloudSecurityGroup -ID 0 -Description "Updated default security group"

Example 2 - Add HTTP and HTTPS inbound rules

$rules = @(
            @{ Protocol = "TCP"; RuleType = "INBOUND"; Range = "80:80" }
            @{ Protocol = "TCP"; RuleType = "INBOUND"; Range = "443:443" }
        )
        Update-CloudSecurityGroup -ID 100 -Rules $rules

Example 3 - Allow all traffic from specific subnet

$rules = @(
            @{ Protocol = "ALL"; RuleType = "INBOUND"; IP = "10.0.0.0"; Size = "24" }
        )
        Update-CloudSecurityGroup -ID 100 -Rules $rules

Example 4 - Replace entire security group configuration

$rules = @(
            @{ Protocol = "ALL"; RuleType = "OUTBOUND" }
            @{ Protocol = "TCP"; RuleType = "INBOUND"; Range = "22:22" }
        )
        Update-CloudSecurityGroup -ID 100 -Name "SSH-Only" -Description "SSH access only" -Rules $rules -Merge:$false

Example 5 - Allow ICMP ping

$rules = @(
            @{ Protocol = "ICMP"; RuleType = "INBOUND"; IcmpType = "8" }
        )
        Update-CloudSecurityGroup -ID 100 -Rules $rules

Example 6 - Update without confirmation

Update-CloudSecurityGroup -ID 100 -Description "New description" -Confirm:$false

Update-CloudSecurityGroupOwner

Source File: cloud-securitygroup.ps1 Synopsis: Updates the ownership of a security group in the Cloud Server.

Description: Changes the user and/or group ownership of a security group. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupID Int32 False - - -
ID Int32 True ByPropertyName - -
UserID Int32 True - - -

Example(s)

Example 1 - Change the ownership of a security group to a specific user

Update-CloudSecurityGroupOwner -ID 5 -UserID 2

Example 2 - Change the ownership of a security group to a specific user and group

Update-CloudSecurityGroupOwner -ID 5 -UserID 2 -GroupID 100

Example 3 - Change the ownership of a security group to a specific user, bypassing confirmation prompt

Update-CloudSecurityGroupOwner -ID 5 -UserID 2 -Confirm:$false

Update-CloudSecurityGroupPermissions

Source File: cloud-securitygroup.ps1 Synopsis: Updates the permissions of a security group in the Cloud Server.

Description: Changes the permission of a security group. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupAdmin Boolean False - - -
GroupManage Boolean False - - -
GroupUse Boolean False - - -
ID Int32 True ByPropertyName - -
OtherAdmin Boolean False - - -
OtherManage Boolean False - - -
OtherUse Boolean False - - -
OwnerAdmin Boolean False - - -
OwnerManage Boolean False - - -
OwnerUse Boolean False - - -

Example(s)

Example 1 - Give group users permission to use the security group

Update-CloudSecurityGroupPermissions -ID 35 -GroupUse $true

Example 2 - Deny group admin permission to the security group

Update-CloudSecurityGroupPermissions -ID 35 -GroupAdmin $false

Example 3 - Set multiple permissions at once

Update-CloudSecurityGroupPermissions -ID 35 -GroupUse $true -GroupManage $true -OtherUse $true

Update-CloudTemplate

Source File: cloud-template.ps1 Synopsis: Updates an existing VM template on the Cloud Server.

Description: Updates a VM template's configuration. You can choose to merge with the existing template or replace it entirely. Merge is enabled by default. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
CDROMID Int32 False - - -
CPU Double False - - -
Description String False - - -
EnableCloudInit Boolean False - - -
EnableVNC Boolean False - - -
ID Int32 True - - -
ImageID Int32 False - - -
Logo String False - - -
Memory Int32 False - - -
Merge Boolean False - - $true
Name String False - - -
NetworkID Int32 False - - -
NetworkName String False - - -
SecurityGroupIDs String False - - -
SSHPublicKey String False - - -
VCPU Int32 False - - -

Example(s)

Example 1 - Update template memory and CPU (merge with existing)

Update-CloudTemplate -ID 123 -CPU 2 -Memory 8192

Example 2 - Update template name and description

Update-CloudTemplate -ID 123 -Name "Ubuntu-22.04-Production" -Description "Production web server template"

Example 3 - Add network to template

Update-CloudTemplate -ID 123 -NetworkID 2 -SecurityGroupIDs "0,100"

Example 4 - Replace entire template configuration

Update-CloudTemplate -ID 123 -Name "New-Template" -ImageID 57 -CPU 2 -VCPU 4 -Memory 8192 -Merge:$false

Example 5 - Add SSH key to template

$sshKey = Get-Content ~/.ssh/id_rsa.pub -Raw
        Update-CloudTemplate -ID 123 -SSHPublicKey $sshKey

Example 6 - Disable VNC on template

Update-CloudTemplate -ID 123 -EnableVNC:$false

Update-CloudTemplateOwner

Source File: cloud-template.ps1 Synopsis: Updates the ownership of a template in the Cloud Server.

Description: Changes the user and/or group ownership of a template. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupID Int32 False - - -
ID Int32 True ByPropertyName - -
UserID Int32 True - - -

Example(s)

Example 1 - Change the ownership of a template to a specific user

Update-CloudTemplateOwner -ID 5 -UserID 2

Example 2 - Change the ownership of a template to a specific user and group

Update-CloudTemplateOwner -ID 5 -UserID 2 -GroupID 100

Example 3 - Change the ownership of a template to a specific user, bypassing the confirmation prompt

Update-CloudTemplateOwner -ID 5 -UserID 2 -Confirm:$false

Update-CloudTemplatePermissions

Source File: cloud-template.ps1 Synopsis: Updates the permissions of a template in the Cloud Server.

Description: Changes the permission of a template. Prompts for confirmation.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
GroupAdmin Boolean False - - -
GroupManage Boolean False - - -
GroupUse Boolean False - - -
ID Int32 True ByPropertyName - -
OtherAdmin Boolean False - - -
OtherManage Boolean False - - -
OtherUse Boolean False - - -
OwnerAdmin Boolean False - - -
OwnerManage Boolean False - - -
OwnerUse Boolean False - - -

Example(s)

Example 1 - Give group users permission to use the template

Update-CloudTemplatePermissions -ID 35 -GroupUse $true

Example 2 - Deny group admin permission to the template

Update-CloudTemplatePermissions -ID 35 -GroupAdmin $false

Example 3 - Set multiple permissions at once

Update-CloudTemplatePermissions -ID 35 -GroupUse $true -GroupManage $true -OtherUse $true

Update-CloudUser

Source File: cloud-user.ps1 Synopsis: Updates a user on the Cloud Server.

Description: Updates a user's template. You can choose to merge with the existing template or replace it entirely. Merge is enabled by default. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Merge Boolean False - - $true
Template String True ByValue - -

Example(s)

Example 1 - Update user's SSH public key (merge with existing)

$template = 'SSH_PUBLIC_KEY="ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB... user@host"'
        Update-CloudUser -ID 5 -Template $template

Example 2 - Update user's language preference

$template = 'LANG="es"'
        Update-CloudUser -ID 5 -Template $template

Example 3 - Update multiple user preferences

$template = @"
LANG="en"
SCHEME="light"
DISABLE_ANIMATIONS="true"
"@
        Update-CloudUser -ID 5 -Template $template

Example 4 - Replace entire user template

$template = @"
LANG="en"
SCHEME="dark"
DISABLE_ANIMATIONS="false"
SSH_PUBLIC_KEY="ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB... user@host"
"@
        Update-CloudUser -ID 5 -Template $template -Merge:$false

Example 5 - Add custom user attributes

$template = @"
DEPARTMENT="IT"
COST_CENTER="12345"
MANAGER="John Doe"
"@
        Update-CloudUser -ID 10 -Template $template

Update-CloudUserAuth

Source File: cloud-user.ps1 Synopsis: Changes the user's authentication driver and password on the Cloud Server.

Description: Changes the user's authentication driver and password. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
driver String True - - -
ID Int32 True ByPropertyName - -
Password Object True ByValue - -

Example(s)

Example 1 - Updates the auth driver of user 12 to ldap and uses a previously defined variable to set the password

Update-CloudUserAuth -id 12 -Password $Password -Driver ldap

Example 2 - Updates the auth driver of 12 to core and sets the password to "Password123!", without confirmation

Update-CloudUserAuth -id 12 -Password "Password123!" -Driver core -Confirm:$false

Example 3 - Pipe SecureString password through directly without storing in variable and update user's password and auth driver to ldap

Read-Host -AsSecureString -Prompt "Enter password" | Update-CloudUserAuth -ID 12 -Driver ldap -Confirm:$false

Example 4 - Prompt for the new user password for user 12, and set the password and driver to core without confirmation

$Password = Read-Host -AsSecureString -Prompt "Enter password"
        Update-CloudUserAuth -id 12 -Password $Password -Driver core -Confirm:$false

Update-CloudUserGroupMembership

Source File: cloud-user.ps1 Synopsis: Changes the user's default group on the Cloud Server.

Description: Changes the user's default group. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True - - -
User Int32 True - - -

Example(s)

Example 1 - Updates the primary group of user 12 to group 104

Update-CloudUserGroupMembership -id 104 -user 12

Example 2 - Updates the primary group of user 12 to group 104 without confirmation

Update-CloudUserGroupMembership -id 104 -user 12 -Confirm:$false

Update-CloudUserPassword

Source File: cloud-user.ps1 Synopsis: Changes the user's authentication driver and password on the Cloud Server.

Description: Changes the user's authentication driver and password. Automatically handles token refresh, clears value of $Password after running.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
ID Int32 True ByPropertyName - -
Password Object True ByValue - -

Example(s)

Example 1 - Updates the auth driver of user 12 to ldap

Update-CloudUserPassword -id 12 -Password $Password -Driver ldap

Example 2 - Updates the password of user 12 without confirmation

Update-CloudUserPassword -id 12 -Password $Password -Confirm:$false

Example 3 - Pipe SecureString password through directly without storing in variable and update user's password

Read-Host -AsSecureString -Prompt "Enter password" | Update-CloudUserPassword -ID 12 -Driver ldap -Confirm:$false

Example 4 - Prompt for the new user password for user 12 and change it without confirmation

$Password = Read-Host -AsSecureString -Prompt "Enter password"
        Update-CloudUserPassword -id 12 -Password $Password -Confirm:$false

Update-CloudUserQuota

Source File: cloud-user.ps1 Synopsis: Updates the user quota limits on the Cloud Server.

Description: Updates quota limits for the specified user. You can update instance quotas, datastore quotas, and network quotas. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DatastoreQuota Hashtable False - - -
ID Int32 True ByPropertyName - -
InstanceQuota Hashtable False - - -
NetworkQuota Hashtable False - - -

Example(s)

Example 1 - Update the instance quota of a user

Update-CloudUserQuota -id 12 -InstanceQuota @{
            cpu = 100
            memory = 204800
            running_cpu = 50
            running_memory = 102400
            running_instances = 10
            system_disk_size = 1000000
            instances = 20
        }

Update-CloudVMDeployment

Source File: cloud-instance.ps1 Synopsis: Updates a VM from the Cloud Server.

Description: Updates the specified VM. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
HostID Int32 True ByPropertyName - -
ID Int32 True ByPropertyName - -

Example(s)

Example 1

Update-CloudVMDeployment -ID 561

Example 2

Update-CloudVMDeployment -ID 561 -Confirm:$false

Example 3

Update-CloudVMDeployment -ID 561 -WhatIf

Update-CloudVMDiskSize

Source File: cloud-instance.ps1 Synopsis: Resizes a VM's disk

Description: Resize a VM's disk. Automatically handles token refresh.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
DiskID Int32 True ByPropertyName - -
ID Int32 True ByPropertyName - -
Size Int32 True - - -

Example(s)

Example 1 - Resize disk 2 on VM 79 to 40960 MB

Update-CloudVMDiskSize -InstanceID 79 -DiskID 2 -Size 40960

Example 2 - Resize disk 2 on VM 79 to 40960 MB without confirmation

Update-CloudVMDiskSize -InstanceID 79 -DiskID 2 -Size 40960 -Confirm:$false

Update-CloudVMSchedule

Source File: cloud-instance.ps1 Synopsis: Updates a scheduled action for a Cloud VM instance.

Description: Modifies an existing scheduled action for a VM.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Action String False - poweroff, poweroff-hard, resume, reboot, reboot-hard, snapshot, snapshot-revert, snapshot-delete, terminate, terminate-hard, undeploy, undeploy-hard -
Args String False - - -
Days String False - - -
EndType String False - NONE, TIMES, DATE -
EndValue String False - - -
ID Int32 True ByPropertyName - -
Repeat Int32 False - - -
ScheduleID Int32 True - - -
Time String False - - -

Example(s)

Example 1 - Update schedule 0 to run at a different time

Update-CloudVMSchedule -ID 80 -ScheduleID 0 -Time "04:00"

Example 2 - Change action and repeat interval

Update-CloudVMSchedule -ID 80 -ScheduleID 0 -Action "reboot" -Repeat 86400

Example 3 - Update without confirmation

Update-CloudVMSchedule -ID 80 -ScheduleID 0 -Time "+7200" -Confirm:$false

Update-CloudZone

Source File: cloud-zone.ps1 Synopsis: Updates a zone on the Cloud Server.

Description: Updates a zone's configuration. You can choose to merge with the existing configuration or replace it entirely. Merge is enabled by default.

CmdletBinding: Yes | SupportsShouldProcess: Yes | ConfirmImpact: High

Parameters

Parameter Type Mandatory Pipeline ValidateSet Default
Endpoint String False - - -
ID Int32 True - - -
Merge Boolean False - - $true
Name String False - - -
Template String False - - -

Example(s)

Example 1 - Update zone endpoint

Update-CloudZone -ID 0 -Endpoint "http://new-host:2633/RPC2"

Example 2 - Update zone name

Update-CloudZone -ID 0 -Name "Production-Zone"

Example 3 - Replace entire zone configuration

$template = @"
NAME = NewZone
ENDPOINT = http://new-host:2633/RPC2
PROVISION_DRIVER = ec2
"@
        Update-CloudZone -ID 0 -Template $template -Merge:$false

Example 4 - Update without confirmation

Update-CloudZone -ID 0 -Endpoint "http://updated:2633/RPC2" -Confirm:$false