-
Notifications
You must be signed in to change notification settings - Fork 0
/
zz_generated_principal.go
123 lines (107 loc) · 4.67 KB
/
zz_generated_principal.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package client
import (
"github.com/rancher/norman/types"
)
const (
PrincipalType = "principal"
PrincipalFieldAnnotations = "annotations"
PrincipalFieldCreated = "created"
PrincipalFieldCreatorID = "creatorId"
PrincipalFieldExtraInfo = "extraInfo"
PrincipalFieldLabels = "labels"
PrincipalFieldLoginName = "loginName"
PrincipalFieldMe = "me"
PrincipalFieldMemberOf = "memberOf"
PrincipalFieldName = "name"
PrincipalFieldOwnerReferences = "ownerReferences"
PrincipalFieldPrincipalType = "principalType"
PrincipalFieldProfilePicture = "profilePicture"
PrincipalFieldProfileURL = "profileURL"
PrincipalFieldProvider = "provider"
PrincipalFieldRemoved = "removed"
PrincipalFieldUUID = "uuid"
)
type Principal struct {
types.Resource
Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"`
Created string `json:"created,omitempty" yaml:"created,omitempty"`
CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"`
ExtraInfo map[string]string `json:"extraInfo,omitempty" yaml:"extraInfo,omitempty"`
Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`
LoginName string `json:"loginName,omitempty" yaml:"loginName,omitempty"`
Me bool `json:"me,omitempty" yaml:"me,omitempty"`
MemberOf bool `json:"memberOf,omitempty" yaml:"memberOf,omitempty"`
Name string `json:"name,omitempty" yaml:"name,omitempty"`
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"`
PrincipalType string `json:"principalType,omitempty" yaml:"principalType,omitempty"`
ProfilePicture string `json:"profilePicture,omitempty" yaml:"profilePicture,omitempty"`
ProfileURL string `json:"profileURL,omitempty" yaml:"profileURL,omitempty"`
Provider string `json:"provider,omitempty" yaml:"provider,omitempty"`
Removed string `json:"removed,omitempty" yaml:"removed,omitempty"`
UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"`
}
type PrincipalCollection struct {
types.Collection
Data []Principal `json:"data,omitempty"`
client *PrincipalClient
}
type PrincipalClient struct {
apiClient *Client
}
type PrincipalOperations interface {
List(opts *types.ListOpts) (*PrincipalCollection, error)
Create(opts *Principal) (*Principal, error)
Update(existing *Principal, updates interface{}) (*Principal, error)
Replace(existing *Principal) (*Principal, error)
ByID(id string) (*Principal, error)
Delete(container *Principal) error
CollectionActionSearch(resource *PrincipalCollection, input *SearchPrincipalsInput) (*PrincipalCollection, error)
}
func newPrincipalClient(apiClient *Client) *PrincipalClient {
return &PrincipalClient{
apiClient: apiClient,
}
}
func (c *PrincipalClient) Create(container *Principal) (*Principal, error) {
resp := &Principal{}
err := c.apiClient.Ops.DoCreate(PrincipalType, container, resp)
return resp, err
}
func (c *PrincipalClient) Update(existing *Principal, updates interface{}) (*Principal, error) {
resp := &Principal{}
err := c.apiClient.Ops.DoUpdate(PrincipalType, &existing.Resource, updates, resp)
return resp, err
}
func (c *PrincipalClient) Replace(obj *Principal) (*Principal, error) {
resp := &Principal{}
err := c.apiClient.Ops.DoReplace(PrincipalType, &obj.Resource, obj, resp)
return resp, err
}
func (c *PrincipalClient) List(opts *types.ListOpts) (*PrincipalCollection, error) {
resp := &PrincipalCollection{}
err := c.apiClient.Ops.DoList(PrincipalType, opts, resp)
resp.client = c
return resp, err
}
func (cc *PrincipalCollection) Next() (*PrincipalCollection, error) {
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
resp := &PrincipalCollection{}
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
resp.client = cc.client
return resp, err
}
return nil, nil
}
func (c *PrincipalClient) ByID(id string) (*Principal, error) {
resp := &Principal{}
err := c.apiClient.Ops.DoByID(PrincipalType, id, resp)
return resp, err
}
func (c *PrincipalClient) Delete(container *Principal) error {
return c.apiClient.Ops.DoResourceDelete(PrincipalType, &container.Resource)
}
func (c *PrincipalClient) CollectionActionSearch(resource *PrincipalCollection, input *SearchPrincipalsInput) (*PrincipalCollection, error) {
resp := &PrincipalCollection{}
err := c.apiClient.Ops.DoCollectionAction(PrincipalType, "search", &resource.Collection, input, resp)
return resp, err
}