cloudstack-ps.psd1

@{
    RootModule = 'cloudstack-ps.psm1'
    ModuleVersion = '0.0.2'
    GUID = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
    Author = 'Tyler Verkade'
    CompanyName = 'US Signal Company'
    Copyright = '(c) 2026. All rights reserved.'
    Description = 'PowerShell module for interacting with Apache CloudStack API'
    PowerShellVersion = '5.1'
    
    FunctionsToExport = @(
        'Add-CSBackupRepository',
        'Add-CSGloboDnsHost',
        'Add-CSImageStore',
        'Add-CSImageStoreS3',
        'Add-CSLdapConfiguration',
        'Add-CSNetworkServiceProvider',
        'Add-CSNicIp',
        'Add-CSObjectStoragePool',
        'Add-CSOpenDaylightController',
        'Add-CSQuotaCredit',
        'Add-CSResourceDetail',
        'Add-CSRolePermission',
        'Add-CSSecondaryStorage',
        'Add-CSSwift',
        'Add-CSTrafficMonitor',
        'Add-CSTrafficType',
        'Add-CSVMNic',
        'Add-CSVMToKubernetesCluster',
        'Clear-CSClusterDedicated',
        'Clear-CSGuestVlanRangeDedicated',
        'Clear-CSHostDedicated',
        'Clear-CSHostDegraded',
        'Clear-CSHostReservation',
        'Clear-CSIpv4SubnetForZoneDedicated',
        'Clear-CSPodDedicated',
        'Clear-CSPublicIpRangeDedicated',
        'Clear-CSVM',
        'Clear-CSVMReservation',
        'Clear-CSVolume',
        'Clear-CSZoneDedicated',
        'Connect-CSServer',
        'Convert-CSCloudToObjectStore',
        'ConvertFrom-Base64',
        'ConvertTo-Base64',
        'Copy-CSDirectDownloadCertificate',
        'Copy-CSISO',
        'Copy-CSSnapshot',
        'Copy-CSTemplate',
        'Debug-CSConnection',
        'Disable-CSAccount',
        'Disable-CSCiscoNexusVSM',
        'Disable-CSClusterHA',
        'Disable-CSHostHA',
        'Disable-CSRole',
        'Disable-CSStorageMaintenance',
        'Disable-CSUser',
        'Disable-CSZoneHA',
        'Dismount-CSISO',
        'Dismount-CSVolume',
        'Enable-CSAccount',
        'Enable-CSCiscoNexusVSM',
        'Enable-CSClusterHA',
        'Enable-CSHostHA',
        'Enable-CSRole',
        'Enable-CSStorageMaintenance',
        'Enable-CSUser',
        'Enable-CSZoneHA',
        'Export-CSImageStoreObject',
        'Export-CSISO',
        'Export-CSSnapshot',
        'Export-CSTemplate',
        'Export-CSVolume',
        'Find-CSHostForMigration',
        'Find-CSStoragePoolForMigration',
        'Get-CSAccount',
        'Get-CSApi',
        'Get-CSApiLimit',
        'Get-CSBackup',
        'Get-CSBackupOffering',
        'Get-CSBackupProvider',
        'Get-CSBackupProviderOffering',
        'Get-CSBackupRepository',
        'Get-CSBackupSchedule',
        'Get-CSBucket',
        'Get-CSCACertificate',
        'Get-CSCapability',
        'Get-CSCapacity',
        'Get-CSCAProvider',
        'Get-CSCiscoNexusVSM',
        'Get-CSCloudIdentifier',
        'Get-CSCluster',
        'Get-CSClusterDedicated',
        'Get-CSClusterDrsPlan',
        'Get-CSClusterMetrics',
        'Get-CSConfiguration',
        'Get-CSConfigurationGroup',
        'Get-CSDbMetric',
        'Get-CSDeploymentPlanner',
        'Get-CSDiagnosticsData',
        'Get-CSDirectDownloadCertificate',
        'Get-CSDiskOffering',
        'Get-CSDomain',
        'Get-CSDomainChild',
        'Get-CSElastistorVolume',
        'Get-CSEvent',
        'Get-CSEventType',
        'Get-CSGuestNetworkIpv6Prefix',
        'Get-CSGuestOsMapping',
        'Get-CSGuestVlan',
        'Get-CSGuestVlanRangeDedicated',
        'Get-CSHost',
        'Get-CSHostDedicated',
        'Get-CSHostHAProvider',
        'Get-CSHostHAResource',
        'Get-CSHostMetric',
        'Get-CSHostTag',
        'Get-CSHypervisor',
        'Get-CSHypervisorCapability',
        'Get-CSHypervisorGuestOsName',
        'Get-CSImageStore',
        'Get-CSImageStoreObject',
        'Get-CSInfrastructure',
        'Get-CSIpv4SubnetForGuestNetwork',
        'Get-CSIpv4SubnetForZone',
        'Get-CSISO',
        'Get-CSISOPermission',
        'Get-CSISOUploadParams',
        'Get-CSLdapConfiguration',
        'Get-CSNetwork',
        'Get-CSNetworkIsolationMethod',
        'Get-CSNetworkOffering',
        'Get-CSNetworkPermission',
        'Get-CSNetworkProtocol',
        'Get-CSNetworkServiceProvider',
        'Get-CSNic',
        'Get-CSObjectStoragePool',
        'Get-CSOpenDaylightController',
        'Get-CSOsCategory',
        'Get-CSOsType',
        'Get-CSPhysicalNetwork',
        'Get-CSPod',
        'Get-CSPodDedicated',
        'Get-CSQuotaBalance',
        'Get-CSQuotaEmailConfiguration',
        'Get-CSQuotaEmailTemplate',
        'Get-CSQuotaPresetVariable',
        'Get-CSQuotaStatement',
        'Get-CSQuotaSummary',
        'Get-CSQuotaTariff',
        'Get-CSResourceDetail',
        'Get-CSResourceDetailOption',
        'Get-CSResourceIcon',
        'Get-CSResourceLimit',
        'Get-CSRole',
        'Get-CSRolePermission',
        'Get-CSRouter',
        'Get-CSRouterHealthCheckResult',
        'Get-CSSamlAccount',
        'Get-CSSecondaryStagingStore',
        'Get-CSSecondaryStorageSelector',
        'Get-CSServiceOffering',
        'Get-CSSnapshot',
        'Get-CSSnapshotDetail',
        'Get-CSSnapshotPolicy',
        'Get-CSSSHKeyPair',
        'Get-CSStorageNetworkIpRange',
        'Get-CSStoragePool',
        'Get-CSStoragePoolMetric',
        'Get-CSStoragePoolObject',
        'Get-CSStorageProvider',
        'Get-CSStorageScopeChangeAffectedVm',
        'Get-CSStorageTag',
        'Get-CSSupportedNetworkService',
        'Get-CSSwift',
        'Get-CSSystemVM',
        'Get-CSSystemVMUsageHistory',
        'Get-CSTemplate',
        'Get-CSTemplatePermission',
        'Get-CSTemplateUploadParams',
        'Get-CSTrafficMonitor',
        'Get-CSTrafficType',
        'Get-CSTrafficTypeImplementor',
        'Get-CSUnmanagedInstance',
        'Get-CSUsageRecord',
        'Get-CSUsageServerMetric',
        'Get-CSUsageType',
        'Get-CSUser',
        'Get-CSUserByApiKey',
        'Get-CSUserData',
        'Get-CSUserKeys',
        'Get-CSUserTwoFactorAuthenticatorProvider',
        'Get-CSVirtualRouterElement',
        'Get-CSVlanIpRange',
        'Get-CSVM',
        'Get-CSVMForImport',
        'Get-CSVMGroup',
        'Get-CSVMMetrics',
        'Get-CSVMPassword',
        'Get-CSVMSchedule',
        'Get-CSVMSnapshot',
        'Get-CSVMTag',
        'Get-CSVMUsageHistory',
        'Get-CSVMUserData',
        'Get-CSVmwareDatacenter',
        'Get-CSVmwareDatacenterVirtualMachine',
        'Get-CSVolume',
        'Get-CSVolumeForImport',
        'Get-CSVolumeIscsiName',
        'Get-CSVolumeMetric',
        'Get-CSVolumePath',
        'Get-CSVolumeUploadParams',
        'Get-CSVolumeUsageHistory',
        'Get-CSZone',
        'Get-CSZoneDedicated',
        'Get-CSZoneMetric',
        'Grant-CSNetworkPermission',
        'Hide-CSEvent',
        'Import-CSBackupOffering',
        'Import-CSExternalVM',
        'Import-CSRole',
        'Import-CSUnmanagedInstance',
        'Import-CSVM',
        'Import-CSVMFromFile',
        'Import-CSVMFromUrl',
        'Import-CSVolume',
        'Import-CSVolumeFromUrl',
        'Initialize-CSTemplate',
        'Invoke-CSClusterDrsPlan',
        'Invoke-CSDiagnostics',
        'Lock-CSAccount',
        'Lock-CSUser',
        'Mount-CSISO',
        'Mount-CSVolume',
        'Move-CSDomain',
        'Move-CSNetwork',
        'Move-CSSecondaryStorageData',
        'Move-CSSecondaryStorageResource',
        'Move-CSSnapshot',
        'Move-CSSystemVM',
        'Move-CSUser',
        'Move-CSVM',
        'Move-CSVMWithVolume',
        'Move-CSVolume',
        'New-CSAccount',
        'New-CSBackup',
        'New-CSBackupSchedule',
        'New-CSBucket',
        'New-CSCertificate',
        'New-CSCluster',
        'New-CSClusterDrsPlan',
        'New-CSConsoleEndpoint',
        'New-CSDirectDownloadCertificate',
        'New-CSDiskOffering',
        'New-CSDomain',
        'New-CSGuestNetworkIpv6Prefix',
        'New-CSGuestOs',
        'New-CSGuestOsMapping',
        'New-CSHost',
        'New-CSHostCertificate',
        'New-CSIpv4SubnetForGuestNetwork',
        'New-CSIpv4SubnetForZone',
        'New-CSISO',
        'New-CSLdapAccount',
        'New-CSManagementNetworkIpRange',
        'New-CSNetwork',
        'New-CSNetworkOffering',
        'New-CSPhysicalNetwork',
        'New-CSPod',
        'New-CSQuotaTariff',
        'New-CSRole',
        'New-CSSecondaryStagingStore',
        'New-CSSecondaryStorageSelector',
        'New-CSServiceInstance',
        'New-CSServiceOffering',
        'New-CSSnapshot',
        'New-CSSnapshotFromVMSnapshot',
        'New-CSSnapshotPolicy',
        'New-CSSSHKeyPair',
        'New-CSStorageNetworkIpRange',
        'New-CSStoragePool',
        'New-CSTemplate',
        'New-CSUser',
        'New-CSVirtualRouterElement',
        'New-CSVlanIpRange',
        'New-CSVM',
        'New-CSVMGroup',
        'New-CSVMSchedule',
        'New-CSVMSnapshot',
        'New-CSVMTag',
        'New-CSVmwareDatacenter',
        'New-CSVolume',
        'New-CSZone',
        'Register-CSSSHKeyPair',
        'Register-CSTemplate',
        'Register-CSUserData',
        'Register-CSUserKeys',
        'Register-CSVMBackupOffering',
        'Remove-CSAccount',
        'Remove-CSBackup',
        'Remove-CSBackupOffering',
        'Remove-CSBackupRepository',
        'Remove-CSBackupSchedule',
        'Remove-CSBucket',
        'Remove-CSCiscoNexusVSM',
        'Remove-CSCluster',
        'Remove-CSDiskOffering',
        'Remove-CSDomain',
        'Remove-CSEvent',
        'Remove-CSExpungedResource',
        'Remove-CSGuestNetworkIpv6Prefix',
        'Remove-CSGuestOs',
        'Remove-CSGuestOsMapping',
        'Remove-CSHost',
        'Remove-CSImageStore',
        'Remove-CSIpv4SubnetForGuestNetwork',
        'Remove-CSIpv4SubnetForZone',
        'Remove-CSISO',
        'Remove-CSLdapConfiguration',
        'Remove-CSManagementNetworkIpRange',
        'Remove-CSNetwork',
        'Remove-CSNetworkOffering',
        'Remove-CSNetworkServiceProvider',
        'Remove-CSNicIp',
        'Remove-CSObjectStoragePool',
        'Remove-CSOpenDaylightController',
        'Remove-CSPhysicalNetwork',
        'Remove-CSPod',
        'Remove-CSQuotaTariff',
        'Remove-CSRawUsageRecord',
        'Remove-CSResourceDetail',
        'Remove-CSResourceIcon',
        'Remove-CSRole',
        'Remove-CSRolePermission',
        'Remove-CSRouter',
        'Remove-CSSecondaryStagingStore',
        'Remove-CSSecondaryStorageSelector',
        'Remove-CSServiceOffering',
        'Remove-CSSnapshot',
        'Remove-CSSnapshotPolicy',
        'Remove-CSSSHKeyPair',
        'Remove-CSStorageNetworkIpRange',
        'Remove-CSStoragePool',
        'Remove-CSSystemVM',
        'Remove-CSTemplate',
        'Remove-CSTrafficMonitor',
        'Remove-CSTrafficType',
        'Remove-CSUser',
        'Remove-CSUserData',
        'Remove-CSVlanIpRange',
        'Remove-CSVM',
        'Remove-CSVMFromKubernetesCluster',
        'Remove-CSVMGroup',
        'Remove-CSVMNic',
        'Remove-CSVMSchedule',
        'Remove-CSVMSnapshot',
        'Remove-CSVMTag',
        'Remove-CSVmwareDatacenter',
        'Remove-CSVolume',
        'Remove-CSZone',
        'Repair-CSHostConnection',
        'Reset-CSApiLimit',
        'Reset-CSConfiguration',
        'Reset-CSNetworkPermission',
        'Reset-CSVM',
        'Reset-CSVMPassword',
        'Reset-CSVMSSHKey',
        'Reset-CSVMUserData',
        'Resize-CSVolume',
        'Restart-CSNetwork',
        'Restart-CSRouter',
        'Restart-CSSystemVM',
        'Restart-CSVM',
        'Restore-CSBackup',
        'Restore-CSDestroyedVM',
        'Restore-CSDestroyedVolume',
        'Restore-CSSnapshot',
        'Restore-CSVMSnapshot',
        'Restore-CSVMTemplate',
        'Restore-CSVolumeFromBackup',
        'Revoke-CSCertificate',
        'Revoke-CSDirectDownloadCertificate',
        'Revoke-CSNetworkPermission',
        'Set-CSAccount',
        'Set-CSAccountDefaultZone',
        'Set-CSAccountLdapLink',
        'Set-CSBackupOffering',
        'Set-CSBackupSchedule',
        'Set-CSBucket',
        'Set-CSCluster',
        'Set-CSClusterDedicated',
        'Set-CSConfiguration',
        'Set-CSCustomCertificate',
        'Set-CSDiskOffering',
        'Set-CSDomain',
        'Set-CSDomainLdapLink',
        'Set-CSGuestOs',
        'Set-CSGuestOsMapping',
        'Set-CSGuestVlanRangeDedicated',
        'Set-CSHost',
        'Set-CSHostDedicated',
        'Set-CSHostDegraded',
        'Set-CSHostHA',
        'Set-CSHostPassword',
        'Set-CSHypervisorCapability',
        'Set-CSImageStore',
        'Set-CSIpv4SubnetForZone',
        'Set-CSIpv4SubnetForZoneDedicated',
        'Set-CSISO',
        'Set-CSISOPermission',
        'Set-CSManagementNetworkIpRange',
        'Set-CSNetwork',
        'Set-CSNetworkBgpPeer',
        'Set-CSNetworkOffering',
        'Set-CSNetworkServiceProvider',
        'Set-CSNicIp',
        'Set-CSObjectStoragePool',
        'Set-CSPhysicalNetwork',
        'Set-CSPod',
        'Set-CSPodDedicated',
        'Set-CSPublicIpRangeDedicated',
        'Set-CSQuotaEmailConfiguration',
        'Set-CSQuotaEmailTemplate',
        'Set-CSQuotaTariff',
        'Set-CSResourceIcon',
        'Set-CSResourceLimit',
        'Set-CSRole',
        'Set-CSRolePermission',
        'Set-CSRouterServiceOffering',
        'Set-CSSecondaryStorageSelector',
        'Set-CSServiceOffering',
        'Set-CSSnapshotPolicy',
        'Set-CSStorageNetworkIpRange',
        'Set-CSStoragePool',
        'Set-CSStoragePoolScope',
        'Set-CSSystemVMServiceOffering',
        'Set-CSSystemVMSize',
        'Set-CSTemplate',
        'Set-CSTemplatePermission',
        'Set-CSTrafficType',
        'Set-CSUser',
        'Set-CSUserDataTemplate',
        'Set-CSUserTwoFactorAuthentication',
        'Set-CSVirtualRouterElement',
        'Set-CSVlanIpRange',
        'Set-CSVMDefaultNic',
        'Set-CSVMGroup',
        'Set-CSVMOwner',
        'Set-CSVMProperty',
        'Set-CSVMSchedule',
        'Set-CSVMServiceOffering',
        'Set-CSVMSize',
        'Set-CSVmwareDatacenter',
        'Set-CSVolume',
        'Set-CSVolumeDiskOffering',
        'Set-CSVolumeOwner',
        'Set-CSZone',
        'Set-CSZoneDedicated',
        'Start-CSHostMaintenance',
        'Start-CSRollingMaintenance',
        'Start-CSRouter',
        'Start-CSSystemVM',
        'Start-CSVM',
        'Stop-CSHostMaintenance',
        'Stop-CSRouter',
        'Stop-CSSystemVM',
        'Stop-CSVM',
        'Sync-CSStorageCapability',
        'Sync-CSStoragePool',
        'Test-CSAccountOfferingTagPermission',
        'Test-CSConnection',
        'Test-CSQuotaEnabled',
        'Test-CSUserTwoFactorAuthenticationCode',
        'Test-CSVolume',
        'Unregister-CSVM',
        'Unregister-CSVMBackupOffering',
        'Unregister-CSVolume',
        'Update-CSQuota',
        'Update-CSResourceCount',
        'Update-CSRouterTemplate',
        'Update-CSSystemVMScripts',
        'Update-CSUsageRecord',
        'Update-CSVM'
    )
    
    CmdletsToExport = @()
    VariablesToExport = @()

    # Deprecated pre-1.1.0 names, kept so existing scripts keep working.
    AliasesToExport = @(
        'Add-NicToVirtualMachine',
        'Archive-CSEvent',
        'Assign-VirtualMachine',
        'Assign-VirtualMachineToBackupOffering',
        'Change-ServiceForVirtualMachine',
        'Clean-VMReservations',
        'Convert-ToBase64',
        'Create-VMSchedule',
        'Delete-VMSchedule',
        'Destroy-VirtualMachine',
        'Expunge-VirtualMachine',
        'Get-VirtualMachineUserData',
        'Get-VMPassword',
        'Import-VirtualMachine',
        'Import-VirtualMachineFromFile',
        'Import-VirtualMachineFromUrl',
        'Migrate-VirtualMachine',
        'Reboot-VirtualMachine',
        'Reinstall-VirtualMachine',
        'Remove-NicFromVirtualMachine',
        'Restore-VirtualMachine',
        'test-csconnection',
        'Unmanage-CSVM',
        'Update-VirtualMachine',
        'Upgrade-VirtualMachine'
    )

    PrivateData = @{
        PSData = @{
            Tags = @('CloudStack', 'API', 'Cloud')
            ReleaseNotes = 'Renamed functions that used unapproved PowerShell verbs. Old names remain available as aliases.'
        }
    }
}