{
"name": "asr",
"description": "Asr efficiently copies disk images onto volumes, either directly or via a multicast network stream",
"subcommands": [
{
"name": "help",
"description": "Displays asr usage information"
},
{
"name": "version",
"description": "Displays asr version"
},
{
"name": "restore",
"description": "Restores a disk image or volume to another volume",
"options": [
{
"names": [
"--source"
],
"description": "Can be a disk image, /dev entry, or volume mountpoint",
"takes_arg": true,
"arg": {
"name": "source",
"description": "Disk image, /dev entry, or volume mountpoint",
"template": "filepaths"
}
},
{
"names": [
"--target"
],
"description": "Can be a /dev entry, or volume mountpoint",
"takes_arg": true,
"arg": {
"name": "target",
"description": "/dev entry, or volume mountpoint",
"template": "filepaths"
}
},
{
"names": [
"--file"
],
"description": "When performing a multicast restore, --file can be specified instead of --target",
"takes_arg": true,
"arg": {
"name": "source",
"description": "Disk image, /dev entry, or volume mountpoint",
"template": "filepaths"
}
},
{
"names": [
"--erase"
],
"description": "Erases target and is required. --erase must always be used, as file copies are no longer supported by asr"
},
{
"names": [
"--format"
],
"description": "Specifies the destination filesystem format",
"takes_arg": true,
"arg": {
"name": "HFS+ | HFSX",
"description": "Specify the destination filesystem format"
}
},
{
"names": [
"--noprompt"
],
"description": "Suppresses the prompt which usually occurs before target"
},
{
"names": [
"--timeout"
],
"description": "Specifies num seconds that a multicast client should wait when no payload data has been received over a multicast stream before exiting",
"takes_arg": true,
"arg": {
"name": "num",
"description": "Number of seconds that a multicast client should wait",
"suggestions": [
"0"
]
}
},
{
"names": [
"--puppetstrings"
],
"description": "Provide progress output that is easy for another program to parse"
},
{
"names": [
"--noverify"
],
"description": "Skips the verification steps normally taken to ensure that a volume has been properly restored"
},
{
"names": [
"--allowfragmentedcatalog"
],
"description": "Allows restores to proceed even if the source's catalog file is fragmented"
},
{
"names": [
"--SHA256"
],
"description": "Forces the restore to use the SHA-256 hash in the image during verification"
},
{
"names": [
"--sourcevolumename"
],
"description": "Tells asr which volume in the source container to invert when doing an APFS restore"
},
{
"names": [
"--sourcevolumeUUID"
],
"description": "Tells asr which volume in the source container to invert when doing an APFS restore"
},
{
"names": [
"--useReplication"
],
"description": "Forces asr to use replication for restoring APFS volumes"
},
{
"names": [
"--useInverter"
],
"description": "Forces asr to use the inverter for restoring APFS volumes"
},
{
"names": [
"--toSnapshot"
],
"description": "Specifies the snapshot on the source APFS volume to restore to the target APFS volume"
},
{
"names": [
"--fromSnapshot"
],
"description": "Names a snapshot on the source APFS volume to use in combination with --toSnapshot to specify a snapshot delta to restore to the target APFS volume"
}
]
},
{
"name": "restoreexact",
"description": "Same as restore verb, except that for an HFS Plus volume, the target partition is resized to match the size of the source partition/ volume",
"options": [
{
"names": [
"--source"
],
"description": "Can be a disk image, /dev entry, or volume mountpoint",
"takes_arg": true,
"arg": {
"name": "source",
"description": "Disk image, /dev entry, or volume mountpoint",
"template": "filepaths"
}
},
{
"names": [
"--target"
],
"description": "Can be a /dev entry, or volume mountpoint",
"takes_arg": true,
"arg": {
"name": "target",
"description": "/dev entry, or volume mountpoint",
"template": "filepaths"
}
},
{
"names": [
"--file"
],
"description": "When performing a multicast restore, --file can be specified instead of --target",
"takes_arg": true,
"arg": {
"name": "source",
"description": "Disk image, /dev entry, or volume mountpoint",
"template": "filepaths"
}
},
{
"names": [
"--erase"
],
"description": "Erases target and is required. --erase must always be used, as file copies are no longer supported by asr"
},
{
"names": [
"--format"
],
"description": "Specifies the destination filesystem format",
"takes_arg": true,
"arg": {
"name": "HFS+ | HFSX",
"description": "Specify the destination filesystem format"
}
},
{
"names": [
"--noprompt"
],
"description": "Suppresses the prompt which usually occurs before target"
},
{
"names": [
"--timeout"
],
"description": "Specifies num seconds that a multicast client should wait when no payload data has been received over a multicast stream before exiting",
"takes_arg": true,
"arg": {
"name": "num",
"description": "Number of seconds that a multicast client should wait",
"suggestions": [
"0"
]
}
},
{
"names": [
"--puppetstrings"
],
"description": "Provide progress output that is easy for another program to parse"
},
{
"names": [
"--noverify"
],
"description": "Skips the verification steps normally taken to ensure that a volume has been properly restored"
},
{
"names": [
"--allowfragmentedcatalog"
],
"description": "Allows restores to proceed even if the source's catalog file is fragmented"
},
{
"names": [
"--SHA256"
],
"description": "Forces the restore to use the SHA-256 hash in the image during verification"
},
{
"names": [
"--sourcevolumename"
],
"description": "Tells asr which volume in the source container to invert when doing an APFS restore"
},
{
"names": [
"--sourcevolumeUUID"
],
"description": "Tells asr which volume in the source container to invert when doing an APFS restore"
},
{
"names": [
"--useReplication"
],
"description": "Forces asr to use replication for restoring APFS volumes"
},
{
"names": [
"--useInverter"
],
"description": "Forces asr to use the inverter for restoring APFS volumes"
},
{
"names": [
"--toSnapshot"
],
"description": "Specifies the snapshot on the source APFS volume to restore to the target APFS volume"
},
{
"names": [
"--fromSnapshot"
],
"description": "Names a snapshot on the source APFS volume to use in combination with --toSnapshot to specify a snapshot delta to restore to the target APFS volume"
}
]
},
{
"name": "server",
"description": "Multicasts source over the network",
"options": [
{
"names": [
"--source"
],
"description": "Source has to be a UDIF disk image",
"takes_arg": true,
"arg": {
"name": "source",
"description": "UDIF disk image local/remote path",
"template": "filepaths"
}
},
{
"names": [
"--interface"
],
"description": "The network interface to be used for multicasting",
"takes_arg": true,
"arg": {
"name": "interface",
"description": "The network interface to be used for multicasting"
}
},
{
"names": [
"--config"
],
"description": "Server requires a configuration file to be passed",
"takes_arg": true,
"arg": {
"name": "configuration",
"description": "Configuration file in standard property list format"
}
}
]
},
{
"name": "imagescan",
"description": "Calculate checksums of the data in the provided image and store them in the image"
},
{
"name": "info",
"description": "Report the image metadata which was placed in the image by a previous use of the imagescan verb",
"options": [
{
"names": [
"--plist"
],
"description": "Writes its output as an XML-formatted plist"
}
]
}
],
"options": [
{
"names": [
"--buffers"
],
"description": "One of the options that control how asr uses memory",
"takes_arg": true,
"arg": {
"name": "num",
"description": "Specifies the num buffers should be used"
}
},
{
"names": [
"--buffersize"
],
"description": "One of the options that control how asr uses memory",
"takes_arg": true,
"arg": {
"name": "size",
"description": "Specifies the size of each buffer"
}
},
{
"names": [
"--csumbuffers"
],
"description": "One of the options that control how asr uses memory",
"takes_arg": true,
"arg": {
"name": "num",
"description": "Specifies that num buffers should be used for checksumming operations"
}
},
{
"names": [
"--csumbuffersize"
],
"description": "One of the options that control how asr uses memory",
"takes_arg": true,
"arg": {
"name": "size",
"description": "Specifies the size of each buffer used for checksumming"
}
},
{
"names": [
"--verbose"
],
"description": "Enables verbose progress and error messages"
},
{
"names": [
"--debug"
],
"description": "Enables other progress and error messages"
}
]
}