Merge branch '17960-arv-copy-projects-doc' into main refs #17960
[arvados.git] / sdk / go / arvados / group.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 (
8         "time"
9 )
10
11 // Group is an arvados#group record
12 type Group struct {
13         UUID                 string                 `json:"uuid"`
14         Name                 string                 `json:"name"`
15         OwnerUUID            string                 `json:"owner_uuid"`
16         GroupClass           string                 `json:"group_class"`
17         Etag                 string                 `json:"etag"`
18         Href                 string                 `json:"href"`
19         TrashAt              *time.Time             `json:"trash_at"`
20         CreatedAt            time.Time              `json:"created_at"`
21         ModifiedAt           time.Time              `json:"modified_at"`
22         ModifiedByClientUUID string                 `json:"modified_by_client_uuid"`
23         ModifiedByUserUUID   string                 `json:"modified_by_user_uuid"`
24         DeleteAt             *time.Time             `json:"delete_at"`
25         IsTrashed            bool                   `json:"is_trashed"`
26         Properties           map[string]interface{} `json:"properties"`
27         WritableBy           []string               `json:"writable_by,omitempty"`
28         Description          string                 `json:"description"`
29 }
30
31 // GroupList is an arvados#groupList resource.
32 type GroupList struct {
33         Items          []Group       `json:"items"`
34         ItemsAvailable int           `json:"items_available"`
35         Offset         int           `json:"offset"`
36         Limit          int           `json:"limit"`
37         Included       []interface{} `json:"included"`
38 }
39
40 // ObjectList is an arvados#objectList resource.
41 type ObjectList struct {
42         Included       []interface{} `json:"included"`
43         Items          []interface{} `json:"items"`
44         ItemsAvailable int           `json:"items_available"`
45         Offset         int           `json:"offset"`
46         Limit          int           `json:"limit"`
47 }
48
49 func (g Group) resourceName() string {
50         return "group"
51 }