1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*
- 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 unversioned
- // ListMetaAccessor retrieves the list interface from an object
- // TODO: move this, and TypeMeta and ListMeta, to a different package
- type ListMetaAccessor interface {
- GetListMeta() List
- }
- // List lets you work with list metadata from any of the versioned or
- // internal API objects. Attempting to set or retrieve a field on an object that does
- // not support that field will be a no-op and return a default value.
- // TODO: move this, and TypeMeta and ListMeta, to a different package
- type List interface {
- GetResourceVersion() string
- SetResourceVersion(version string)
- GetSelfLink() string
- SetSelfLink(selfLink string)
- }
- // Type exposes the type and APIVersion of versioned or internal API objects.
- // TODO: move this, and TypeMeta and ListMeta, to a different package
- type Type interface {
- GetAPIVersion() string
- SetAPIVersion(version string)
- GetKind() string
- SetKind(kind string)
- }
- func (meta *ListMeta) GetResourceVersion() string { return meta.ResourceVersion }
- func (meta *ListMeta) SetResourceVersion(version string) { meta.ResourceVersion = version }
- func (meta *ListMeta) GetSelfLink() string { return meta.SelfLink }
- func (meta *ListMeta) SetSelfLink(selfLink string) { meta.SelfLink = selfLink }
- func (obj *TypeMeta) GetObjectKind() ObjectKind { return obj }
- // SetGroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta
- func (obj *TypeMeta) SetGroupVersionKind(gvk GroupVersionKind) {
- obj.APIVersion, obj.Kind = gvk.ToAPIVersionAndKind()
- }
- // GroupVersionKind satisfies the ObjectKind interface for all objects that embed TypeMeta
- func (obj *TypeMeta) GroupVersionKind() GroupVersionKind {
- return FromAPIVersionAndKind(obj.APIVersion, obj.Kind)
- }
- func (obj *ListMeta) GetListMeta() List { return obj }
|