Merge branch '22198-remove-href-field'
[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         TrashAt            *time.Time             `json:"trash_at"`
19         CreatedAt          time.Time              `json:"created_at"`
20         ModifiedAt         time.Time              `json:"modified_at"`
21         ModifiedByUserUUID string                 `json:"modified_by_user_uuid"`
22         DeleteAt           *time.Time             `json:"delete_at"`
23         IsTrashed          bool                   `json:"is_trashed"`
24         Properties         map[string]interface{} `json:"properties"`
25         WritableBy         []string               `json:"writable_by,omitempty"`
26         Description        string                 `json:"description"`
27         FrozenByUUID       string                 `json:"frozen_by_uuid"`
28         CanWrite           bool                   `json:"can_write"`
29         CanManage          bool                   `json:"can_manage"`
30 }
31
32 // GroupList is an arvados#groupList resource.
33 type GroupList struct {
34         Items          []Group       `json:"items"`
35         ItemsAvailable int           `json:"items_available"`
36         Offset         int           `json:"offset"`
37         Limit          int           `json:"limit"`
38         Included       []interface{} `json:"included"`
39 }
40
41 // ObjectList is an arvados#objectList resource.
42 type ObjectList struct {
43         Included       []interface{} `json:"included"`
44         Items          []interface{} `json:"items"`
45         ItemsAvailable int           `json:"items_available"`
46         Offset         int           `json:"offset"`
47         Limit          int           `json:"limit"`
48 }
49
50 func (g Group) resourceName() string {
51         return "group"
52 }