| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901 |
- /*
- Copyright 2015 The Kubernetes Authors.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
- package testing
- import (
- "fmt"
- "path"
- "strings"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "k8s.io/apimachinery/pkg/fields"
- "k8s.io/apimachinery/pkg/labels"
- "k8s.io/apimachinery/pkg/runtime"
- "k8s.io/apimachinery/pkg/runtime/schema"
- "k8s.io/apimachinery/pkg/types"
- )
- // All NewRoot... functions return non-namespaced actions, and are equivalent to
- // calling the corresponding New... function with an empty namespace.
- // This is assumed by the fake client generator.
- func NewRootGetAction(resource schema.GroupVersionResource, name string) GetActionImpl {
- return NewRootGetActionWithOptions(resource, name, metav1.GetOptions{})
- }
- func NewRootGetActionWithOptions(resource schema.GroupVersionResource, name string, opts metav1.GetOptions) GetActionImpl {
- action := GetActionImpl{}
- action.Verb = "get"
- action.Resource = resource
- action.Name = name
- action.GetOptions = opts
- return action
- }
- func NewGetAction(resource schema.GroupVersionResource, namespace, name string) GetActionImpl {
- return NewGetActionWithOptions(resource, namespace, name, metav1.GetOptions{})
- }
- func NewGetActionWithOptions(resource schema.GroupVersionResource, namespace, name string, opts metav1.GetOptions) GetActionImpl {
- action := GetActionImpl{}
- action.Verb = "get"
- action.Resource = resource
- action.Namespace = namespace
- action.Name = name
- action.GetOptions = opts
- return action
- }
- func NewGetSubresourceAction(resource schema.GroupVersionResource, namespace, subresource, name string) GetActionImpl {
- return NewGetSubresourceActionWithOptions(resource, namespace, subresource, name, metav1.GetOptions{})
- }
- func NewGetSubresourceActionWithOptions(resource schema.GroupVersionResource, namespace, subresource, name string, opts metav1.GetOptions) GetActionImpl {
- action := GetActionImpl{}
- action.Verb = "get"
- action.Resource = resource
- action.Subresource = subresource
- action.Namespace = namespace
- action.Name = name
- action.GetOptions = opts
- return action
- }
- func NewRootGetSubresourceAction(resource schema.GroupVersionResource, subresource, name string) GetActionImpl {
- return NewRootGetSubresourceActionWithOptions(resource, subresource, name, metav1.GetOptions{})
- }
- func NewRootGetSubresourceActionWithOptions(resource schema.GroupVersionResource, subresource, name string, opts metav1.GetOptions) GetActionImpl {
- action := GetActionImpl{}
- action.Verb = "get"
- action.Resource = resource
- action.Subresource = subresource
- action.Name = name
- action.GetOptions = opts
- return action
- }
- func NewRootListAction(resource schema.GroupVersionResource, kind schema.GroupVersionKind, opts interface{}) ListActionImpl {
- action := ListActionImpl{}
- action.Verb = "list"
- action.Resource = resource
- action.Kind = kind
- labelSelector, fieldSelector, _ := ExtractFromListOptions(opts)
- action.ListRestrictions = ListRestrictions{labelSelector, fieldSelector}
- action.ListOptions = metav1.ListOptions{LabelSelector: labelSelector.String(), FieldSelector: fieldSelector.String()}
- return action
- }
- func NewRootListActionWithOptions(resource schema.GroupVersionResource, kind schema.GroupVersionKind, opts metav1.ListOptions) ListActionImpl {
- action := ListActionImpl{}
- action.Verb = "list"
- action.Resource = resource
- action.Kind = kind
- action.ListOptions = opts
- labelSelector, fieldSelector, _ := ExtractFromListOptions(opts)
- action.ListRestrictions = ListRestrictions{labelSelector, fieldSelector}
- action.ListOptions = metav1.ListOptions{LabelSelector: labelSelector.String(), FieldSelector: fieldSelector.String()}
- return action
- }
- func NewListAction(resource schema.GroupVersionResource, kind schema.GroupVersionKind, namespace string, opts interface{}) ListActionImpl {
- action := ListActionImpl{}
- action.Verb = "list"
- action.Resource = resource
- action.Kind = kind
- action.Namespace = namespace
- labelSelector, fieldSelector, _ := ExtractFromListOptions(opts)
- action.ListRestrictions = ListRestrictions{labelSelector, fieldSelector}
- action.ListOptions = metav1.ListOptions{LabelSelector: labelSelector.String(), FieldSelector: fieldSelector.String()}
- return action
- }
- func NewListActionWithOptions(resource schema.GroupVersionResource, kind schema.GroupVersionKind, namespace string, opts metav1.ListOptions) ListActionImpl {
- action := ListActionImpl{}
- action.Verb = "list"
- action.Resource = resource
- action.Kind = kind
- action.Namespace = namespace
- action.ListOptions = opts
- labelSelector, fieldSelector, _ := ExtractFromListOptions(opts)
- action.ListRestrictions = ListRestrictions{labelSelector, fieldSelector}
- return action
- }
- func NewRootCreateAction(resource schema.GroupVersionResource, object runtime.Object) CreateActionImpl {
- return NewRootCreateActionWithOptions(resource, object, metav1.CreateOptions{})
- }
- func NewRootCreateActionWithOptions(resource schema.GroupVersionResource, object runtime.Object, opts metav1.CreateOptions) CreateActionImpl {
- action := CreateActionImpl{}
- action.Verb = "create"
- action.Resource = resource
- action.Object = object
- action.CreateOptions = opts
- return action
- }
- func NewCreateAction(resource schema.GroupVersionResource, namespace string, object runtime.Object) CreateActionImpl {
- return NewCreateActionWithOptions(resource, namespace, object, metav1.CreateOptions{})
- }
- func NewCreateActionWithOptions(resource schema.GroupVersionResource, namespace string, object runtime.Object, opts metav1.CreateOptions) CreateActionImpl {
- action := CreateActionImpl{}
- action.Verb = "create"
- action.Resource = resource
- action.Namespace = namespace
- action.Object = object
- action.CreateOptions = opts
- return action
- }
- func NewRootCreateSubresourceAction(resource schema.GroupVersionResource, name, subresource string, object runtime.Object) CreateActionImpl {
- return NewRootCreateSubresourceActionWithOptions(resource, name, subresource, object, metav1.CreateOptions{})
- }
- func NewRootCreateSubresourceActionWithOptions(resource schema.GroupVersionResource, name, subresource string, object runtime.Object, opts metav1.CreateOptions) CreateActionImpl {
- action := CreateActionImpl{}
- action.Verb = "create"
- action.Resource = resource
- action.Subresource = subresource
- action.Name = name
- action.Object = object
- action.CreateOptions = opts
- return action
- }
- func NewCreateSubresourceAction(resource schema.GroupVersionResource, name, subresource, namespace string, object runtime.Object) CreateActionImpl {
- return NewCreateSubresourceActionWithOptions(resource, name, subresource, namespace, object, metav1.CreateOptions{})
- }
- func NewCreateSubresourceActionWithOptions(resource schema.GroupVersionResource, name, subresource, namespace string, object runtime.Object, opts metav1.CreateOptions) CreateActionImpl {
- action := CreateActionImpl{}
- action.Verb = "create"
- action.Resource = resource
- action.Namespace = namespace
- action.Subresource = subresource
- action.Name = name
- action.Object = object
- action.CreateOptions = opts
- return action
- }
- func NewRootUpdateAction(resource schema.GroupVersionResource, object runtime.Object) UpdateActionImpl {
- return NewRootUpdateActionWithOptions(resource, object, metav1.UpdateOptions{})
- }
- func NewRootUpdateActionWithOptions(resource schema.GroupVersionResource, object runtime.Object, opts metav1.UpdateOptions) UpdateActionImpl {
- action := UpdateActionImpl{}
- action.Verb = "update"
- action.Resource = resource
- action.Object = object
- action.UpdateOptions = opts
- return action
- }
- func NewUpdateAction(resource schema.GroupVersionResource, namespace string, object runtime.Object) UpdateActionImpl {
- return NewUpdateActionWithOptions(resource, namespace, object, metav1.UpdateOptions{})
- }
- func NewUpdateActionWithOptions(resource schema.GroupVersionResource, namespace string, object runtime.Object, opts metav1.UpdateOptions) UpdateActionImpl {
- action := UpdateActionImpl{}
- action.Verb = "update"
- action.Resource = resource
- action.Namespace = namespace
- action.Object = object
- action.UpdateOptions = opts
- return action
- }
- func NewRootPatchAction(resource schema.GroupVersionResource, name string, pt types.PatchType, patch []byte) PatchActionImpl {
- return NewRootPatchActionWithOptions(resource, name, pt, patch, metav1.PatchOptions{})
- }
- func NewRootPatchActionWithOptions(resource schema.GroupVersionResource, name string, pt types.PatchType, patch []byte, opts metav1.PatchOptions) PatchActionImpl {
- action := PatchActionImpl{}
- action.Verb = "patch"
- action.Resource = resource
- action.Name = name
- action.PatchType = pt
- action.Patch = patch
- action.PatchOptions = opts
- return action
- }
- func NewPatchAction(resource schema.GroupVersionResource, namespace string, name string, pt types.PatchType, patch []byte) PatchActionImpl {
- return NewPatchActionWithOptions(resource, namespace, name, pt, patch, metav1.PatchOptions{})
- }
- func NewPatchActionWithOptions(resource schema.GroupVersionResource, namespace string, name string, pt types.PatchType, patch []byte, opts metav1.PatchOptions) PatchActionImpl {
- action := PatchActionImpl{}
- action.Verb = "patch"
- action.Resource = resource
- action.Namespace = namespace
- action.Name = name
- action.PatchType = pt
- action.Patch = patch
- action.PatchOptions = opts
- return action
- }
- func NewRootPatchSubresourceAction(resource schema.GroupVersionResource, name string, pt types.PatchType, patch []byte, subresources ...string) PatchActionImpl {
- return NewRootPatchSubresourceActionWithOptions(resource, name, pt, patch, metav1.PatchOptions{}, subresources...)
- }
- func NewRootPatchSubresourceActionWithOptions(resource schema.GroupVersionResource, name string, pt types.PatchType, patch []byte, opts metav1.PatchOptions, subresources ...string) PatchActionImpl {
- action := PatchActionImpl{}
- action.Verb = "patch"
- action.Resource = resource
- action.Subresource = path.Join(subresources...)
- action.Name = name
- action.PatchType = pt
- action.Patch = patch
- action.PatchOptions = opts
- return action
- }
- func NewPatchSubresourceAction(resource schema.GroupVersionResource, namespace, name string, pt types.PatchType, patch []byte, subresources ...string) PatchActionImpl {
- return NewPatchSubresourceActionWithOptions(resource, namespace, name, pt, patch, metav1.PatchOptions{}, subresources...)
- }
- func NewPatchSubresourceActionWithOptions(resource schema.GroupVersionResource, namespace, name string, pt types.PatchType, patch []byte, opts metav1.PatchOptions, subresources ...string) PatchActionImpl {
- action := PatchActionImpl{}
- action.Verb = "patch"
- action.Resource = resource
- action.Subresource = path.Join(subresources...)
- action.Namespace = namespace
- action.Name = name
- action.PatchType = pt
- action.Patch = patch
- action.PatchOptions = opts
- return action
- }
- func NewRootUpdateSubresourceAction(resource schema.GroupVersionResource, subresource string, object runtime.Object) UpdateActionImpl {
- return NewRootUpdateSubresourceActionWithOptions(resource, subresource, object, metav1.UpdateOptions{})
- }
- func NewRootUpdateSubresourceActionWithOptions(resource schema.GroupVersionResource, subresource string, object runtime.Object, opts metav1.UpdateOptions) UpdateActionImpl {
- action := UpdateActionImpl{}
- action.Verb = "update"
- action.Resource = resource
- action.Subresource = subresource
- action.Object = object
- action.UpdateOptions = opts
- return action
- }
- func NewUpdateSubresourceAction(resource schema.GroupVersionResource, subresource string, namespace string, object runtime.Object) UpdateActionImpl {
- return NewUpdateSubresourceActionWithOptions(resource, subresource, namespace, object, metav1.UpdateOptions{})
- }
- func NewUpdateSubresourceActionWithOptions(resource schema.GroupVersionResource, subresource string, namespace string, object runtime.Object, opts metav1.UpdateOptions) UpdateActionImpl {
- action := UpdateActionImpl{}
- action.Verb = "update"
- action.Resource = resource
- action.Subresource = subresource
- action.Namespace = namespace
- action.Object = object
- action.UpdateOptions = opts
- return action
- }
- func NewRootDeleteAction(resource schema.GroupVersionResource, name string) DeleteActionImpl {
- return NewRootDeleteActionWithOptions(resource, name, metav1.DeleteOptions{})
- }
- func NewRootDeleteActionWithOptions(resource schema.GroupVersionResource, name string, opts metav1.DeleteOptions) DeleteActionImpl {
- action := DeleteActionImpl{}
- action.Verb = "delete"
- action.Resource = resource
- action.Name = name
- action.DeleteOptions = opts
- return action
- }
- func NewRootDeleteSubresourceAction(resource schema.GroupVersionResource, subresource string, name string) DeleteActionImpl {
- return NewRootDeleteSubresourceActionWithOptions(resource, subresource, name, metav1.DeleteOptions{})
- }
- func NewRootDeleteSubresourceActionWithOptions(resource schema.GroupVersionResource, subresource string, name string, opts metav1.DeleteOptions) DeleteActionImpl {
- action := DeleteActionImpl{}
- action.Verb = "delete"
- action.Resource = resource
- action.Subresource = subresource
- action.Name = name
- action.DeleteOptions = opts
- return action
- }
- func NewDeleteAction(resource schema.GroupVersionResource, namespace, name string) DeleteActionImpl {
- return NewDeleteActionWithOptions(resource, namespace, name, metav1.DeleteOptions{})
- }
- func NewDeleteActionWithOptions(resource schema.GroupVersionResource, namespace, name string, opts metav1.DeleteOptions) DeleteActionImpl {
- action := DeleteActionImpl{}
- action.Verb = "delete"
- action.Resource = resource
- action.Namespace = namespace
- action.Name = name
- action.DeleteOptions = opts
- return action
- }
- func NewDeleteSubresourceAction(resource schema.GroupVersionResource, subresource, namespace, name string) DeleteActionImpl {
- return NewDeleteSubresourceActionWithOptions(resource, subresource, namespace, name, metav1.DeleteOptions{})
- }
- func NewDeleteSubresourceActionWithOptions(resource schema.GroupVersionResource, subresource, namespace, name string, opts metav1.DeleteOptions) DeleteActionImpl {
- action := DeleteActionImpl{}
- action.Verb = "delete"
- action.Resource = resource
- action.Subresource = subresource
- action.Namespace = namespace
- action.Name = name
- action.DeleteOptions = opts
- return action
- }
- func NewRootDeleteCollectionAction(resource schema.GroupVersionResource, opts interface{}) DeleteCollectionActionImpl {
- listOpts, _ := opts.(metav1.ListOptions)
- return NewRootDeleteCollectionActionWithOptions(resource, metav1.DeleteOptions{}, listOpts)
- }
- func NewRootDeleteCollectionActionWithOptions(resource schema.GroupVersionResource, deleteOpts metav1.DeleteOptions, listOpts metav1.ListOptions) DeleteCollectionActionImpl {
- action := DeleteCollectionActionImpl{}
- action.Verb = "delete-collection"
- action.Resource = resource
- action.DeleteOptions = deleteOpts
- action.ListOptions = listOpts
- labelSelector, fieldSelector, _ := ExtractFromListOptions(listOpts)
- action.ListRestrictions = ListRestrictions{labelSelector, fieldSelector}
- return action
- }
- func NewDeleteCollectionAction(resource schema.GroupVersionResource, namespace string, opts interface{}) DeleteCollectionActionImpl {
- listOpts, _ := opts.(metav1.ListOptions)
- return NewDeleteCollectionActionWithOptions(resource, namespace, metav1.DeleteOptions{}, listOpts)
- }
- func NewDeleteCollectionActionWithOptions(resource schema.GroupVersionResource, namespace string, deleteOpts metav1.DeleteOptions, listOpts metav1.ListOptions) DeleteCollectionActionImpl {
- action := DeleteCollectionActionImpl{}
- action.Verb = "delete-collection"
- action.Resource = resource
- action.Namespace = namespace
- action.DeleteOptions = deleteOpts
- action.ListOptions = listOpts
- labelSelector, fieldSelector, _ := ExtractFromListOptions(listOpts)
- action.ListRestrictions = ListRestrictions{labelSelector, fieldSelector}
- return action
- }
- func NewRootWatchAction(resource schema.GroupVersionResource, opts interface{}) WatchActionImpl {
- listOpts, _ := opts.(metav1.ListOptions)
- return NewRootWatchActionWithOptions(resource, listOpts)
- }
- func NewRootWatchActionWithOptions(resource schema.GroupVersionResource, opts metav1.ListOptions) WatchActionImpl {
- action := WatchActionImpl{}
- action.Verb = "watch"
- action.Resource = resource
- action.ListOptions = opts
- labelSelector, fieldSelector, resourceVersion := ExtractFromListOptions(opts)
- action.WatchRestrictions = WatchRestrictions{labelSelector, fieldSelector, resourceVersion}
- return action
- }
- func ExtractFromListOptions(opts interface{}) (labelSelector labels.Selector, fieldSelector fields.Selector, resourceVersion string) {
- var err error
- switch t := opts.(type) {
- case metav1.ListOptions:
- labelSelector, err = labels.Parse(t.LabelSelector)
- if err != nil {
- panic(fmt.Errorf("invalid selector %q: %v", t.LabelSelector, err))
- }
- fieldSelector, err = fields.ParseSelector(t.FieldSelector)
- if err != nil {
- panic(fmt.Errorf("invalid selector %q: %v", t.FieldSelector, err))
- }
- resourceVersion = t.ResourceVersion
- default:
- panic(fmt.Errorf("expect a ListOptions %T", opts))
- }
- if labelSelector == nil {
- labelSelector = labels.Everything()
- }
- if fieldSelector == nil {
- fieldSelector = fields.Everything()
- }
- return labelSelector, fieldSelector, resourceVersion
- }
- func NewWatchAction(resource schema.GroupVersionResource, namespace string, opts interface{}) WatchActionImpl {
- listOpts, _ := opts.(metav1.ListOptions)
- return NewWatchActionWithOptions(resource, namespace, listOpts)
- }
- func NewWatchActionWithOptions(resource schema.GroupVersionResource, namespace string, opts metav1.ListOptions) WatchActionImpl {
- action := WatchActionImpl{}
- action.Verb = "watch"
- action.Resource = resource
- action.Namespace = namespace
- action.ListOptions = opts
- labelSelector, fieldSelector, resourceVersion := ExtractFromListOptions(opts)
- action.WatchRestrictions = WatchRestrictions{labelSelector, fieldSelector, resourceVersion}
- return action
- }
- func NewProxyGetAction(resource schema.GroupVersionResource, namespace, scheme, name, port, path string, params map[string]string) ProxyGetActionImpl {
- action := ProxyGetActionImpl{}
- action.Verb = "get"
- action.Resource = resource
- action.Namespace = namespace
- action.Scheme = scheme
- action.Name = name
- action.Port = port
- action.Path = path
- action.Params = params
- return action
- }
- type ListRestrictions struct {
- Labels labels.Selector
- Fields fields.Selector
- }
- type WatchRestrictions struct {
- Labels labels.Selector
- Fields fields.Selector
- ResourceVersion string
- }
- type Action interface {
- GetNamespace() string
- GetVerb() string
- GetResource() schema.GroupVersionResource
- GetSubresource() string
- Matches(verb, resource string) bool
- // DeepCopy is used to copy an action to avoid any risk of accidental mutation. Most people never need to call this
- // because the invocation logic deep copies before calls to storage and reactors.
- DeepCopy() Action
- }
- type GenericAction interface {
- Action
- GetValue() interface{}
- }
- type GetAction interface {
- Action
- GetName() string
- }
- type ListAction interface {
- Action
- GetListRestrictions() ListRestrictions
- }
- type CreateAction interface {
- Action
- GetObject() runtime.Object
- }
- type UpdateAction interface {
- Action
- GetObject() runtime.Object
- }
- type DeleteAction interface {
- Action
- GetName() string
- GetDeleteOptions() metav1.DeleteOptions
- }
- type DeleteCollectionAction interface {
- Action
- GetListRestrictions() ListRestrictions
- }
- type PatchAction interface {
- Action
- GetName() string
- GetPatchType() types.PatchType
- GetPatch() []byte
- }
- type WatchAction interface {
- Action
- GetWatchRestrictions() WatchRestrictions
- }
- type ProxyGetAction interface {
- Action
- GetScheme() string
- GetName() string
- GetPort() string
- GetPath() string
- GetParams() map[string]string
- }
- type ActionImpl struct {
- Namespace string
- Verb string
- Resource schema.GroupVersionResource
- Subresource string
- }
- func (a ActionImpl) GetNamespace() string {
- return a.Namespace
- }
- func (a ActionImpl) GetVerb() string {
- return a.Verb
- }
- func (a ActionImpl) GetResource() schema.GroupVersionResource {
- return a.Resource
- }
- func (a ActionImpl) GetSubresource() string {
- return a.Subresource
- }
- func (a ActionImpl) Matches(verb, resource string) bool {
- // Stay backwards compatible.
- if !strings.Contains(resource, "/") {
- return strings.EqualFold(verb, a.Verb) &&
- strings.EqualFold(resource, a.Resource.Resource)
- }
- parts := strings.SplitN(resource, "/", 2)
- topresource, subresource := parts[0], parts[1]
- return strings.EqualFold(verb, a.Verb) &&
- strings.EqualFold(topresource, a.Resource.Resource) &&
- strings.EqualFold(subresource, a.Subresource)
- }
- func (a ActionImpl) DeepCopy() Action {
- ret := a
- return ret
- }
- type GenericActionImpl struct {
- ActionImpl
- Value interface{}
- }
- func (a GenericActionImpl) GetValue() interface{} {
- return a.Value
- }
- func (a GenericActionImpl) DeepCopy() Action {
- return GenericActionImpl{
- ActionImpl: a.ActionImpl.DeepCopy().(ActionImpl),
- // TODO this is wrong, but no worse than before
- Value: a.Value,
- }
- }
- type GetActionImpl struct {
- ActionImpl
- Name string
- GetOptions metav1.GetOptions
- }
- func (a GetActionImpl) GetName() string {
- return a.Name
- }
- func (a GetActionImpl) GetGetOptions() metav1.GetOptions {
- return a.GetOptions
- }
- func (a GetActionImpl) DeepCopy() Action {
- return GetActionImpl{
- ActionImpl: a.ActionImpl.DeepCopy().(ActionImpl),
- Name: a.Name,
- GetOptions: *a.GetOptions.DeepCopy(),
- }
- }
- type ListActionImpl struct {
- ActionImpl
- Kind schema.GroupVersionKind
- Name string
- ListRestrictions ListRestrictions
- ListOptions metav1.ListOptions
- }
- func (a ListActionImpl) GetKind() schema.GroupVersionKind {
- return a.Kind
- }
- func (a ListActionImpl) GetListRestrictions() ListRestrictions {
- return a.ListRestrictions
- }
- func (a ListActionImpl) GetListOptions() metav1.ListOptions {
- return a.ListOptions
- }
- func (a ListActionImpl) DeepCopy() Action {
- return ListActionImpl{
- ActionImpl: a.ActionImpl.DeepCopy().(ActionImpl),
- Kind: a.Kind,
- Name: a.Name,
- ListRestrictions: ListRestrictions{
- Labels: a.ListRestrictions.Labels.DeepCopySelector(),
- Fields: a.ListRestrictions.Fields.DeepCopySelector(),
- },
- ListOptions: *a.ListOptions.DeepCopy(),
- }
- }
- type CreateActionImpl struct {
- ActionImpl
- Name string
- Object runtime.Object
- CreateOptions metav1.CreateOptions
- }
- func (a CreateActionImpl) GetObject() runtime.Object {
- return a.Object
- }
- func (a CreateActionImpl) GetCreateOptions() metav1.CreateOptions {
- return a.CreateOptions
- }
- func (a CreateActionImpl) DeepCopy() Action {
- return CreateActionImpl{
- ActionImpl: a.ActionImpl.DeepCopy().(ActionImpl),
- Name: a.Name,
- Object: a.Object.DeepCopyObject(),
- CreateOptions: *a.CreateOptions.DeepCopy(),
- }
- }
- type UpdateActionImpl struct {
- ActionImpl
- Object runtime.Object
- UpdateOptions metav1.UpdateOptions
- }
- func (a UpdateActionImpl) GetObject() runtime.Object {
- return a.Object
- }
- func (a UpdateActionImpl) GetUpdateOptions() metav1.UpdateOptions {
- return a.UpdateOptions
- }
- func (a UpdateActionImpl) DeepCopy() Action {
- return UpdateActionImpl{
- ActionImpl: a.ActionImpl.DeepCopy().(ActionImpl),
- Object: a.Object.DeepCopyObject(),
- UpdateOptions: *a.UpdateOptions.DeepCopy(),
- }
- }
- type PatchActionImpl struct {
- ActionImpl
- Name string
- PatchType types.PatchType
- Patch []byte
- PatchOptions metav1.PatchOptions
- }
- func (a PatchActionImpl) GetName() string {
- return a.Name
- }
- func (a PatchActionImpl) GetPatch() []byte {
- return a.Patch
- }
- func (a PatchActionImpl) GetPatchType() types.PatchType {
- return a.PatchType
- }
- func (a PatchActionImpl) GetPatchOptions() metav1.PatchOptions {
- return a.PatchOptions
- }
- func (a PatchActionImpl) DeepCopy() Action {
- patch := make([]byte, len(a.Patch))
- copy(patch, a.Patch)
- return PatchActionImpl{
- ActionImpl: a.ActionImpl.DeepCopy().(ActionImpl),
- Name: a.Name,
- PatchType: a.PatchType,
- Patch: patch,
- PatchOptions: *a.PatchOptions.DeepCopy(),
- }
- }
- type DeleteActionImpl struct {
- ActionImpl
- Name string
- DeleteOptions metav1.DeleteOptions
- }
- func (a DeleteActionImpl) GetName() string {
- return a.Name
- }
- func (a DeleteActionImpl) GetDeleteOptions() metav1.DeleteOptions {
- return a.DeleteOptions
- }
- func (a DeleteActionImpl) DeepCopy() Action {
- return DeleteActionImpl{
- ActionImpl: a.ActionImpl.DeepCopy().(ActionImpl),
- Name: a.Name,
- DeleteOptions: *a.DeleteOptions.DeepCopy(),
- }
- }
- type DeleteCollectionActionImpl struct {
- ActionImpl
- ListRestrictions ListRestrictions
- DeleteOptions metav1.DeleteOptions
- ListOptions metav1.ListOptions
- }
- func (a DeleteCollectionActionImpl) GetListRestrictions() ListRestrictions {
- return a.ListRestrictions
- }
- func (a DeleteCollectionActionImpl) GetDeleteOptions() metav1.DeleteOptions {
- return a.DeleteOptions
- }
- func (a DeleteCollectionActionImpl) GetListOptions() metav1.ListOptions {
- return a.ListOptions
- }
- func (a DeleteCollectionActionImpl) DeepCopy() Action {
- return DeleteCollectionActionImpl{
- ActionImpl: a.ActionImpl.DeepCopy().(ActionImpl),
- ListRestrictions: ListRestrictions{
- Labels: a.ListRestrictions.Labels.DeepCopySelector(),
- Fields: a.ListRestrictions.Fields.DeepCopySelector(),
- },
- DeleteOptions: *a.DeleteOptions.DeepCopy(),
- ListOptions: *a.ListOptions.DeepCopy(),
- }
- }
- type WatchActionImpl struct {
- ActionImpl
- WatchRestrictions WatchRestrictions
- ListOptions metav1.ListOptions
- }
- func (a WatchActionImpl) GetWatchRestrictions() WatchRestrictions {
- return a.WatchRestrictions
- }
- func (a WatchActionImpl) GetListOptions() metav1.ListOptions {
- return a.ListOptions
- }
- func (a WatchActionImpl) DeepCopy() Action {
- return WatchActionImpl{
- ActionImpl: a.ActionImpl.DeepCopy().(ActionImpl),
- WatchRestrictions: WatchRestrictions{
- Labels: a.WatchRestrictions.Labels.DeepCopySelector(),
- Fields: a.WatchRestrictions.Fields.DeepCopySelector(),
- ResourceVersion: a.WatchRestrictions.ResourceVersion,
- },
- ListOptions: *a.ListOptions.DeepCopy(),
- }
- }
- type ProxyGetActionImpl struct {
- ActionImpl
- Scheme string
- Name string
- Port string
- Path string
- Params map[string]string
- }
- func (a ProxyGetActionImpl) GetScheme() string {
- return a.Scheme
- }
- func (a ProxyGetActionImpl) GetName() string {
- return a.Name
- }
- func (a ProxyGetActionImpl) GetPort() string {
- return a.Port
- }
- func (a ProxyGetActionImpl) GetPath() string {
- return a.Path
- }
- func (a ProxyGetActionImpl) GetParams() map[string]string {
- return a.Params
- }
- func (a ProxyGetActionImpl) DeepCopy() Action {
- params := map[string]string{}
- for k, v := range a.Params {
- params[k] = v
- }
- return ProxyGetActionImpl{
- ActionImpl: a.ActionImpl.DeepCopy().(ActionImpl),
- Scheme: a.Scheme,
- Name: a.Name,
- Port: a.Port,
- Path: a.Path,
- Params: params,
- }
- }
|