31 lines
495 B
CUE
31 lines
495 B
CUE
#path_string: string & =~ "^/"
|
|
#file_string: #path_string & =~ "[^/]$"
|
|
#octal_string: string & =~ "^[0-7]{3,4}$"
|
|
|
|
#ArbysFile: {
|
|
type!: string
|
|
source?: #path_string
|
|
target!: #path_string
|
|
clobber?: bool
|
|
permissions?: #octal_string
|
|
uid?: int & >=0
|
|
gid?: int & >=0
|
|
deactivate?: bool
|
|
} & ({
|
|
type: "copy"
|
|
target!: #file_string
|
|
source!: #file_string
|
|
...
|
|
} | {
|
|
type: "symlink"
|
|
source!: _
|
|
...
|
|
} | {
|
|
type: "delete" | "directory" | "modify"
|
|
...
|
|
})
|
|
|
|
{
|
|
version: 1
|
|
files: [...#ArbysFile]
|
|
}
|