ONTAP Discussions
ONTAP Discussions
Does anyone know of a cmdlet or way that I can set the Snaplock type as compliance using Powershell? Can't seem to find a cmdlet that will let me do this.
Solved! See The Solution
Hi,
I checked a development release of the PSTK and SnapLock properties are being included in a future release within the New-NcVol CmdLet that leverages the REST API's. There is work being done to address the functionality gap but I'm not sure when it will be released
-Snaplock [<DataONTAP.C.Types.Volume.Snaplock>]
Specifies the snaplock attribute to use for this volume. To instantiate the please create object using New-Object DataONTAP.C.Types.Volume.Snaplock. This parameter is supported with Rest only.
Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false
/Matt
Hi,
You could use Invoke-NcSystemApi...something like this:
$command = @("snapshot", "modify-snaplock-expiry-time", "-vserver", $vserverName, "-volume", $VolumeName, "-snapshot", $snapshotName, "-expiry-time", """$expiryTime""")
$api = $("<system-cli><args><arg>" + ($command -join "</arg><arg>") + "</arg></args></system-cli>")
Invoke-NcSystemApi -Command $command -ErrorAction Stop
Hope that helps
/Matt
This is for when creating the volume. When creating a volume in the ontap CLI there is a -snaplock-type option when doing a volume create command that you can set as either non-snaplock, compliance, or enterprise. The New-NcVol cmdlet doesn't seem to have a parameter for that and can't find any other cmdlet that has that either.
Which version of ONTAP are you using? There is a snaplock type in the REST API (not certain which version it's introduced in but it's available in ONTAP 9.10). If your ONTAP version supports the snaplock feature when creating a volume you could use the REST API instead of a PSTK CmdLet. If that's not an option for you then in the interim you could use the CLI command to create a volume and pass the command via "Invoke-NcSystemApi" as per the example above (not ideal but it would work). Also there is work being done on a PSTK version that leverages the REST API's so i would imagine this will be available in a future release. I'll check.
Hope that helps
/Matt
Hi,
I checked a development release of the PSTK and SnapLock properties are being included in a future release within the New-NcVol CmdLet that leverages the REST API's. There is work being done to address the functionality gap but I'm not sure when it will be released
-Snaplock [<DataONTAP.C.Types.Volume.Snaplock>]
Specifies the snaplock attribute to use for this volume. To instantiate the please create object using New-Object DataONTAP.C.Types.Volume.Snaplock. This parameter is supported with Rest only.
Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false
/Matt
Thank you for looking into that, glad to see that it will be coming. Think for now I'll just look at trying a REST API call to do it.