summaryrefslogtreecommitdiff
path: root/vendor/k8s.io/client-go/kubernetes/typed/core/v1/event_expansion.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/k8s.io/client-go/kubernetes/typed/core/v1/event_expansion.go')
-rw-r--r--vendor/k8s.io/client-go/kubernetes/typed/core/v1/event_expansion.go164
1 files changed, 0 insertions, 164 deletions
diff --git a/vendor/k8s.io/client-go/kubernetes/typed/core/v1/event_expansion.go b/vendor/k8s.io/client-go/kubernetes/typed/core/v1/event_expansion.go
deleted file mode 100644
index 6929ade1d..000000000
--- a/vendor/k8s.io/client-go/kubernetes/typed/core/v1/event_expansion.go
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
-Copyright 2016 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 v1
-
-import (
- "fmt"
-
- "k8s.io/api/core/v1"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "k8s.io/apimachinery/pkg/fields"
- "k8s.io/apimachinery/pkg/runtime"
- "k8s.io/apimachinery/pkg/types"
- ref "k8s.io/client-go/tools/reference"
-)
-
-// The EventExpansion interface allows manually adding extra methods to the EventInterface.
-type EventExpansion interface {
- // CreateWithEventNamespace is the same as a Create, except that it sends the request to the event.Namespace.
- CreateWithEventNamespace(event *v1.Event) (*v1.Event, error)
- // UpdateWithEventNamespace is the same as a Update, except that it sends the request to the event.Namespace.
- UpdateWithEventNamespace(event *v1.Event) (*v1.Event, error)
- PatchWithEventNamespace(event *v1.Event, data []byte) (*v1.Event, error)
- // Search finds events about the specified object
- Search(scheme *runtime.Scheme, objOrRef runtime.Object) (*v1.EventList, error)
- // Returns the appropriate field selector based on the API version being used to communicate with the server.
- // The returned field selector can be used with List and Watch to filter desired events.
- GetFieldSelector(involvedObjectName, involvedObjectNamespace, involvedObjectKind, involvedObjectUID *string) fields.Selector
-}
-
-// CreateWithEventNamespace makes a new event. Returns the copy of the event the server returns,
-// or an error. The namespace to create the event within is deduced from the
-// event; it must either match this event client's namespace, or this event
-// client must have been created with the "" namespace.
-func (e *events) CreateWithEventNamespace(event *v1.Event) (*v1.Event, error) {
- if e.ns != "" && event.Namespace != e.ns {
- return nil, fmt.Errorf("can't create an event with namespace '%v' in namespace '%v'", event.Namespace, e.ns)
- }
- result := &v1.Event{}
- err := e.client.Post().
- NamespaceIfScoped(event.Namespace, len(event.Namespace) > 0).
- Resource("events").
- Body(event).
- Do().
- Into(result)
- return result, err
-}
-
-// UpdateWithEventNamespace modifies an existing event. It returns the copy of the event that the server returns,
-// or an error. The namespace and key to update the event within is deduced from the event. The
-// namespace must either match this event client's namespace, or this event client must have been
-// created with the "" namespace. Update also requires the ResourceVersion to be set in the event
-// object.
-func (e *events) UpdateWithEventNamespace(event *v1.Event) (*v1.Event, error) {
- result := &v1.Event{}
- err := e.client.Put().
- NamespaceIfScoped(event.Namespace, len(event.Namespace) > 0).
- Resource("events").
- Name(event.Name).
- Body(event).
- Do().
- Into(result)
- return result, err
-}
-
-// PatchWithEventNamespace modifies an existing event. It returns the copy of
-// the event that the server returns, or an error. The namespace and name of the
-// target event is deduced from the incompleteEvent. The namespace must either
-// match this event client's namespace, or this event client must have been
-// created with the "" namespace.
-func (e *events) PatchWithEventNamespace(incompleteEvent *v1.Event, data []byte) (*v1.Event, error) {
- if e.ns != "" && incompleteEvent.Namespace != e.ns {
- return nil, fmt.Errorf("can't patch an event with namespace '%v' in namespace '%v'", incompleteEvent.Namespace, e.ns)
- }
- result := &v1.Event{}
- err := e.client.Patch(types.StrategicMergePatchType).
- NamespaceIfScoped(incompleteEvent.Namespace, len(incompleteEvent.Namespace) > 0).
- Resource("events").
- Name(incompleteEvent.Name).
- Body(data).
- Do().
- Into(result)
- return result, err
-}
-
-// Search finds events about the specified object. The namespace of the
-// object must match this event's client namespace unless the event client
-// was made with the "" namespace.
-func (e *events) Search(scheme *runtime.Scheme, objOrRef runtime.Object) (*v1.EventList, error) {
- ref, err := ref.GetReference(scheme, objOrRef)
- if err != nil {
- return nil, err
- }
- if e.ns != "" && ref.Namespace != e.ns {
- return nil, fmt.Errorf("won't be able to find any events of namespace '%v' in namespace '%v'", ref.Namespace, e.ns)
- }
- stringRefKind := string(ref.Kind)
- var refKind *string
- if stringRefKind != "" {
- refKind = &stringRefKind
- }
- stringRefUID := string(ref.UID)
- var refUID *string
- if stringRefUID != "" {
- refUID = &stringRefUID
- }
- fieldSelector := e.GetFieldSelector(&ref.Name, &ref.Namespace, refKind, refUID)
- return e.List(metav1.ListOptions{FieldSelector: fieldSelector.String()})
-}
-
-// Returns the appropriate field selector based on the API version being used to communicate with the server.
-// The returned field selector can be used with List and Watch to filter desired events.
-func (e *events) GetFieldSelector(involvedObjectName, involvedObjectNamespace, involvedObjectKind, involvedObjectUID *string) fields.Selector {
- apiVersion := e.client.APIVersion().String()
- field := fields.Set{}
- if involvedObjectName != nil {
- field[GetInvolvedObjectNameFieldLabel(apiVersion)] = *involvedObjectName
- }
- if involvedObjectNamespace != nil {
- field["involvedObject.namespace"] = *involvedObjectNamespace
- }
- if involvedObjectKind != nil {
- field["involvedObject.kind"] = *involvedObjectKind
- }
- if involvedObjectUID != nil {
- field["involvedObject.uid"] = *involvedObjectUID
- }
- return field.AsSelector()
-}
-
-// Returns the appropriate field label to use for name of the involved object as per the given API version.
-func GetInvolvedObjectNameFieldLabel(version string) string {
- return "involvedObject.name"
-}
-
-// TODO: This is a temporary arrangement and will be removed once all clients are moved to use the clientset.
-type EventSinkImpl struct {
- Interface EventInterface
-}
-
-func (e *EventSinkImpl) Create(event *v1.Event) (*v1.Event, error) {
- return e.Interface.CreateWithEventNamespace(event)
-}
-
-func (e *EventSinkImpl) Update(event *v1.Event) (*v1.Event, error) {
- return e.Interface.UpdateWithEventNamespace(event)
-}
-
-func (e *EventSinkImpl) Patch(event *v1.Event, data []byte) (*v1.Event, error) {
- return e.Interface.PatchWithEventNamespace(event, data)
-}