| /* |
| Copyright 2017 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 apiserver |
| |
| import ( |
| metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" |
| "k8s.io/apimachinery/pkg/runtime" |
| ) |
| |
| // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object |
| |
| // AdmissionConfiguration provides versioned configuration for admission controllers. |
| type AdmissionConfiguration struct { |
| metav1.TypeMeta |
| |
| // Plugins allows specifying a configuration per admission control plugin. |
| // +optional |
| Plugins []AdmissionPluginConfiguration |
| } |
| |
| // AdmissionPluginConfiguration provides the configuration for a single plug-in. |
| type AdmissionPluginConfiguration struct { |
| // Name is the name of the admission controller. |
| // It must match the registered admission plugin name. |
| Name string |
| |
| // Path is the path to a configuration file that contains the plugin's |
| // configuration |
| // +optional |
| Path string |
| |
| // Configuration is an embedded configuration object to be used as the plugin's |
| // configuration. If present, it will be used instead of the path to the configuration file. |
| // +optional |
| Configuration *runtime.Unknown |
| } |