Merge branch '22162-arv-mount-mknod' refs #22162
[arvados.git] / sdk / go / arvados / link.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: Apache-2.0
4
5 package arvados
6
7 import "time"
8
9 // Link is an arvados#link record
10 type Link struct {
11         UUID               string                 `json:"uuid,omitempty"`
12         Etag               string                 `json:"etag"`
13         Href               string                 `json:"href"`
14         OwnerUUID          string                 `json:"owner_uuid"`
15         Name               string                 `json:"name"`
16         LinkClass          string                 `json:"link_class"`
17         CreatedAt          time.Time              `json:"created_at"`
18         ModifiedAt         time.Time              `json:"modified_at"`
19         ModifiedByUserUUID string                 `json:"modified_by_user_uuid"`
20         HeadUUID           string                 `json:"head_uuid"`
21         HeadKind           string                 `json:"head_kind"`
22         TailUUID           string                 `json:"tail_uuid"`
23         TailKind           string                 `json:"tail_kind"`
24         Properties         map[string]interface{} `json:"properties"`
25 }
26
27 // LinkList is an arvados#linkList resource.
28 type LinkList struct {
29         Items          []Link `json:"items"`
30         ItemsAvailable int    `json:"items_available"`
31         Offset         int    `json:"offset"`
32         Limit          int    `json:"limit"`
33 }
34
35 type ComputedPermission struct {
36         UserUUID   string `json:"user_uuid"`
37         TargetUUID string `json:"target_uuid"`
38         PermLevel  string `json:"perm_level"`
39 }
40
41 type ComputedPermissionList struct {
42         Items          []ComputedPermission `json:"items"`
43         ItemsAvailable int                  `json:"items_available"`
44         Limit          int                  `json:"limit"`
45 }