15370: Merge branch 'main' into 15370-loopback-dispatchcloud
[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         FrozenByUUID         string                 `json:"frozen_by_uuid"`
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 }