Nutanix.Dataprotection.psd1
|
@{ # Module manifest for Nutanix Nutanix.Dataprotection PowerShell module RootModule = 'Nutanix.Dataprotection.dll' # Version number of this module. ModuleVersion = "1.0.0" # ID used to uniquely identify this module GUID = '8bd6e99b-a648-4cf6-9165-053036f07717' # Author of this module Author = 'Nutanix' # Company or vendor of this module CompanyName = 'Nutanix' # Copyright statement for this module Copyright = '(c) Nutanix. All rights reserved.' # Description of the functionality provided by this module Description = 'Business Continuity with full spectrum of Disaster Recovery and Backup solution. Spanning across Single PC, Cross AZ, MultiSite. Configuration of Recovery points, Protection policies, Recovery Plans. Execution and monitoring of back up and recovery orchestrations on OnPrem as well as Cloud.' # Minimum version of the Windows PowerShell engine required by this module PowerShellVersion = '7.0' # Minimum version of the common language runtime (CLR) required by this module CLRVersion = '4.0' # Processor architecture (None, X86, Amd64) required by this module ProcessorArchitecture = 'None' # Functions to export from this module FunctionsToExport = @() # Cmdlets to export from this module # Export all cmdlets - use wildcard to include all generated cmdlets # This includes cmdlets like Get-VmById, Set-VmById, etc. # Connection management: Set-PrismCentralConfig (alias: Set-PcConfig), Clear-NutanixConfig CmdletsToExport = @('*') # Variables to export from this module VariablesToExport = '*' # Aliases to export from this module AliasesToExport = @() # List of all modules packaged with this module ModuleList = @() # List of all files packaged with this module FileList = @('LICENSE.txt') # Private data to pass to the module specified in RootModule/ModuleToProcess PrivateData = @{ PSData = @{ # Tags applied to this module Tags = @('Nutanix', 'API', 'REST', 'Cloud', 'Nutanix.Dataprotection') # A URL to the license for this module # LicenseUri = # A URL to the main website for this project ProjectUri = '' # A URL to an icon representing this module IconUri = 'https://www.nutanix.com/favicon-96x96.png' # ReleaseNotes of this module ReleaseNotes = @' # Nutanix Nutanix.Dataprotection PowerShell Module v1.0.0 PowerShell module for managing Nutanix Nutanix.Dataprotection resources using the Nutanix.Dataprotection API. ### Features - **Resource Operations**: Create, read, update, delete, and list operations - **Device Management**: Manage various device types and configurations - **Lifecycle Operations**: Power management, migration, cloning, and more - **Dual Parameter Sets**: All cmdlets support both individual parameters and Request object patterns ### Quick Start 1. **Import the module**: ```powershell Import-Module Nutanix.Dataprotection ``` 2. **Configure connection** (via Set-PrismCentralConfig or alias Set-PcConfig): ```powershell # Password is a mandatory SecureString parameter # If not provided, PowerShell will prompt for it securely # Option 1: Let PowerShell prompt (recommended for interactive use) Set-PcConfig -Host "10.46.8.20" -Username "admin" -SkipCertificateCheck # PowerShell prompts: Password: ******* # Option 2: Explicitly provide SecureString password $password = Read-Host -AsSecureString -Prompt "Enter Password" Set-PcConfig -Host "10.46.8.20" -Username "admin" -Password $password -SkipCertificateCheck # Option 3: From PSCredential $credential = Get-Credential -UserName "admin" Set-PcConfig -Host "10.46.8.20" -Username $credential.UserName -Password $credential.Password -SkipCertificateCheck ``` **Important:** Password is required. Without a valid password, API calls will fail with HTTP 401 Unauthorized. 3. **Use Nutanix.Dataprotection cmdlets**: ```powershell # Example: List resources Get-* -Limit_ 10 # Example: Get resource by ID (Individual parameters) Get-*ById -ExtId "resource-uuid" # Example: Update resource (Individual parameters) Set-*ById -ExtId "resource-uuid" -Body $bodyObject -ETag "etag-value" # Example: Update resource (Request object) $request = New-Object Nutanix.Nutanix.DataprotectionSDK.Model.Request.*.*Request $request.extId = "resource-uuid" $request.body = $bodyObject Set-*ById -Request $request -ETag "etag-value" ``` 4. **Clear configuration when done**: ```powershell Clear-NutanixConfig ``` ### Requirements - PowerShell 7.0 or higher - .NET 8.0 Runtime - Access to a Nutanix cluster with Nutanix.Dataprotection API enabled ### Parameter Sets All cmdlets support two parameter sets: - **Individual**: Accepts individual parameters (e.g., `-ExtId`, `-Body`) - **Request**: Accepts a single Request object (e.g., `-Request`) This provides flexibility for different use cases and enables better integration with other PowerShell workflows. ### Connection Management - **Set-PrismCentralConfig** (or alias **Set-PcConfig**): Configure connection to Nutanix cluster - **Clear-NutanixConfig**: Clear stored connection configuration '@ # Prerelease string Prerelease = '' # External dependent modules of this module # Nutanix.Dataprotection module is self-contained - connection management is handled via NutanixConfigBaseCmdlet ExternalModuleDependencies = @() } } # HelpInfo URI of this module HelpInfoURI = '' # Default prefix for commands exported from this module DefaultCommandPrefix = '' } |