k8s.io/apiserver@v0.31.1/pkg/endpoints/testing/types.go (about) 1 /* 2 Copyright 2015 The Kubernetes Authors. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 package testing 18 19 import ( 20 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 21 ) 22 23 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 24 25 type Simple struct { 26 metav1.TypeMeta `json:",inline"` 27 metav1.ObjectMeta `json:"metadata"` 28 // +optional 29 Other string `json:"other,omitempty"` 30 // +optional 31 Labels map[string]string `json:"labels,omitempty"` 32 } 33 34 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 35 36 type SimpleRoot struct { 37 metav1.TypeMeta `json:",inline"` 38 metav1.ObjectMeta `json:"metadata"` 39 // +optional 40 Other string `json:"other,omitempty"` 41 // +optional 42 Labels map[string]string `json:"labels,omitempty"` 43 } 44 45 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 46 47 type SimpleGetOptions struct { 48 metav1.TypeMeta `json:",inline"` 49 Param1 string `json:"param1"` 50 Param2 string `json:"param2"` 51 Path string `json:"atAPath"` 52 } 53 54 func (SimpleGetOptions) SwaggerDoc() map[string]string { 55 return map[string]string{ 56 "param1": "description for param1", 57 "param2": "description for param2", 58 } 59 } 60 61 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 62 63 type SimpleList struct { 64 metav1.TypeMeta `json:",inline"` 65 metav1.ListMeta `json:"metadata,inline"` 66 // +optional 67 Items []Simple `json:"items,omitempty"` 68 } 69 70 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 71 72 // SimpleXGSubresource is a cross group subresource, i.e. the subresource does not belong to the 73 // same group as its parent resource. 74 type SimpleXGSubresource struct { 75 metav1.TypeMeta `json:",inline"` 76 metav1.ObjectMeta `json:"metadata"` 77 SubresourceInfo string `json:"subresourceInfo,omitempty"` 78 Labels map[string]string `json:"labels,omitempty"` 79 }