AGMPowerCLIImportFunctions.ps1
# Copyright 2022 Google Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. Function Import-AGMOnVault ([string]$diskpoolid,[string]$applianceid,[string]$appid,[switch][alias("f")]$forget,[switch][alias("o")]$ownershiptakeover,[string]$jsonbody,[string]$label) { <# .SYNOPSIS Imports or forgets OnVault images There is no Forget-AGMOnvault command. You perform both import and forget from this function. .EXAMPLE Import-AGMOnVault -diskpoolid 20060633 -applianceid 1415019931 Imports all OnVault images from disk pool ID 20060633 created by Appliance ID 1415019931 .EXAMPLE Import-AGMOnVault -diskpoolid 20060633 -applianceid 1415019931 -appid 4788 Imports all OnVault images from disk pool ID 20060633 and Source App ID 4788 created by Appliance ID 1415019931 .EXAMPLE Import-AGMOnVault -diskpoolid 20060633 -applianceid 1415019931 -appid 4788 -owner Imports all OnVault images from disk pool ID 20060633 and Source App ID 4788 created by Appliance ID 1415019931 and takes ownership .EXAMPLE Import-AGMOnVault -diskpoolid 20060633 -applianceid 1415019931 -appid 4788 -forget Forgets all OnVault images imported from disk pool ID 20060633 and Source App ID 4788 created by Appliance ID 1415019931 .DESCRIPTION A function to import OnVault images Learn Appliance ID with Get-AGMAppliance Learn Diskpool ID with Get-AGMDiskPool Learn Application ID with Get-AGMApplication and use sources.id #> if (!($diskpoolid)) { [string]$diskpoolid = Read-Host "Diskpool ID to import from" } if (!($applianceid)) { [string]$applianceid = Read-Host "Appliance ID to import from" } if ($ownershiptakeover) { $owner="true" } else { $owner="false" } if ($forget) { $action = "forget" } else { $action = "import" } if($appid) { $endpoint = "/diskpool/$diskpoolid/vaultclusters/$applianceid/$appid" + "?action=$action&owner=$owner&nowait=true" Post-AGMAPIData -endpoint $endpoint } else { $endpoint = "/diskpool/$diskpoolid/vaultclusters/$applianceid" + "?action=$action&owner=$owner&nowait=true" Post-AGMAPIData -endpoint $endpoint } } Function Import-AGMPDSnapshot ([string]$diskpoolid,[string]$applianceid,[string]$appid,[switch][alias("f")]$forget,[switch][alias("o")]$ownershiptakeover,[string]$jsonbody,[string]$label) { <# .SYNOPSIS Imports or forgets PD Snapshot images There is no Import-AGMPDSnapshot command. You can do import and forget from this function. .EXAMPLE Import-AGMPDSnapshot -diskpoolid 20060633 -applianceid 1415019931 Imports all PD Snapshot images from disk pool ID 20060633 onto Appliance ID 1415019931 .EXAMPLE Import-AGMPDSnapshot -diskpoolid 20060633 -applianceid 1415019931 -appid 4788 Imports all PD Snapshot images from disk pool ID 20060633 and App ID 4788 onto Appliance ID 1415019931 .EXAMPLE Import-AGMPDSnapshot -diskpoolid 20060633 -applianceid 1415019931 -appid 4788 -owner Imports all PD Snapshot images from disk pool ID 20060633 and App ID 4788 onto Appliance ID 1415019931 and takes ownership .EXAMPLE Import-AGMPDSnapshot -diskpoolid 20060633 -applianceid 1415019931 -appid 4788 -forget Forgets all PD Snapshot images imported from disk pool ID 20060633 and App ID 4788 onto Appliance ID 1415019931 .DESCRIPTION A function to import PD Snapshot images Learn Appliance ID with Get-AGMAppliance Learn Diskpool ID with Get-AGMDiskPool Learn Application ID with Get-AGMApplication #> if (!($diskpoolid)) { [string]$diskpoolid = Read-Host "Diskpool ID to import from" } if (!($applianceid)) { [string]$applianceid = Read-Host "Appliance ID to import into" } if ($ownershiptakeover) { $owner="true" } else { $owner="false" } if ($forget) { $action = "forget" } else { $action = "import" } if($appid) { $endpoint = "/diskpool/$diskpoolid/vaultclusters/$applianceid/$appid" + "?action=$action&owner=$owner&nowait=true&jobclass=1" Post-AGMAPIData -endpoint $endpoint } else { $endpoint = "/diskpool/$diskpoolid/vaultclusters/$applianceid" + "?action=$action&owner=$owner&nowait=true&jobclass=1" Post-AGMAPIData -endpoint $endpoint } } |