mirror of
https://github.com/rancher/types.git
synced 2025-07-05 09:46:13 +00:00
Merge pull request #49 from prachidamle/authn_crd
Adding authn types, moved auth_types to authz_types
This commit is contained in:
commit
a33c987eac
63
apis/management.cattle.io/v3/authn_types.go
Normal file
63
apis/management.cattle.io/v3/authn_types.go
Normal file
@ -0,0 +1,63 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
type Token struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
TokenID string `json:"tokenID,omitempty"`
|
||||
TokenValue string `json:"tokenValue,omitempty"`
|
||||
User string `json:"user,omitempty"`
|
||||
ExternalID string `json:"externalID,omitempty"`
|
||||
AuthProvider string `json:"authProvider,omitempty"`
|
||||
TTLMillis string `json:"ttl,omitempty"`
|
||||
RefreshTTLMillis string `json:"refreshTTL,omitempty"`
|
||||
LastUpdateTime string `json:"lastUpdateTime,omitempty"`
|
||||
IsDerived bool `json:"isDerived,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
}
|
||||
|
||||
type User struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
UserName string `json:"userName,omitempty"`
|
||||
Secret string `json:"secret,omitempty"`
|
||||
DisplayName string `json:"displayName,omitempty"`
|
||||
ExternalID string `json:"externalID,omitempty"`
|
||||
}
|
||||
|
||||
type Group struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
GroupName string `json:"groupName,omitempty"`
|
||||
DisplayName string `json:"displayName,omitempty"`
|
||||
ExternalID string `json:"externalID,omitempty"`
|
||||
}
|
||||
|
||||
type GroupMember struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
GroupExternalID string `json:"groupExternalID,omitempty"`
|
||||
MemberExternalID string `json:"memberExternalID,omitempty"`
|
||||
}
|
||||
|
||||
type Identity struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||
|
||||
ExternalID string `json:"externalID,omitempty"`
|
||||
DisplayName string `json:"displayName,omitempty"`
|
||||
IdentityName string `json:"identityName,omitempty"`
|
||||
ProfilePicture string `json:"profilePicture,omitempty"`
|
||||
ProfileURL string `json:"profileURL,omitempty"`
|
||||
Kind string `json:"kind,omitempty"`
|
||||
Me bool `json:"me,omitempty"`
|
||||
MemberOf bool `json:"memberOf,omitempty"`
|
||||
ExtraInfo map[string]string `json:"extraInfo,omitempty"`
|
||||
}
|
@ -19,9 +19,10 @@ var (
|
||||
Schemas = factory.Schemas(&Version).
|
||||
Init(nodeTypes).
|
||||
Init(machineTypes).
|
||||
Init(authTypes).
|
||||
Init(authzTypes).
|
||||
Init(clusterTypes).
|
||||
Init(catalogTypes)
|
||||
Init(catalogTypes).
|
||||
Init(authnTypes)
|
||||
)
|
||||
|
||||
func catalogTypes(schemas *types.Schemas) *types.Schemas {
|
||||
@ -68,7 +69,7 @@ func clusterTypes(schemas *types.Schemas) *types.Schemas {
|
||||
MustImport(&Version, v3.Cluster{})
|
||||
}
|
||||
|
||||
func authTypes(schemas *types.Schemas) *types.Schemas {
|
||||
func authzTypes(schemas *types.Schemas) *types.Schemas {
|
||||
return schemas.
|
||||
AddMapperForType(&Version, v3.Project{},
|
||||
m.DisplayName{},
|
||||
@ -111,3 +112,12 @@ func machineTypes(schemas *types.Schemas) *types.Schemas {
|
||||
MustImport(&Version, v3.MachineDriver{}).
|
||||
MustImport(&Version, v3.MachineTemplate{})
|
||||
}
|
||||
|
||||
func authnTypes(schemas *types.Schemas) *types.Schemas {
|
||||
return schemas.
|
||||
MustImport(&Version, v3.Token{}).
|
||||
MustImport(&Version, v3.User{}).
|
||||
MustImport(&Version, v3.Group{}).
|
||||
MustImport(&Version, v3.GroupMember{}).
|
||||
MustImport(&Version, v3.Identity{})
|
||||
}
|
||||
|
@ -534,6 +534,196 @@ func (in *GoogleKubernetesEngineConfig) DeepCopy() *GoogleKubernetesEngineConfig
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Group) DeepCopyInto(out *Group) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Group.
|
||||
func (in *Group) DeepCopy() *Group {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(Group)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *Group) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *GroupList) DeepCopyInto(out *GroupList) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
out.ListMeta = in.ListMeta
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]Group, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupList.
|
||||
func (in *GroupList) DeepCopy() *GroupList {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(GroupList)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *GroupList) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *GroupMember) DeepCopyInto(out *GroupMember) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupMember.
|
||||
func (in *GroupMember) DeepCopy() *GroupMember {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(GroupMember)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *GroupMember) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *GroupMemberList) DeepCopyInto(out *GroupMemberList) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
out.ListMeta = in.ListMeta
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]GroupMember, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupMemberList.
|
||||
func (in *GroupMemberList) DeepCopy() *GroupMemberList {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(GroupMemberList)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *GroupMemberList) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Identity) DeepCopyInto(out *Identity) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
if in.ExtraInfo != nil {
|
||||
in, out := &in.ExtraInfo, &out.ExtraInfo
|
||||
*out = make(map[string]string, len(*in))
|
||||
for key, val := range *in {
|
||||
(*out)[key] = val
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Identity.
|
||||
func (in *Identity) DeepCopy() *Identity {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(Identity)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *Identity) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *IdentityList) DeepCopyInto(out *IdentityList) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
out.ListMeta = in.ListMeta
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]Identity, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityList.
|
||||
func (in *IdentityList) DeepCopy() *IdentityList {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(IdentityList)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *IdentityList) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *KubeAPIService) DeepCopyInto(out *KubeAPIService) {
|
||||
*out = *in
|
||||
@ -1670,3 +1860,125 @@ func (in *TemplateVersionStatus) DeepCopy() *TemplateVersionStatus {
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Token) DeepCopyInto(out *Token) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Token.
|
||||
func (in *Token) DeepCopy() *Token {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(Token)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *Token) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *TokenList) DeepCopyInto(out *TokenList) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
out.ListMeta = in.ListMeta
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]Token, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenList.
|
||||
func (in *TokenList) DeepCopy() *TokenList {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(TokenList)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *TokenList) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *User) DeepCopyInto(out *User) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
|
||||
func (in *User) DeepCopy() *User {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(User)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *User) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *UserList) DeepCopyInto(out *UserList) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
out.ListMeta = in.ListMeta
|
||||
if in.Items != nil {
|
||||
in, out := &in.Items, &out.Items
|
||||
*out = make([]User, len(*in))
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList.
|
||||
func (in *UserList) DeepCopy() *UserList {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(UserList)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
||||
func (in *UserList) DeepCopyObject() runtime.Object {
|
||||
if c := in.DeepCopy(); c != nil {
|
||||
return c
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
187
apis/management.cattle.io/v3/zz_generated_group_controller.go
Normal file
187
apis/management.cattle.io/v3/zz_generated_group_controller.go
Normal file
@ -0,0 +1,187 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/rancher/norman/clientbase"
|
||||
"github.com/rancher/norman/controller"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
var (
|
||||
GroupGroupVersionKind = schema.GroupVersionKind{
|
||||
Version: "v3",
|
||||
Group: "management.cattle.io",
|
||||
Kind: "Group",
|
||||
}
|
||||
GroupResource = metav1.APIResource{
|
||||
Name: "groups",
|
||||
SingularName: "group",
|
||||
Namespaced: false,
|
||||
Kind: GroupGroupVersionKind.Kind,
|
||||
}
|
||||
)
|
||||
|
||||
type GroupList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ListMeta `json:"metadata,omitempty"`
|
||||
Items []Group
|
||||
}
|
||||
|
||||
type GroupHandlerFunc func(key string, obj *Group) error
|
||||
|
||||
type GroupLister interface {
|
||||
List(namespace string, selector labels.Selector) (ret []*Group, err error)
|
||||
Get(namespace, name string) (*Group, error)
|
||||
}
|
||||
|
||||
type GroupController interface {
|
||||
Informer() cache.SharedIndexInformer
|
||||
Lister() GroupLister
|
||||
AddHandler(handler GroupHandlerFunc)
|
||||
Enqueue(namespace, name string)
|
||||
Sync(ctx context.Context) error
|
||||
Start(ctx context.Context, threadiness int) error
|
||||
}
|
||||
|
||||
type GroupInterface interface {
|
||||
ObjectClient() *clientbase.ObjectClient
|
||||
Create(*Group) (*Group, error)
|
||||
Get(name string, opts metav1.GetOptions) (*Group, error)
|
||||
Update(*Group) (*Group, error)
|
||||
Delete(name string, options *metav1.DeleteOptions) error
|
||||
List(opts metav1.ListOptions) (*GroupList, error)
|
||||
Watch(opts metav1.ListOptions) (watch.Interface, error)
|
||||
DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error
|
||||
Controller() GroupController
|
||||
}
|
||||
|
||||
type groupLister struct {
|
||||
controller *groupController
|
||||
}
|
||||
|
||||
func (l *groupLister) List(namespace string, selector labels.Selector) (ret []*Group, err error) {
|
||||
err = cache.ListAllByNamespace(l.controller.Informer().GetIndexer(), namespace, selector, func(obj interface{}) {
|
||||
ret = append(ret, obj.(*Group))
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (l *groupLister) Get(namespace, name string) (*Group, error) {
|
||||
obj, exists, err := l.controller.Informer().GetIndexer().GetByKey(namespace + "/" + name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if !exists {
|
||||
return nil, errors.NewNotFound(schema.GroupResource{
|
||||
Group: GroupGroupVersionKind.Group,
|
||||
Resource: "group",
|
||||
}, name)
|
||||
}
|
||||
return obj.(*Group), nil
|
||||
}
|
||||
|
||||
type groupController struct {
|
||||
controller.GenericController
|
||||
}
|
||||
|
||||
func (c *groupController) Lister() GroupLister {
|
||||
return &groupLister{
|
||||
controller: c,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *groupController) AddHandler(handler GroupHandlerFunc) {
|
||||
c.GenericController.AddHandler(func(key string) error {
|
||||
obj, exists, err := c.Informer().GetStore().GetByKey(key)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !exists {
|
||||
return handler(key, nil)
|
||||
}
|
||||
return handler(key, obj.(*Group))
|
||||
})
|
||||
}
|
||||
|
||||
type groupFactory struct {
|
||||
}
|
||||
|
||||
func (c groupFactory) Object() runtime.Object {
|
||||
return &Group{}
|
||||
}
|
||||
|
||||
func (c groupFactory) List() runtime.Object {
|
||||
return &GroupList{}
|
||||
}
|
||||
|
||||
func (s *groupClient) Controller() GroupController {
|
||||
s.client.Lock()
|
||||
defer s.client.Unlock()
|
||||
|
||||
c, ok := s.client.groupControllers[s.ns]
|
||||
if ok {
|
||||
return c
|
||||
}
|
||||
|
||||
genericController := controller.NewGenericController(GroupGroupVersionKind.Kind+"Controller",
|
||||
s.objectClient)
|
||||
|
||||
c = &groupController{
|
||||
GenericController: genericController,
|
||||
}
|
||||
|
||||
s.client.groupControllers[s.ns] = c
|
||||
s.client.starters = append(s.client.starters, c)
|
||||
|
||||
return c
|
||||
}
|
||||
|
||||
type groupClient struct {
|
||||
client *Client
|
||||
ns string
|
||||
objectClient *clientbase.ObjectClient
|
||||
controller GroupController
|
||||
}
|
||||
|
||||
func (s *groupClient) ObjectClient() *clientbase.ObjectClient {
|
||||
return s.objectClient
|
||||
}
|
||||
|
||||
func (s *groupClient) Create(o *Group) (*Group, error) {
|
||||
obj, err := s.objectClient.Create(o)
|
||||
return obj.(*Group), err
|
||||
}
|
||||
|
||||
func (s *groupClient) Get(name string, opts metav1.GetOptions) (*Group, error) {
|
||||
obj, err := s.objectClient.Get(name, opts)
|
||||
return obj.(*Group), err
|
||||
}
|
||||
|
||||
func (s *groupClient) Update(o *Group) (*Group, error) {
|
||||
obj, err := s.objectClient.Update(o.Name, o)
|
||||
return obj.(*Group), err
|
||||
}
|
||||
|
||||
func (s *groupClient) Delete(name string, options *metav1.DeleteOptions) error {
|
||||
return s.objectClient.Delete(name, options)
|
||||
}
|
||||
|
||||
func (s *groupClient) List(opts metav1.ListOptions) (*GroupList, error) {
|
||||
obj, err := s.objectClient.List(opts)
|
||||
return obj.(*GroupList), err
|
||||
}
|
||||
|
||||
func (s *groupClient) Watch(opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return s.objectClient.Watch(opts)
|
||||
}
|
||||
|
||||
func (s *groupClient) DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error {
|
||||
return s.objectClient.DeleteCollection(deleteOpts, listOpts)
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/lifecycle"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
type GroupLifecycle interface {
|
||||
Create(obj *Group) error
|
||||
Remove(obj *Group) error
|
||||
Updated(obj *Group) error
|
||||
}
|
||||
|
||||
type groupLifecycleAdapter struct {
|
||||
lifecycle GroupLifecycle
|
||||
}
|
||||
|
||||
func (w *groupLifecycleAdapter) Create(obj runtime.Object) error {
|
||||
return w.lifecycle.Create(obj.(*Group))
|
||||
}
|
||||
|
||||
func (w *groupLifecycleAdapter) Finalize(obj runtime.Object) error {
|
||||
return w.lifecycle.Remove(obj.(*Group))
|
||||
}
|
||||
|
||||
func (w *groupLifecycleAdapter) Updated(obj runtime.Object) error {
|
||||
return w.lifecycle.Updated(obj.(*Group))
|
||||
}
|
||||
|
||||
func NewGroupLifecycleAdapter(name string, client GroupInterface, l GroupLifecycle) GroupHandlerFunc {
|
||||
adapter := &groupLifecycleAdapter{lifecycle: l}
|
||||
syncFn := lifecycle.NewObjectLifecycleAdapter(name, adapter, client.ObjectClient())
|
||||
return func(key string, obj *Group) error {
|
||||
if obj == nil {
|
||||
return syncFn(key, nil)
|
||||
}
|
||||
return syncFn(key, obj)
|
||||
}
|
||||
}
|
@ -0,0 +1,187 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/rancher/norman/clientbase"
|
||||
"github.com/rancher/norman/controller"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
var (
|
||||
GroupMemberGroupVersionKind = schema.GroupVersionKind{
|
||||
Version: "v3",
|
||||
Group: "management.cattle.io",
|
||||
Kind: "GroupMember",
|
||||
}
|
||||
GroupMemberResource = metav1.APIResource{
|
||||
Name: "groupmembers",
|
||||
SingularName: "groupmember",
|
||||
Namespaced: false,
|
||||
Kind: GroupMemberGroupVersionKind.Kind,
|
||||
}
|
||||
)
|
||||
|
||||
type GroupMemberList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ListMeta `json:"metadata,omitempty"`
|
||||
Items []GroupMember
|
||||
}
|
||||
|
||||
type GroupMemberHandlerFunc func(key string, obj *GroupMember) error
|
||||
|
||||
type GroupMemberLister interface {
|
||||
List(namespace string, selector labels.Selector) (ret []*GroupMember, err error)
|
||||
Get(namespace, name string) (*GroupMember, error)
|
||||
}
|
||||
|
||||
type GroupMemberController interface {
|
||||
Informer() cache.SharedIndexInformer
|
||||
Lister() GroupMemberLister
|
||||
AddHandler(handler GroupMemberHandlerFunc)
|
||||
Enqueue(namespace, name string)
|
||||
Sync(ctx context.Context) error
|
||||
Start(ctx context.Context, threadiness int) error
|
||||
}
|
||||
|
||||
type GroupMemberInterface interface {
|
||||
ObjectClient() *clientbase.ObjectClient
|
||||
Create(*GroupMember) (*GroupMember, error)
|
||||
Get(name string, opts metav1.GetOptions) (*GroupMember, error)
|
||||
Update(*GroupMember) (*GroupMember, error)
|
||||
Delete(name string, options *metav1.DeleteOptions) error
|
||||
List(opts metav1.ListOptions) (*GroupMemberList, error)
|
||||
Watch(opts metav1.ListOptions) (watch.Interface, error)
|
||||
DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error
|
||||
Controller() GroupMemberController
|
||||
}
|
||||
|
||||
type groupMemberLister struct {
|
||||
controller *groupMemberController
|
||||
}
|
||||
|
||||
func (l *groupMemberLister) List(namespace string, selector labels.Selector) (ret []*GroupMember, err error) {
|
||||
err = cache.ListAllByNamespace(l.controller.Informer().GetIndexer(), namespace, selector, func(obj interface{}) {
|
||||
ret = append(ret, obj.(*GroupMember))
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (l *groupMemberLister) Get(namespace, name string) (*GroupMember, error) {
|
||||
obj, exists, err := l.controller.Informer().GetIndexer().GetByKey(namespace + "/" + name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if !exists {
|
||||
return nil, errors.NewNotFound(schema.GroupResource{
|
||||
Group: GroupMemberGroupVersionKind.Group,
|
||||
Resource: "groupMember",
|
||||
}, name)
|
||||
}
|
||||
return obj.(*GroupMember), nil
|
||||
}
|
||||
|
||||
type groupMemberController struct {
|
||||
controller.GenericController
|
||||
}
|
||||
|
||||
func (c *groupMemberController) Lister() GroupMemberLister {
|
||||
return &groupMemberLister{
|
||||
controller: c,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *groupMemberController) AddHandler(handler GroupMemberHandlerFunc) {
|
||||
c.GenericController.AddHandler(func(key string) error {
|
||||
obj, exists, err := c.Informer().GetStore().GetByKey(key)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !exists {
|
||||
return handler(key, nil)
|
||||
}
|
||||
return handler(key, obj.(*GroupMember))
|
||||
})
|
||||
}
|
||||
|
||||
type groupMemberFactory struct {
|
||||
}
|
||||
|
||||
func (c groupMemberFactory) Object() runtime.Object {
|
||||
return &GroupMember{}
|
||||
}
|
||||
|
||||
func (c groupMemberFactory) List() runtime.Object {
|
||||
return &GroupMemberList{}
|
||||
}
|
||||
|
||||
func (s *groupMemberClient) Controller() GroupMemberController {
|
||||
s.client.Lock()
|
||||
defer s.client.Unlock()
|
||||
|
||||
c, ok := s.client.groupMemberControllers[s.ns]
|
||||
if ok {
|
||||
return c
|
||||
}
|
||||
|
||||
genericController := controller.NewGenericController(GroupMemberGroupVersionKind.Kind+"Controller",
|
||||
s.objectClient)
|
||||
|
||||
c = &groupMemberController{
|
||||
GenericController: genericController,
|
||||
}
|
||||
|
||||
s.client.groupMemberControllers[s.ns] = c
|
||||
s.client.starters = append(s.client.starters, c)
|
||||
|
||||
return c
|
||||
}
|
||||
|
||||
type groupMemberClient struct {
|
||||
client *Client
|
||||
ns string
|
||||
objectClient *clientbase.ObjectClient
|
||||
controller GroupMemberController
|
||||
}
|
||||
|
||||
func (s *groupMemberClient) ObjectClient() *clientbase.ObjectClient {
|
||||
return s.objectClient
|
||||
}
|
||||
|
||||
func (s *groupMemberClient) Create(o *GroupMember) (*GroupMember, error) {
|
||||
obj, err := s.objectClient.Create(o)
|
||||
return obj.(*GroupMember), err
|
||||
}
|
||||
|
||||
func (s *groupMemberClient) Get(name string, opts metav1.GetOptions) (*GroupMember, error) {
|
||||
obj, err := s.objectClient.Get(name, opts)
|
||||
return obj.(*GroupMember), err
|
||||
}
|
||||
|
||||
func (s *groupMemberClient) Update(o *GroupMember) (*GroupMember, error) {
|
||||
obj, err := s.objectClient.Update(o.Name, o)
|
||||
return obj.(*GroupMember), err
|
||||
}
|
||||
|
||||
func (s *groupMemberClient) Delete(name string, options *metav1.DeleteOptions) error {
|
||||
return s.objectClient.Delete(name, options)
|
||||
}
|
||||
|
||||
func (s *groupMemberClient) List(opts metav1.ListOptions) (*GroupMemberList, error) {
|
||||
obj, err := s.objectClient.List(opts)
|
||||
return obj.(*GroupMemberList), err
|
||||
}
|
||||
|
||||
func (s *groupMemberClient) Watch(opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return s.objectClient.Watch(opts)
|
||||
}
|
||||
|
||||
func (s *groupMemberClient) DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error {
|
||||
return s.objectClient.DeleteCollection(deleteOpts, listOpts)
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/lifecycle"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
type GroupMemberLifecycle interface {
|
||||
Create(obj *GroupMember) error
|
||||
Remove(obj *GroupMember) error
|
||||
Updated(obj *GroupMember) error
|
||||
}
|
||||
|
||||
type groupMemberLifecycleAdapter struct {
|
||||
lifecycle GroupMemberLifecycle
|
||||
}
|
||||
|
||||
func (w *groupMemberLifecycleAdapter) Create(obj runtime.Object) error {
|
||||
return w.lifecycle.Create(obj.(*GroupMember))
|
||||
}
|
||||
|
||||
func (w *groupMemberLifecycleAdapter) Finalize(obj runtime.Object) error {
|
||||
return w.lifecycle.Remove(obj.(*GroupMember))
|
||||
}
|
||||
|
||||
func (w *groupMemberLifecycleAdapter) Updated(obj runtime.Object) error {
|
||||
return w.lifecycle.Updated(obj.(*GroupMember))
|
||||
}
|
||||
|
||||
func NewGroupMemberLifecycleAdapter(name string, client GroupMemberInterface, l GroupMemberLifecycle) GroupMemberHandlerFunc {
|
||||
adapter := &groupMemberLifecycleAdapter{lifecycle: l}
|
||||
syncFn := lifecycle.NewObjectLifecycleAdapter(name, adapter, client.ObjectClient())
|
||||
return func(key string, obj *GroupMember) error {
|
||||
if obj == nil {
|
||||
return syncFn(key, nil)
|
||||
}
|
||||
return syncFn(key, obj)
|
||||
}
|
||||
}
|
187
apis/management.cattle.io/v3/zz_generated_identity_controller.go
Normal file
187
apis/management.cattle.io/v3/zz_generated_identity_controller.go
Normal file
@ -0,0 +1,187 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/rancher/norman/clientbase"
|
||||
"github.com/rancher/norman/controller"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
var (
|
||||
IdentityGroupVersionKind = schema.GroupVersionKind{
|
||||
Version: "v3",
|
||||
Group: "management.cattle.io",
|
||||
Kind: "Identity",
|
||||
}
|
||||
IdentityResource = metav1.APIResource{
|
||||
Name: "identities",
|
||||
SingularName: "identity",
|
||||
Namespaced: false,
|
||||
Kind: IdentityGroupVersionKind.Kind,
|
||||
}
|
||||
)
|
||||
|
||||
type IdentityList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ListMeta `json:"metadata,omitempty"`
|
||||
Items []Identity
|
||||
}
|
||||
|
||||
type IdentityHandlerFunc func(key string, obj *Identity) error
|
||||
|
||||
type IdentityLister interface {
|
||||
List(namespace string, selector labels.Selector) (ret []*Identity, err error)
|
||||
Get(namespace, name string) (*Identity, error)
|
||||
}
|
||||
|
||||
type IdentityController interface {
|
||||
Informer() cache.SharedIndexInformer
|
||||
Lister() IdentityLister
|
||||
AddHandler(handler IdentityHandlerFunc)
|
||||
Enqueue(namespace, name string)
|
||||
Sync(ctx context.Context) error
|
||||
Start(ctx context.Context, threadiness int) error
|
||||
}
|
||||
|
||||
type IdentityInterface interface {
|
||||
ObjectClient() *clientbase.ObjectClient
|
||||
Create(*Identity) (*Identity, error)
|
||||
Get(name string, opts metav1.GetOptions) (*Identity, error)
|
||||
Update(*Identity) (*Identity, error)
|
||||
Delete(name string, options *metav1.DeleteOptions) error
|
||||
List(opts metav1.ListOptions) (*IdentityList, error)
|
||||
Watch(opts metav1.ListOptions) (watch.Interface, error)
|
||||
DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error
|
||||
Controller() IdentityController
|
||||
}
|
||||
|
||||
type identityLister struct {
|
||||
controller *identityController
|
||||
}
|
||||
|
||||
func (l *identityLister) List(namespace string, selector labels.Selector) (ret []*Identity, err error) {
|
||||
err = cache.ListAllByNamespace(l.controller.Informer().GetIndexer(), namespace, selector, func(obj interface{}) {
|
||||
ret = append(ret, obj.(*Identity))
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (l *identityLister) Get(namespace, name string) (*Identity, error) {
|
||||
obj, exists, err := l.controller.Informer().GetIndexer().GetByKey(namespace + "/" + name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if !exists {
|
||||
return nil, errors.NewNotFound(schema.GroupResource{
|
||||
Group: IdentityGroupVersionKind.Group,
|
||||
Resource: "identity",
|
||||
}, name)
|
||||
}
|
||||
return obj.(*Identity), nil
|
||||
}
|
||||
|
||||
type identityController struct {
|
||||
controller.GenericController
|
||||
}
|
||||
|
||||
func (c *identityController) Lister() IdentityLister {
|
||||
return &identityLister{
|
||||
controller: c,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *identityController) AddHandler(handler IdentityHandlerFunc) {
|
||||
c.GenericController.AddHandler(func(key string) error {
|
||||
obj, exists, err := c.Informer().GetStore().GetByKey(key)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !exists {
|
||||
return handler(key, nil)
|
||||
}
|
||||
return handler(key, obj.(*Identity))
|
||||
})
|
||||
}
|
||||
|
||||
type identityFactory struct {
|
||||
}
|
||||
|
||||
func (c identityFactory) Object() runtime.Object {
|
||||
return &Identity{}
|
||||
}
|
||||
|
||||
func (c identityFactory) List() runtime.Object {
|
||||
return &IdentityList{}
|
||||
}
|
||||
|
||||
func (s *identityClient) Controller() IdentityController {
|
||||
s.client.Lock()
|
||||
defer s.client.Unlock()
|
||||
|
||||
c, ok := s.client.identityControllers[s.ns]
|
||||
if ok {
|
||||
return c
|
||||
}
|
||||
|
||||
genericController := controller.NewGenericController(IdentityGroupVersionKind.Kind+"Controller",
|
||||
s.objectClient)
|
||||
|
||||
c = &identityController{
|
||||
GenericController: genericController,
|
||||
}
|
||||
|
||||
s.client.identityControllers[s.ns] = c
|
||||
s.client.starters = append(s.client.starters, c)
|
||||
|
||||
return c
|
||||
}
|
||||
|
||||
type identityClient struct {
|
||||
client *Client
|
||||
ns string
|
||||
objectClient *clientbase.ObjectClient
|
||||
controller IdentityController
|
||||
}
|
||||
|
||||
func (s *identityClient) ObjectClient() *clientbase.ObjectClient {
|
||||
return s.objectClient
|
||||
}
|
||||
|
||||
func (s *identityClient) Create(o *Identity) (*Identity, error) {
|
||||
obj, err := s.objectClient.Create(o)
|
||||
return obj.(*Identity), err
|
||||
}
|
||||
|
||||
func (s *identityClient) Get(name string, opts metav1.GetOptions) (*Identity, error) {
|
||||
obj, err := s.objectClient.Get(name, opts)
|
||||
return obj.(*Identity), err
|
||||
}
|
||||
|
||||
func (s *identityClient) Update(o *Identity) (*Identity, error) {
|
||||
obj, err := s.objectClient.Update(o.Name, o)
|
||||
return obj.(*Identity), err
|
||||
}
|
||||
|
||||
func (s *identityClient) Delete(name string, options *metav1.DeleteOptions) error {
|
||||
return s.objectClient.Delete(name, options)
|
||||
}
|
||||
|
||||
func (s *identityClient) List(opts metav1.ListOptions) (*IdentityList, error) {
|
||||
obj, err := s.objectClient.List(opts)
|
||||
return obj.(*IdentityList), err
|
||||
}
|
||||
|
||||
func (s *identityClient) Watch(opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return s.objectClient.Watch(opts)
|
||||
}
|
||||
|
||||
func (s *identityClient) DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error {
|
||||
return s.objectClient.DeleteCollection(deleteOpts, listOpts)
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/lifecycle"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
type IdentityLifecycle interface {
|
||||
Create(obj *Identity) error
|
||||
Remove(obj *Identity) error
|
||||
Updated(obj *Identity) error
|
||||
}
|
||||
|
||||
type identityLifecycleAdapter struct {
|
||||
lifecycle IdentityLifecycle
|
||||
}
|
||||
|
||||
func (w *identityLifecycleAdapter) Create(obj runtime.Object) error {
|
||||
return w.lifecycle.Create(obj.(*Identity))
|
||||
}
|
||||
|
||||
func (w *identityLifecycleAdapter) Finalize(obj runtime.Object) error {
|
||||
return w.lifecycle.Remove(obj.(*Identity))
|
||||
}
|
||||
|
||||
func (w *identityLifecycleAdapter) Updated(obj runtime.Object) error {
|
||||
return w.lifecycle.Updated(obj.(*Identity))
|
||||
}
|
||||
|
||||
func NewIdentityLifecycleAdapter(name string, client IdentityInterface, l IdentityLifecycle) IdentityHandlerFunc {
|
||||
adapter := &identityLifecycleAdapter{lifecycle: l}
|
||||
syncFn := lifecycle.NewObjectLifecycleAdapter(name, adapter, client.ObjectClient())
|
||||
return func(key string, obj *Identity) error {
|
||||
if obj == nil {
|
||||
return syncFn(key, nil)
|
||||
}
|
||||
return syncFn(key, obj)
|
||||
}
|
||||
}
|
@ -26,6 +26,11 @@ type Interface interface {
|
||||
CatalogsGetter
|
||||
TemplatesGetter
|
||||
TemplateVersionsGetter
|
||||
TokensGetter
|
||||
UsersGetter
|
||||
GroupsGetter
|
||||
GroupMembersGetter
|
||||
IdentitiesGetter
|
||||
}
|
||||
|
||||
type Client struct {
|
||||
@ -45,6 +50,11 @@ type Client struct {
|
||||
catalogControllers map[string]CatalogController
|
||||
templateControllers map[string]TemplateController
|
||||
templateVersionControllers map[string]TemplateVersionController
|
||||
tokenControllers map[string]TokenController
|
||||
userControllers map[string]UserController
|
||||
groupControllers map[string]GroupController
|
||||
groupMemberControllers map[string]GroupMemberController
|
||||
identityControllers map[string]IdentityController
|
||||
}
|
||||
|
||||
func NewForConfig(config rest.Config) (Interface, error) {
|
||||
@ -73,6 +83,11 @@ func NewForConfig(config rest.Config) (Interface, error) {
|
||||
catalogControllers: map[string]CatalogController{},
|
||||
templateControllers: map[string]TemplateController{},
|
||||
templateVersionControllers: map[string]TemplateVersionController{},
|
||||
tokenControllers: map[string]TokenController{},
|
||||
userControllers: map[string]UserController{},
|
||||
groupControllers: map[string]GroupController{},
|
||||
groupMemberControllers: map[string]GroupMemberController{},
|
||||
identityControllers: map[string]IdentityController{},
|
||||
}, nil
|
||||
}
|
||||
|
||||
@ -243,3 +258,68 @@ func (c *Client) TemplateVersions(namespace string) TemplateVersionInterface {
|
||||
objectClient: objectClient,
|
||||
}
|
||||
}
|
||||
|
||||
type TokensGetter interface {
|
||||
Tokens(namespace string) TokenInterface
|
||||
}
|
||||
|
||||
func (c *Client) Tokens(namespace string) TokenInterface {
|
||||
objectClient := clientbase.NewObjectClient(namespace, c.restClient, &TokenResource, TokenGroupVersionKind, tokenFactory{})
|
||||
return &tokenClient{
|
||||
ns: namespace,
|
||||
client: c,
|
||||
objectClient: objectClient,
|
||||
}
|
||||
}
|
||||
|
||||
type UsersGetter interface {
|
||||
Users(namespace string) UserInterface
|
||||
}
|
||||
|
||||
func (c *Client) Users(namespace string) UserInterface {
|
||||
objectClient := clientbase.NewObjectClient(namespace, c.restClient, &UserResource, UserGroupVersionKind, userFactory{})
|
||||
return &userClient{
|
||||
ns: namespace,
|
||||
client: c,
|
||||
objectClient: objectClient,
|
||||
}
|
||||
}
|
||||
|
||||
type GroupsGetter interface {
|
||||
Groups(namespace string) GroupInterface
|
||||
}
|
||||
|
||||
func (c *Client) Groups(namespace string) GroupInterface {
|
||||
objectClient := clientbase.NewObjectClient(namespace, c.restClient, &GroupResource, GroupGroupVersionKind, groupFactory{})
|
||||
return &groupClient{
|
||||
ns: namespace,
|
||||
client: c,
|
||||
objectClient: objectClient,
|
||||
}
|
||||
}
|
||||
|
||||
type GroupMembersGetter interface {
|
||||
GroupMembers(namespace string) GroupMemberInterface
|
||||
}
|
||||
|
||||
func (c *Client) GroupMembers(namespace string) GroupMemberInterface {
|
||||
objectClient := clientbase.NewObjectClient(namespace, c.restClient, &GroupMemberResource, GroupMemberGroupVersionKind, groupMemberFactory{})
|
||||
return &groupMemberClient{
|
||||
ns: namespace,
|
||||
client: c,
|
||||
objectClient: objectClient,
|
||||
}
|
||||
}
|
||||
|
||||
type IdentitiesGetter interface {
|
||||
Identities(namespace string) IdentityInterface
|
||||
}
|
||||
|
||||
func (c *Client) Identities(namespace string) IdentityInterface {
|
||||
objectClient := clientbase.NewObjectClient(namespace, c.restClient, &IdentityResource, IdentityGroupVersionKind, identityFactory{})
|
||||
return &identityClient{
|
||||
ns: namespace,
|
||||
client: c,
|
||||
objectClient: objectClient,
|
||||
}
|
||||
}
|
||||
|
187
apis/management.cattle.io/v3/zz_generated_token_controller.go
Normal file
187
apis/management.cattle.io/v3/zz_generated_token_controller.go
Normal file
@ -0,0 +1,187 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/rancher/norman/clientbase"
|
||||
"github.com/rancher/norman/controller"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
var (
|
||||
TokenGroupVersionKind = schema.GroupVersionKind{
|
||||
Version: "v3",
|
||||
Group: "management.cattle.io",
|
||||
Kind: "Token",
|
||||
}
|
||||
TokenResource = metav1.APIResource{
|
||||
Name: "tokens",
|
||||
SingularName: "token",
|
||||
Namespaced: false,
|
||||
Kind: TokenGroupVersionKind.Kind,
|
||||
}
|
||||
)
|
||||
|
||||
type TokenList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ListMeta `json:"metadata,omitempty"`
|
||||
Items []Token
|
||||
}
|
||||
|
||||
type TokenHandlerFunc func(key string, obj *Token) error
|
||||
|
||||
type TokenLister interface {
|
||||
List(namespace string, selector labels.Selector) (ret []*Token, err error)
|
||||
Get(namespace, name string) (*Token, error)
|
||||
}
|
||||
|
||||
type TokenController interface {
|
||||
Informer() cache.SharedIndexInformer
|
||||
Lister() TokenLister
|
||||
AddHandler(handler TokenHandlerFunc)
|
||||
Enqueue(namespace, name string)
|
||||
Sync(ctx context.Context) error
|
||||
Start(ctx context.Context, threadiness int) error
|
||||
}
|
||||
|
||||
type TokenInterface interface {
|
||||
ObjectClient() *clientbase.ObjectClient
|
||||
Create(*Token) (*Token, error)
|
||||
Get(name string, opts metav1.GetOptions) (*Token, error)
|
||||
Update(*Token) (*Token, error)
|
||||
Delete(name string, options *metav1.DeleteOptions) error
|
||||
List(opts metav1.ListOptions) (*TokenList, error)
|
||||
Watch(opts metav1.ListOptions) (watch.Interface, error)
|
||||
DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error
|
||||
Controller() TokenController
|
||||
}
|
||||
|
||||
type tokenLister struct {
|
||||
controller *tokenController
|
||||
}
|
||||
|
||||
func (l *tokenLister) List(namespace string, selector labels.Selector) (ret []*Token, err error) {
|
||||
err = cache.ListAllByNamespace(l.controller.Informer().GetIndexer(), namespace, selector, func(obj interface{}) {
|
||||
ret = append(ret, obj.(*Token))
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (l *tokenLister) Get(namespace, name string) (*Token, error) {
|
||||
obj, exists, err := l.controller.Informer().GetIndexer().GetByKey(namespace + "/" + name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if !exists {
|
||||
return nil, errors.NewNotFound(schema.GroupResource{
|
||||
Group: TokenGroupVersionKind.Group,
|
||||
Resource: "token",
|
||||
}, name)
|
||||
}
|
||||
return obj.(*Token), nil
|
||||
}
|
||||
|
||||
type tokenController struct {
|
||||
controller.GenericController
|
||||
}
|
||||
|
||||
func (c *tokenController) Lister() TokenLister {
|
||||
return &tokenLister{
|
||||
controller: c,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *tokenController) AddHandler(handler TokenHandlerFunc) {
|
||||
c.GenericController.AddHandler(func(key string) error {
|
||||
obj, exists, err := c.Informer().GetStore().GetByKey(key)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !exists {
|
||||
return handler(key, nil)
|
||||
}
|
||||
return handler(key, obj.(*Token))
|
||||
})
|
||||
}
|
||||
|
||||
type tokenFactory struct {
|
||||
}
|
||||
|
||||
func (c tokenFactory) Object() runtime.Object {
|
||||
return &Token{}
|
||||
}
|
||||
|
||||
func (c tokenFactory) List() runtime.Object {
|
||||
return &TokenList{}
|
||||
}
|
||||
|
||||
func (s *tokenClient) Controller() TokenController {
|
||||
s.client.Lock()
|
||||
defer s.client.Unlock()
|
||||
|
||||
c, ok := s.client.tokenControllers[s.ns]
|
||||
if ok {
|
||||
return c
|
||||
}
|
||||
|
||||
genericController := controller.NewGenericController(TokenGroupVersionKind.Kind+"Controller",
|
||||
s.objectClient)
|
||||
|
||||
c = &tokenController{
|
||||
GenericController: genericController,
|
||||
}
|
||||
|
||||
s.client.tokenControllers[s.ns] = c
|
||||
s.client.starters = append(s.client.starters, c)
|
||||
|
||||
return c
|
||||
}
|
||||
|
||||
type tokenClient struct {
|
||||
client *Client
|
||||
ns string
|
||||
objectClient *clientbase.ObjectClient
|
||||
controller TokenController
|
||||
}
|
||||
|
||||
func (s *tokenClient) ObjectClient() *clientbase.ObjectClient {
|
||||
return s.objectClient
|
||||
}
|
||||
|
||||
func (s *tokenClient) Create(o *Token) (*Token, error) {
|
||||
obj, err := s.objectClient.Create(o)
|
||||
return obj.(*Token), err
|
||||
}
|
||||
|
||||
func (s *tokenClient) Get(name string, opts metav1.GetOptions) (*Token, error) {
|
||||
obj, err := s.objectClient.Get(name, opts)
|
||||
return obj.(*Token), err
|
||||
}
|
||||
|
||||
func (s *tokenClient) Update(o *Token) (*Token, error) {
|
||||
obj, err := s.objectClient.Update(o.Name, o)
|
||||
return obj.(*Token), err
|
||||
}
|
||||
|
||||
func (s *tokenClient) Delete(name string, options *metav1.DeleteOptions) error {
|
||||
return s.objectClient.Delete(name, options)
|
||||
}
|
||||
|
||||
func (s *tokenClient) List(opts metav1.ListOptions) (*TokenList, error) {
|
||||
obj, err := s.objectClient.List(opts)
|
||||
return obj.(*TokenList), err
|
||||
}
|
||||
|
||||
func (s *tokenClient) Watch(opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return s.objectClient.Watch(opts)
|
||||
}
|
||||
|
||||
func (s *tokenClient) DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error {
|
||||
return s.objectClient.DeleteCollection(deleteOpts, listOpts)
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/lifecycle"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
type TokenLifecycle interface {
|
||||
Create(obj *Token) error
|
||||
Remove(obj *Token) error
|
||||
Updated(obj *Token) error
|
||||
}
|
||||
|
||||
type tokenLifecycleAdapter struct {
|
||||
lifecycle TokenLifecycle
|
||||
}
|
||||
|
||||
func (w *tokenLifecycleAdapter) Create(obj runtime.Object) error {
|
||||
return w.lifecycle.Create(obj.(*Token))
|
||||
}
|
||||
|
||||
func (w *tokenLifecycleAdapter) Finalize(obj runtime.Object) error {
|
||||
return w.lifecycle.Remove(obj.(*Token))
|
||||
}
|
||||
|
||||
func (w *tokenLifecycleAdapter) Updated(obj runtime.Object) error {
|
||||
return w.lifecycle.Updated(obj.(*Token))
|
||||
}
|
||||
|
||||
func NewTokenLifecycleAdapter(name string, client TokenInterface, l TokenLifecycle) TokenHandlerFunc {
|
||||
adapter := &tokenLifecycleAdapter{lifecycle: l}
|
||||
syncFn := lifecycle.NewObjectLifecycleAdapter(name, adapter, client.ObjectClient())
|
||||
return func(key string, obj *Token) error {
|
||||
if obj == nil {
|
||||
return syncFn(key, nil)
|
||||
}
|
||||
return syncFn(key, obj)
|
||||
}
|
||||
}
|
187
apis/management.cattle.io/v3/zz_generated_user_controller.go
Normal file
187
apis/management.cattle.io/v3/zz_generated_user_controller.go
Normal file
@ -0,0 +1,187 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/rancher/norman/clientbase"
|
||||
"github.com/rancher/norman/controller"
|
||||
"k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/labels"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
var (
|
||||
UserGroupVersionKind = schema.GroupVersionKind{
|
||||
Version: "v3",
|
||||
Group: "management.cattle.io",
|
||||
Kind: "User",
|
||||
}
|
||||
UserResource = metav1.APIResource{
|
||||
Name: "users",
|
||||
SingularName: "user",
|
||||
Namespaced: false,
|
||||
Kind: UserGroupVersionKind.Kind,
|
||||
}
|
||||
)
|
||||
|
||||
type UserList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
metav1.ListMeta `json:"metadata,omitempty"`
|
||||
Items []User
|
||||
}
|
||||
|
||||
type UserHandlerFunc func(key string, obj *User) error
|
||||
|
||||
type UserLister interface {
|
||||
List(namespace string, selector labels.Selector) (ret []*User, err error)
|
||||
Get(namespace, name string) (*User, error)
|
||||
}
|
||||
|
||||
type UserController interface {
|
||||
Informer() cache.SharedIndexInformer
|
||||
Lister() UserLister
|
||||
AddHandler(handler UserHandlerFunc)
|
||||
Enqueue(namespace, name string)
|
||||
Sync(ctx context.Context) error
|
||||
Start(ctx context.Context, threadiness int) error
|
||||
}
|
||||
|
||||
type UserInterface interface {
|
||||
ObjectClient() *clientbase.ObjectClient
|
||||
Create(*User) (*User, error)
|
||||
Get(name string, opts metav1.GetOptions) (*User, error)
|
||||
Update(*User) (*User, error)
|
||||
Delete(name string, options *metav1.DeleteOptions) error
|
||||
List(opts metav1.ListOptions) (*UserList, error)
|
||||
Watch(opts metav1.ListOptions) (watch.Interface, error)
|
||||
DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error
|
||||
Controller() UserController
|
||||
}
|
||||
|
||||
type userLister struct {
|
||||
controller *userController
|
||||
}
|
||||
|
||||
func (l *userLister) List(namespace string, selector labels.Selector) (ret []*User, err error) {
|
||||
err = cache.ListAllByNamespace(l.controller.Informer().GetIndexer(), namespace, selector, func(obj interface{}) {
|
||||
ret = append(ret, obj.(*User))
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (l *userLister) Get(namespace, name string) (*User, error) {
|
||||
obj, exists, err := l.controller.Informer().GetIndexer().GetByKey(namespace + "/" + name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if !exists {
|
||||
return nil, errors.NewNotFound(schema.GroupResource{
|
||||
Group: UserGroupVersionKind.Group,
|
||||
Resource: "user",
|
||||
}, name)
|
||||
}
|
||||
return obj.(*User), nil
|
||||
}
|
||||
|
||||
type userController struct {
|
||||
controller.GenericController
|
||||
}
|
||||
|
||||
func (c *userController) Lister() UserLister {
|
||||
return &userLister{
|
||||
controller: c,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *userController) AddHandler(handler UserHandlerFunc) {
|
||||
c.GenericController.AddHandler(func(key string) error {
|
||||
obj, exists, err := c.Informer().GetStore().GetByKey(key)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !exists {
|
||||
return handler(key, nil)
|
||||
}
|
||||
return handler(key, obj.(*User))
|
||||
})
|
||||
}
|
||||
|
||||
type userFactory struct {
|
||||
}
|
||||
|
||||
func (c userFactory) Object() runtime.Object {
|
||||
return &User{}
|
||||
}
|
||||
|
||||
func (c userFactory) List() runtime.Object {
|
||||
return &UserList{}
|
||||
}
|
||||
|
||||
func (s *userClient) Controller() UserController {
|
||||
s.client.Lock()
|
||||
defer s.client.Unlock()
|
||||
|
||||
c, ok := s.client.userControllers[s.ns]
|
||||
if ok {
|
||||
return c
|
||||
}
|
||||
|
||||
genericController := controller.NewGenericController(UserGroupVersionKind.Kind+"Controller",
|
||||
s.objectClient)
|
||||
|
||||
c = &userController{
|
||||
GenericController: genericController,
|
||||
}
|
||||
|
||||
s.client.userControllers[s.ns] = c
|
||||
s.client.starters = append(s.client.starters, c)
|
||||
|
||||
return c
|
||||
}
|
||||
|
||||
type userClient struct {
|
||||
client *Client
|
||||
ns string
|
||||
objectClient *clientbase.ObjectClient
|
||||
controller UserController
|
||||
}
|
||||
|
||||
func (s *userClient) ObjectClient() *clientbase.ObjectClient {
|
||||
return s.objectClient
|
||||
}
|
||||
|
||||
func (s *userClient) Create(o *User) (*User, error) {
|
||||
obj, err := s.objectClient.Create(o)
|
||||
return obj.(*User), err
|
||||
}
|
||||
|
||||
func (s *userClient) Get(name string, opts metav1.GetOptions) (*User, error) {
|
||||
obj, err := s.objectClient.Get(name, opts)
|
||||
return obj.(*User), err
|
||||
}
|
||||
|
||||
func (s *userClient) Update(o *User) (*User, error) {
|
||||
obj, err := s.objectClient.Update(o.Name, o)
|
||||
return obj.(*User), err
|
||||
}
|
||||
|
||||
func (s *userClient) Delete(name string, options *metav1.DeleteOptions) error {
|
||||
return s.objectClient.Delete(name, options)
|
||||
}
|
||||
|
||||
func (s *userClient) List(opts metav1.ListOptions) (*UserList, error) {
|
||||
obj, err := s.objectClient.List(opts)
|
||||
return obj.(*UserList), err
|
||||
}
|
||||
|
||||
func (s *userClient) Watch(opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return s.objectClient.Watch(opts)
|
||||
}
|
||||
|
||||
func (s *userClient) DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error {
|
||||
return s.objectClient.DeleteCollection(deleteOpts, listOpts)
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package v3
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/lifecycle"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
)
|
||||
|
||||
type UserLifecycle interface {
|
||||
Create(obj *User) error
|
||||
Remove(obj *User) error
|
||||
Updated(obj *User) error
|
||||
}
|
||||
|
||||
type userLifecycleAdapter struct {
|
||||
lifecycle UserLifecycle
|
||||
}
|
||||
|
||||
func (w *userLifecycleAdapter) Create(obj runtime.Object) error {
|
||||
return w.lifecycle.Create(obj.(*User))
|
||||
}
|
||||
|
||||
func (w *userLifecycleAdapter) Finalize(obj runtime.Object) error {
|
||||
return w.lifecycle.Remove(obj.(*User))
|
||||
}
|
||||
|
||||
func (w *userLifecycleAdapter) Updated(obj runtime.Object) error {
|
||||
return w.lifecycle.Updated(obj.(*User))
|
||||
}
|
||||
|
||||
func NewUserLifecycleAdapter(name string, client UserInterface, l UserLifecycle) UserHandlerFunc {
|
||||
adapter := &userLifecycleAdapter{lifecycle: l}
|
||||
syncFn := lifecycle.NewObjectLifecycleAdapter(name, adapter, client.ObjectClient())
|
||||
return func(key string, obj *User) error {
|
||||
if obj == nil {
|
||||
return syncFn(key, nil)
|
||||
}
|
||||
return syncFn(key, obj)
|
||||
}
|
||||
}
|
@ -20,6 +20,11 @@ type Client struct {
|
||||
Catalog CatalogOperations
|
||||
Template TemplateOperations
|
||||
TemplateVersion TemplateVersionOperations
|
||||
Token TokenOperations
|
||||
User UserOperations
|
||||
Group GroupOperations
|
||||
GroupMember GroupMemberOperations
|
||||
Identity IdentityOperations
|
||||
}
|
||||
|
||||
func NewClient(opts *clientbase.ClientOpts) (*Client, error) {
|
||||
@ -45,6 +50,11 @@ func NewClient(opts *clientbase.ClientOpts) (*Client, error) {
|
||||
client.Catalog = newCatalogClient(client)
|
||||
client.Template = newTemplateClient(client)
|
||||
client.TemplateVersion = newTemplateVersionClient(client)
|
||||
client.Token = newTokenClient(client)
|
||||
client.User = newUserClient(client)
|
||||
client.Group = newGroupClient(client)
|
||||
client.GroupMember = newGroupMemberClient(client)
|
||||
client.Identity = newIdentityClient(client)
|
||||
|
||||
return client, nil
|
||||
}
|
||||
|
99
client/management/v3/zz_generated_group.go
Normal file
99
client/management/v3/zz_generated_group.go
Normal file
@ -0,0 +1,99 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/types"
|
||||
)
|
||||
|
||||
const (
|
||||
GroupType = "group"
|
||||
GroupFieldAnnotations = "annotations"
|
||||
GroupFieldCreated = "created"
|
||||
GroupFieldDisplayName = "displayName"
|
||||
GroupFieldExternalID = "externalID"
|
||||
GroupFieldFinalizers = "finalizers"
|
||||
GroupFieldGroupName = "groupName"
|
||||
GroupFieldLabels = "labels"
|
||||
GroupFieldName = "name"
|
||||
GroupFieldOwnerReferences = "ownerReferences"
|
||||
GroupFieldRemoved = "removed"
|
||||
GroupFieldResourcePath = "resourcePath"
|
||||
GroupFieldUuid = "uuid"
|
||||
)
|
||||
|
||||
type Group struct {
|
||||
types.Resource
|
||||
Annotations map[string]string `json:"annotations,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
DisplayName string `json:"displayName,omitempty"`
|
||||
ExternalID string `json:"externalID,omitempty"`
|
||||
Finalizers []string `json:"finalizers,omitempty"`
|
||||
GroupName string `json:"groupName,omitempty"`
|
||||
Labels map[string]string `json:"labels,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty"`
|
||||
Removed string `json:"removed,omitempty"`
|
||||
ResourcePath string `json:"resourcePath,omitempty"`
|
||||
Uuid string `json:"uuid,omitempty"`
|
||||
}
|
||||
type GroupCollection struct {
|
||||
types.Collection
|
||||
Data []Group `json:"data,omitempty"`
|
||||
client *GroupClient
|
||||
}
|
||||
|
||||
type GroupClient struct {
|
||||
apiClient *Client
|
||||
}
|
||||
|
||||
type GroupOperations interface {
|
||||
List(opts *types.ListOpts) (*GroupCollection, error)
|
||||
Create(opts *Group) (*Group, error)
|
||||
Update(existing *Group, updates interface{}) (*Group, error)
|
||||
ByID(id string) (*Group, error)
|
||||
Delete(container *Group) error
|
||||
}
|
||||
|
||||
func newGroupClient(apiClient *Client) *GroupClient {
|
||||
return &GroupClient{
|
||||
apiClient: apiClient,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *GroupClient) Create(container *Group) (*Group, error) {
|
||||
resp := &Group{}
|
||||
err := c.apiClient.Ops.DoCreate(GroupType, container, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *GroupClient) Update(existing *Group, updates interface{}) (*Group, error) {
|
||||
resp := &Group{}
|
||||
err := c.apiClient.Ops.DoUpdate(GroupType, &existing.Resource, updates, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *GroupClient) List(opts *types.ListOpts) (*GroupCollection, error) {
|
||||
resp := &GroupCollection{}
|
||||
err := c.apiClient.Ops.DoList(GroupType, opts, resp)
|
||||
resp.client = c
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (cc *GroupCollection) Next() (*GroupCollection, error) {
|
||||
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
|
||||
resp := &GroupCollection{}
|
||||
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
|
||||
resp.client = cc.client
|
||||
return resp, err
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (c *GroupClient) ByID(id string) (*Group, error) {
|
||||
resp := &Group{}
|
||||
err := c.apiClient.Ops.DoByID(GroupType, id, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *GroupClient) Delete(container *Group) error {
|
||||
return c.apiClient.Ops.DoResourceDelete(GroupType, &container.Resource)
|
||||
}
|
97
client/management/v3/zz_generated_group_member.go
Normal file
97
client/management/v3/zz_generated_group_member.go
Normal file
@ -0,0 +1,97 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/types"
|
||||
)
|
||||
|
||||
const (
|
||||
GroupMemberType = "groupMember"
|
||||
GroupMemberFieldAnnotations = "annotations"
|
||||
GroupMemberFieldCreated = "created"
|
||||
GroupMemberFieldFinalizers = "finalizers"
|
||||
GroupMemberFieldGroupExternalID = "groupExternalID"
|
||||
GroupMemberFieldLabels = "labels"
|
||||
GroupMemberFieldMemberExternalID = "memberExternalID"
|
||||
GroupMemberFieldName = "name"
|
||||
GroupMemberFieldOwnerReferences = "ownerReferences"
|
||||
GroupMemberFieldRemoved = "removed"
|
||||
GroupMemberFieldResourcePath = "resourcePath"
|
||||
GroupMemberFieldUuid = "uuid"
|
||||
)
|
||||
|
||||
type GroupMember struct {
|
||||
types.Resource
|
||||
Annotations map[string]string `json:"annotations,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Finalizers []string `json:"finalizers,omitempty"`
|
||||
GroupExternalID string `json:"groupExternalID,omitempty"`
|
||||
Labels map[string]string `json:"labels,omitempty"`
|
||||
MemberExternalID string `json:"memberExternalID,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty"`
|
||||
Removed string `json:"removed,omitempty"`
|
||||
ResourcePath string `json:"resourcePath,omitempty"`
|
||||
Uuid string `json:"uuid,omitempty"`
|
||||
}
|
||||
type GroupMemberCollection struct {
|
||||
types.Collection
|
||||
Data []GroupMember `json:"data,omitempty"`
|
||||
client *GroupMemberClient
|
||||
}
|
||||
|
||||
type GroupMemberClient struct {
|
||||
apiClient *Client
|
||||
}
|
||||
|
||||
type GroupMemberOperations interface {
|
||||
List(opts *types.ListOpts) (*GroupMemberCollection, error)
|
||||
Create(opts *GroupMember) (*GroupMember, error)
|
||||
Update(existing *GroupMember, updates interface{}) (*GroupMember, error)
|
||||
ByID(id string) (*GroupMember, error)
|
||||
Delete(container *GroupMember) error
|
||||
}
|
||||
|
||||
func newGroupMemberClient(apiClient *Client) *GroupMemberClient {
|
||||
return &GroupMemberClient{
|
||||
apiClient: apiClient,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *GroupMemberClient) Create(container *GroupMember) (*GroupMember, error) {
|
||||
resp := &GroupMember{}
|
||||
err := c.apiClient.Ops.DoCreate(GroupMemberType, container, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *GroupMemberClient) Update(existing *GroupMember, updates interface{}) (*GroupMember, error) {
|
||||
resp := &GroupMember{}
|
||||
err := c.apiClient.Ops.DoUpdate(GroupMemberType, &existing.Resource, updates, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *GroupMemberClient) List(opts *types.ListOpts) (*GroupMemberCollection, error) {
|
||||
resp := &GroupMemberCollection{}
|
||||
err := c.apiClient.Ops.DoList(GroupMemberType, opts, resp)
|
||||
resp.client = c
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (cc *GroupMemberCollection) Next() (*GroupMemberCollection, error) {
|
||||
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
|
||||
resp := &GroupMemberCollection{}
|
||||
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
|
||||
resp.client = cc.client
|
||||
return resp, err
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (c *GroupMemberClient) ByID(id string) (*GroupMember, error) {
|
||||
resp := &GroupMember{}
|
||||
err := c.apiClient.Ops.DoByID(GroupMemberType, id, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *GroupMemberClient) Delete(container *GroupMember) error {
|
||||
return c.apiClient.Ops.DoResourceDelete(GroupMemberType, &container.Resource)
|
||||
}
|
109
client/management/v3/zz_generated_identity.go
Normal file
109
client/management/v3/zz_generated_identity.go
Normal file
@ -0,0 +1,109 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/types"
|
||||
)
|
||||
|
||||
const (
|
||||
IdentityType = "identity"
|
||||
IdentityFieldAnnotations = "annotations"
|
||||
IdentityFieldCreated = "created"
|
||||
IdentityFieldDisplayName = "displayName"
|
||||
IdentityFieldExternalID = "externalID"
|
||||
IdentityFieldExtraInfo = "extraInfo"
|
||||
IdentityFieldFinalizers = "finalizers"
|
||||
IdentityFieldIdentityName = "identityName"
|
||||
IdentityFieldLabels = "labels"
|
||||
IdentityFieldMe = "me"
|
||||
IdentityFieldMemberOf = "memberOf"
|
||||
IdentityFieldName = "name"
|
||||
IdentityFieldOwnerReferences = "ownerReferences"
|
||||
IdentityFieldProfilePicture = "profilePicture"
|
||||
IdentityFieldProfileURL = "profileURL"
|
||||
IdentityFieldRemoved = "removed"
|
||||
IdentityFieldResourcePath = "resourcePath"
|
||||
IdentityFieldUuid = "uuid"
|
||||
)
|
||||
|
||||
type Identity struct {
|
||||
types.Resource
|
||||
Annotations map[string]string `json:"annotations,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
DisplayName string `json:"displayName,omitempty"`
|
||||
ExternalID string `json:"externalID,omitempty"`
|
||||
ExtraInfo map[string]string `json:"extraInfo,omitempty"`
|
||||
Finalizers []string `json:"finalizers,omitempty"`
|
||||
IdentityName string `json:"identityName,omitempty"`
|
||||
Labels map[string]string `json:"labels,omitempty"`
|
||||
Me *bool `json:"me,omitempty"`
|
||||
MemberOf *bool `json:"memberOf,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty"`
|
||||
ProfilePicture string `json:"profilePicture,omitempty"`
|
||||
ProfileURL string `json:"profileURL,omitempty"`
|
||||
Removed string `json:"removed,omitempty"`
|
||||
ResourcePath string `json:"resourcePath,omitempty"`
|
||||
Uuid string `json:"uuid,omitempty"`
|
||||
}
|
||||
type IdentityCollection struct {
|
||||
types.Collection
|
||||
Data []Identity `json:"data,omitempty"`
|
||||
client *IdentityClient
|
||||
}
|
||||
|
||||
type IdentityClient struct {
|
||||
apiClient *Client
|
||||
}
|
||||
|
||||
type IdentityOperations interface {
|
||||
List(opts *types.ListOpts) (*IdentityCollection, error)
|
||||
Create(opts *Identity) (*Identity, error)
|
||||
Update(existing *Identity, updates interface{}) (*Identity, error)
|
||||
ByID(id string) (*Identity, error)
|
||||
Delete(container *Identity) error
|
||||
}
|
||||
|
||||
func newIdentityClient(apiClient *Client) *IdentityClient {
|
||||
return &IdentityClient{
|
||||
apiClient: apiClient,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *IdentityClient) Create(container *Identity) (*Identity, error) {
|
||||
resp := &Identity{}
|
||||
err := c.apiClient.Ops.DoCreate(IdentityType, container, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *IdentityClient) Update(existing *Identity, updates interface{}) (*Identity, error) {
|
||||
resp := &Identity{}
|
||||
err := c.apiClient.Ops.DoUpdate(IdentityType, &existing.Resource, updates, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *IdentityClient) List(opts *types.ListOpts) (*IdentityCollection, error) {
|
||||
resp := &IdentityCollection{}
|
||||
err := c.apiClient.Ops.DoList(IdentityType, opts, resp)
|
||||
resp.client = c
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (cc *IdentityCollection) Next() (*IdentityCollection, error) {
|
||||
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
|
||||
resp := &IdentityCollection{}
|
||||
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
|
||||
resp.client = cc.client
|
||||
return resp, err
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (c *IdentityClient) ByID(id string) (*Identity, error) {
|
||||
resp := &Identity{}
|
||||
err := c.apiClient.Ops.DoByID(IdentityType, id, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *IdentityClient) Delete(container *Identity) error {
|
||||
return c.apiClient.Ops.DoResourceDelete(IdentityType, &container.Resource)
|
||||
}
|
113
client/management/v3/zz_generated_token.go
Normal file
113
client/management/v3/zz_generated_token.go
Normal file
@ -0,0 +1,113 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/types"
|
||||
)
|
||||
|
||||
const (
|
||||
TokenType = "token"
|
||||
TokenFieldAnnotations = "annotations"
|
||||
TokenFieldAuthProvider = "authProvider"
|
||||
TokenFieldCreated = "created"
|
||||
TokenFieldDescription = "description"
|
||||
TokenFieldExternalID = "externalID"
|
||||
TokenFieldFinalizers = "finalizers"
|
||||
TokenFieldIsDerived = "isDerived"
|
||||
TokenFieldLabels = "labels"
|
||||
TokenFieldLastUpdateTime = "lastUpdateTime"
|
||||
TokenFieldName = "name"
|
||||
TokenFieldOwnerReferences = "ownerReferences"
|
||||
TokenFieldRefreshTTLMillis = "refreshTTL"
|
||||
TokenFieldRemoved = "removed"
|
||||
TokenFieldResourcePath = "resourcePath"
|
||||
TokenFieldTTLMillis = "ttl"
|
||||
TokenFieldTokenID = "tokenID"
|
||||
TokenFieldTokenValue = "tokenValue"
|
||||
TokenFieldUser = "user"
|
||||
TokenFieldUuid = "uuid"
|
||||
)
|
||||
|
||||
type Token struct {
|
||||
types.Resource
|
||||
Annotations map[string]string `json:"annotations,omitempty"`
|
||||
AuthProvider string `json:"authProvider,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
ExternalID string `json:"externalID,omitempty"`
|
||||
Finalizers []string `json:"finalizers,omitempty"`
|
||||
IsDerived *bool `json:"isDerived,omitempty"`
|
||||
Labels map[string]string `json:"labels,omitempty"`
|
||||
LastUpdateTime string `json:"lastUpdateTime,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty"`
|
||||
RefreshTTLMillis string `json:"refreshTTL,omitempty"`
|
||||
Removed string `json:"removed,omitempty"`
|
||||
ResourcePath string `json:"resourcePath,omitempty"`
|
||||
TTLMillis string `json:"ttl,omitempty"`
|
||||
TokenID string `json:"tokenID,omitempty"`
|
||||
TokenValue string `json:"tokenValue,omitempty"`
|
||||
User string `json:"user,omitempty"`
|
||||
Uuid string `json:"uuid,omitempty"`
|
||||
}
|
||||
type TokenCollection struct {
|
||||
types.Collection
|
||||
Data []Token `json:"data,omitempty"`
|
||||
client *TokenClient
|
||||
}
|
||||
|
||||
type TokenClient struct {
|
||||
apiClient *Client
|
||||
}
|
||||
|
||||
type TokenOperations interface {
|
||||
List(opts *types.ListOpts) (*TokenCollection, error)
|
||||
Create(opts *Token) (*Token, error)
|
||||
Update(existing *Token, updates interface{}) (*Token, error)
|
||||
ByID(id string) (*Token, error)
|
||||
Delete(container *Token) error
|
||||
}
|
||||
|
||||
func newTokenClient(apiClient *Client) *TokenClient {
|
||||
return &TokenClient{
|
||||
apiClient: apiClient,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *TokenClient) Create(container *Token) (*Token, error) {
|
||||
resp := &Token{}
|
||||
err := c.apiClient.Ops.DoCreate(TokenType, container, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *TokenClient) Update(existing *Token, updates interface{}) (*Token, error) {
|
||||
resp := &Token{}
|
||||
err := c.apiClient.Ops.DoUpdate(TokenType, &existing.Resource, updates, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *TokenClient) List(opts *types.ListOpts) (*TokenCollection, error) {
|
||||
resp := &TokenCollection{}
|
||||
err := c.apiClient.Ops.DoList(TokenType, opts, resp)
|
||||
resp.client = c
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (cc *TokenCollection) Next() (*TokenCollection, error) {
|
||||
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
|
||||
resp := &TokenCollection{}
|
||||
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
|
||||
resp.client = cc.client
|
||||
return resp, err
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (c *TokenClient) ByID(id string) (*Token, error) {
|
||||
resp := &Token{}
|
||||
err := c.apiClient.Ops.DoByID(TokenType, id, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *TokenClient) Delete(container *Token) error {
|
||||
return c.apiClient.Ops.DoResourceDelete(TokenType, &container.Resource)
|
||||
}
|
101
client/management/v3/zz_generated_user.go
Normal file
101
client/management/v3/zz_generated_user.go
Normal file
@ -0,0 +1,101 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/types"
|
||||
)
|
||||
|
||||
const (
|
||||
UserType = "user"
|
||||
UserFieldAnnotations = "annotations"
|
||||
UserFieldCreated = "created"
|
||||
UserFieldDisplayName = "displayName"
|
||||
UserFieldExternalID = "externalID"
|
||||
UserFieldFinalizers = "finalizers"
|
||||
UserFieldLabels = "labels"
|
||||
UserFieldName = "name"
|
||||
UserFieldOwnerReferences = "ownerReferences"
|
||||
UserFieldRemoved = "removed"
|
||||
UserFieldResourcePath = "resourcePath"
|
||||
UserFieldSecret = "secret"
|
||||
UserFieldUserName = "userName"
|
||||
UserFieldUuid = "uuid"
|
||||
)
|
||||
|
||||
type User struct {
|
||||
types.Resource
|
||||
Annotations map[string]string `json:"annotations,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
DisplayName string `json:"displayName,omitempty"`
|
||||
ExternalID string `json:"externalID,omitempty"`
|
||||
Finalizers []string `json:"finalizers,omitempty"`
|
||||
Labels map[string]string `json:"labels,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
OwnerReferences []OwnerReference `json:"ownerReferences,omitempty"`
|
||||
Removed string `json:"removed,omitempty"`
|
||||
ResourcePath string `json:"resourcePath,omitempty"`
|
||||
Secret string `json:"secret,omitempty"`
|
||||
UserName string `json:"userName,omitempty"`
|
||||
Uuid string `json:"uuid,omitempty"`
|
||||
}
|
||||
type UserCollection struct {
|
||||
types.Collection
|
||||
Data []User `json:"data,omitempty"`
|
||||
client *UserClient
|
||||
}
|
||||
|
||||
type UserClient struct {
|
||||
apiClient *Client
|
||||
}
|
||||
|
||||
type UserOperations interface {
|
||||
List(opts *types.ListOpts) (*UserCollection, error)
|
||||
Create(opts *User) (*User, error)
|
||||
Update(existing *User, updates interface{}) (*User, error)
|
||||
ByID(id string) (*User, error)
|
||||
Delete(container *User) error
|
||||
}
|
||||
|
||||
func newUserClient(apiClient *Client) *UserClient {
|
||||
return &UserClient{
|
||||
apiClient: apiClient,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *UserClient) Create(container *User) (*User, error) {
|
||||
resp := &User{}
|
||||
err := c.apiClient.Ops.DoCreate(UserType, container, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *UserClient) Update(existing *User, updates interface{}) (*User, error) {
|
||||
resp := &User{}
|
||||
err := c.apiClient.Ops.DoUpdate(UserType, &existing.Resource, updates, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *UserClient) List(opts *types.ListOpts) (*UserCollection, error) {
|
||||
resp := &UserCollection{}
|
||||
err := c.apiClient.Ops.DoList(UserType, opts, resp)
|
||||
resp.client = c
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (cc *UserCollection) Next() (*UserCollection, error) {
|
||||
if cc != nil && cc.Pagination != nil && cc.Pagination.Next != "" {
|
||||
resp := &UserCollection{}
|
||||
err := cc.client.apiClient.Ops.DoNext(cc.Pagination.Next, resp)
|
||||
resp.client = cc.client
|
||||
return resp, err
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (c *UserClient) ByID(id string) (*User, error) {
|
||||
resp := &User{}
|
||||
err := c.apiClient.Ops.DoByID(UserType, id, resp)
|
||||
return resp, err
|
||||
}
|
||||
|
||||
func (c *UserClient) Delete(container *User) error {
|
||||
return c.apiClient.Ops.DoResourceDelete(UserType, &container.Resource)
|
||||
}
|
Loading…
Reference in New Issue
Block a user