istio.io/istio@v0.0.0-20240520182934-d79c90f27776/pkg/config/schema/gvk/resources.gen.go (about)

     1  // Code generated by pkg/config/schema/codegen/tools/collections.main.go. DO NOT EDIT.
     2  
     3  package gvk
     4  
     5  import (
     6  	"k8s.io/apimachinery/pkg/runtime/schema"
     7  
     8  	"istio.io/istio/pkg/config"
     9  	"istio.io/istio/pkg/config/schema/gvr"
    10  )
    11  
    12  var (
    13  	AuthorizationPolicy            = config.GroupVersionKind{Group: "security.istio.io", Version: "v1beta1", Kind: "AuthorizationPolicy"}
    14  	AuthorizationPolicy_v1         = config.GroupVersionKind{Group: "security.istio.io", Version: "v1", Kind: "AuthorizationPolicy"}
    15  	CertificateSigningRequest      = config.GroupVersionKind{Group: "certificates.k8s.io", Version: "v1", Kind: "CertificateSigningRequest"}
    16  	ConfigMap                      = config.GroupVersionKind{Group: "", Version: "v1", Kind: "ConfigMap"}
    17  	CustomResourceDefinition       = config.GroupVersionKind{Group: "apiextensions.k8s.io", Version: "v1", Kind: "CustomResourceDefinition"}
    18  	DaemonSet                      = config.GroupVersionKind{Group: "apps", Version: "v1", Kind: "DaemonSet"}
    19  	Deployment                     = config.GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}
    20  	DestinationRule                = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1alpha3", Kind: "DestinationRule"}
    21  	DestinationRule_v1beta1        = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1beta1", Kind: "DestinationRule"}
    22  	DestinationRule_v1             = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1", Kind: "DestinationRule"}
    23  	EndpointSlice                  = config.GroupVersionKind{Group: "", Version: "v1", Kind: "EndpointSlice"}
    24  	Endpoints                      = config.GroupVersionKind{Group: "", Version: "v1", Kind: "Endpoints"}
    25  	EnvoyFilter                    = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1alpha3", Kind: "EnvoyFilter"}
    26  	GRPCRoute                      = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1", Kind: "GRPCRoute"}
    27  	GRPCRoute_v1alpha2             = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1alpha2", Kind: "GRPCRoute"}
    28  	Gateway                        = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1alpha3", Kind: "Gateway"}
    29  	Gateway_v1beta1                = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1beta1", Kind: "Gateway"}
    30  	Gateway_v1                     = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1", Kind: "Gateway"}
    31  	GatewayClass                   = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1beta1", Kind: "GatewayClass"}
    32  	GatewayClass_v1alpha2          = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1alpha2", Kind: "GatewayClass"}
    33  	GatewayClass_v1                = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1", Kind: "GatewayClass"}
    34  	HTTPRoute                      = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1beta1", Kind: "HTTPRoute"}
    35  	HTTPRoute_v1alpha2             = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1alpha2", Kind: "HTTPRoute"}
    36  	HTTPRoute_v1                   = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1", Kind: "HTTPRoute"}
    37  	Ingress                        = config.GroupVersionKind{Group: "networking.k8s.io", Version: "v1", Kind: "Ingress"}
    38  	IngressClass                   = config.GroupVersionKind{Group: "networking.k8s.io", Version: "v1", Kind: "IngressClass"}
    39  	KubernetesGateway              = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1beta1", Kind: "Gateway"}
    40  	KubernetesGateway_v1alpha2     = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1alpha2", Kind: "Gateway"}
    41  	KubernetesGateway_v1           = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1", Kind: "Gateway"}
    42  	Lease                          = config.GroupVersionKind{Group: "coordination.k8s.io", Version: "v1", Kind: "Lease"}
    43  	MeshConfig                     = config.GroupVersionKind{Group: "", Version: "v1alpha1", Kind: "MeshConfig"}
    44  	MeshNetworks                   = config.GroupVersionKind{Group: "", Version: "v1alpha1", Kind: "MeshNetworks"}
    45  	MutatingWebhookConfiguration   = config.GroupVersionKind{Group: "admissionregistration.k8s.io", Version: "v1", Kind: "MutatingWebhookConfiguration"}
    46  	Namespace                      = config.GroupVersionKind{Group: "", Version: "v1", Kind: "Namespace"}
    47  	Node                           = config.GroupVersionKind{Group: "", Version: "v1", Kind: "Node"}
    48  	PeerAuthentication             = config.GroupVersionKind{Group: "security.istio.io", Version: "v1beta1", Kind: "PeerAuthentication"}
    49  	PeerAuthentication_v1          = config.GroupVersionKind{Group: "security.istio.io", Version: "v1", Kind: "PeerAuthentication"}
    50  	Pod                            = config.GroupVersionKind{Group: "", Version: "v1", Kind: "Pod"}
    51  	ProxyConfig                    = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1beta1", Kind: "ProxyConfig"}
    52  	ReferenceGrant                 = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1beta1", Kind: "ReferenceGrant"}
    53  	ReferenceGrant_v1alpha2        = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1alpha2", Kind: "ReferenceGrant"}
    54  	RequestAuthentication          = config.GroupVersionKind{Group: "security.istio.io", Version: "v1beta1", Kind: "RequestAuthentication"}
    55  	RequestAuthentication_v1       = config.GroupVersionKind{Group: "security.istio.io", Version: "v1", Kind: "RequestAuthentication"}
    56  	Secret                         = config.GroupVersionKind{Group: "", Version: "v1", Kind: "Secret"}
    57  	Service                        = config.GroupVersionKind{Group: "", Version: "v1", Kind: "Service"}
    58  	ServiceAccount                 = config.GroupVersionKind{Group: "", Version: "v1", Kind: "ServiceAccount"}
    59  	ServiceEntry                   = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1alpha3", Kind: "ServiceEntry"}
    60  	ServiceEntry_v1beta1           = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1beta1", Kind: "ServiceEntry"}
    61  	ServiceEntry_v1                = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1", Kind: "ServiceEntry"}
    62  	Sidecar                        = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1alpha3", Kind: "Sidecar"}
    63  	Sidecar_v1beta1                = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1beta1", Kind: "Sidecar"}
    64  	Sidecar_v1                     = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1", Kind: "Sidecar"}
    65  	StatefulSet                    = config.GroupVersionKind{Group: "apps", Version: "v1", Kind: "StatefulSet"}
    66  	TCPRoute                       = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1alpha2", Kind: "TCPRoute"}
    67  	TLSRoute                       = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1alpha2", Kind: "TLSRoute"}
    68  	Telemetry                      = config.GroupVersionKind{Group: "telemetry.istio.io", Version: "v1alpha1", Kind: "Telemetry"}
    69  	Telemetry_v1                   = config.GroupVersionKind{Group: "telemetry.istio.io", Version: "v1", Kind: "Telemetry"}
    70  	UDPRoute                       = config.GroupVersionKind{Group: "gateway.networking.k8s.io", Version: "v1alpha2", Kind: "UDPRoute"}
    71  	ValidatingWebhookConfiguration = config.GroupVersionKind{Group: "admissionregistration.k8s.io", Version: "v1", Kind: "ValidatingWebhookConfiguration"}
    72  	VirtualService                 = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1alpha3", Kind: "VirtualService"}
    73  	VirtualService_v1beta1         = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1beta1", Kind: "VirtualService"}
    74  	VirtualService_v1              = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1", Kind: "VirtualService"}
    75  	WasmPlugin                     = config.GroupVersionKind{Group: "extensions.istio.io", Version: "v1alpha1", Kind: "WasmPlugin"}
    76  	WorkloadEntry                  = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1alpha3", Kind: "WorkloadEntry"}
    77  	WorkloadEntry_v1beta1          = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1beta1", Kind: "WorkloadEntry"}
    78  	WorkloadEntry_v1               = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1", Kind: "WorkloadEntry"}
    79  	WorkloadGroup                  = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1alpha3", Kind: "WorkloadGroup"}
    80  	WorkloadGroup_v1beta1          = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1beta1", Kind: "WorkloadGroup"}
    81  	WorkloadGroup_v1               = config.GroupVersionKind{Group: "networking.istio.io", Version: "v1", Kind: "WorkloadGroup"}
    82  )
    83  
    84  // ToGVR converts a GVK to a GVR.
    85  func ToGVR(g config.GroupVersionKind) (schema.GroupVersionResource, bool) {
    86  	switch g {
    87  	case AuthorizationPolicy:
    88  		return gvr.AuthorizationPolicy, true
    89  	case AuthorizationPolicy_v1:
    90  		return gvr.AuthorizationPolicy_v1, true
    91  	case CertificateSigningRequest:
    92  		return gvr.CertificateSigningRequest, true
    93  	case ConfigMap:
    94  		return gvr.ConfigMap, true
    95  	case CustomResourceDefinition:
    96  		return gvr.CustomResourceDefinition, true
    97  	case DaemonSet:
    98  		return gvr.DaemonSet, true
    99  	case Deployment:
   100  		return gvr.Deployment, true
   101  	case DestinationRule:
   102  		return gvr.DestinationRule, true
   103  	case DestinationRule_v1beta1:
   104  		return gvr.DestinationRule_v1beta1, true
   105  	case DestinationRule_v1:
   106  		return gvr.DestinationRule_v1, true
   107  	case EndpointSlice:
   108  		return gvr.EndpointSlice, true
   109  	case Endpoints:
   110  		return gvr.Endpoints, true
   111  	case EnvoyFilter:
   112  		return gvr.EnvoyFilter, true
   113  	case GRPCRoute:
   114  		return gvr.GRPCRoute, true
   115  	case GRPCRoute_v1alpha2:
   116  		return gvr.GRPCRoute_v1alpha2, true
   117  	case Gateway:
   118  		return gvr.Gateway, true
   119  	case Gateway_v1beta1:
   120  		return gvr.Gateway_v1beta1, true
   121  	case Gateway_v1:
   122  		return gvr.Gateway_v1, true
   123  	case GatewayClass:
   124  		return gvr.GatewayClass, true
   125  	case GatewayClass_v1alpha2:
   126  		return gvr.GatewayClass_v1alpha2, true
   127  	case GatewayClass_v1:
   128  		return gvr.GatewayClass_v1, true
   129  	case HTTPRoute:
   130  		return gvr.HTTPRoute, true
   131  	case HTTPRoute_v1alpha2:
   132  		return gvr.HTTPRoute_v1alpha2, true
   133  	case HTTPRoute_v1:
   134  		return gvr.HTTPRoute_v1, true
   135  	case Ingress:
   136  		return gvr.Ingress, true
   137  	case IngressClass:
   138  		return gvr.IngressClass, true
   139  	case KubernetesGateway:
   140  		return gvr.KubernetesGateway, true
   141  	case KubernetesGateway_v1alpha2:
   142  		return gvr.KubernetesGateway_v1alpha2, true
   143  	case KubernetesGateway_v1:
   144  		return gvr.KubernetesGateway_v1, true
   145  	case Lease:
   146  		return gvr.Lease, true
   147  	case MeshConfig:
   148  		return gvr.MeshConfig, true
   149  	case MeshNetworks:
   150  		return gvr.MeshNetworks, true
   151  	case MutatingWebhookConfiguration:
   152  		return gvr.MutatingWebhookConfiguration, true
   153  	case Namespace:
   154  		return gvr.Namespace, true
   155  	case Node:
   156  		return gvr.Node, true
   157  	case PeerAuthentication:
   158  		return gvr.PeerAuthentication, true
   159  	case PeerAuthentication_v1:
   160  		return gvr.PeerAuthentication_v1, true
   161  	case Pod:
   162  		return gvr.Pod, true
   163  	case ProxyConfig:
   164  		return gvr.ProxyConfig, true
   165  	case ReferenceGrant:
   166  		return gvr.ReferenceGrant, true
   167  	case ReferenceGrant_v1alpha2:
   168  		return gvr.ReferenceGrant_v1alpha2, true
   169  	case RequestAuthentication:
   170  		return gvr.RequestAuthentication, true
   171  	case RequestAuthentication_v1:
   172  		return gvr.RequestAuthentication_v1, true
   173  	case Secret:
   174  		return gvr.Secret, true
   175  	case Service:
   176  		return gvr.Service, true
   177  	case ServiceAccount:
   178  		return gvr.ServiceAccount, true
   179  	case ServiceEntry:
   180  		return gvr.ServiceEntry, true
   181  	case ServiceEntry_v1beta1:
   182  		return gvr.ServiceEntry_v1beta1, true
   183  	case ServiceEntry_v1:
   184  		return gvr.ServiceEntry_v1, true
   185  	case Sidecar:
   186  		return gvr.Sidecar, true
   187  	case Sidecar_v1beta1:
   188  		return gvr.Sidecar_v1beta1, true
   189  	case Sidecar_v1:
   190  		return gvr.Sidecar_v1, true
   191  	case StatefulSet:
   192  		return gvr.StatefulSet, true
   193  	case TCPRoute:
   194  		return gvr.TCPRoute, true
   195  	case TLSRoute:
   196  		return gvr.TLSRoute, true
   197  	case Telemetry:
   198  		return gvr.Telemetry, true
   199  	case Telemetry_v1:
   200  		return gvr.Telemetry_v1, true
   201  	case UDPRoute:
   202  		return gvr.UDPRoute, true
   203  	case ValidatingWebhookConfiguration:
   204  		return gvr.ValidatingWebhookConfiguration, true
   205  	case VirtualService:
   206  		return gvr.VirtualService, true
   207  	case VirtualService_v1beta1:
   208  		return gvr.VirtualService_v1beta1, true
   209  	case VirtualService_v1:
   210  		return gvr.VirtualService_v1, true
   211  	case WasmPlugin:
   212  		return gvr.WasmPlugin, true
   213  	case WorkloadEntry:
   214  		return gvr.WorkloadEntry, true
   215  	case WorkloadEntry_v1beta1:
   216  		return gvr.WorkloadEntry_v1beta1, true
   217  	case WorkloadEntry_v1:
   218  		return gvr.WorkloadEntry_v1, true
   219  	case WorkloadGroup:
   220  		return gvr.WorkloadGroup, true
   221  	case WorkloadGroup_v1beta1:
   222  		return gvr.WorkloadGroup_v1beta1, true
   223  	case WorkloadGroup_v1:
   224  		return gvr.WorkloadGroup_v1, true
   225  	}
   226  
   227  	return schema.GroupVersionResource{}, false
   228  }
   229  
   230  // MustToGVR converts a GVK to a GVR, and panics if it cannot be converted
   231  // Warning: this is only safe for known types; do not call on arbitrary GVKs
   232  func MustToGVR(g config.GroupVersionKind) schema.GroupVersionResource {
   233  	r, ok := ToGVR(g)
   234  	if !ok {
   235  		panic("unknown kind: " + g.String())
   236  	}
   237  	return r
   238  }
   239  
   240  // FromGVR converts a GVR to a GVK.
   241  func FromGVR(g schema.GroupVersionResource) (config.GroupVersionKind, bool) {
   242  	switch g {
   243  	case gvr.AuthorizationPolicy:
   244  		return AuthorizationPolicy, true
   245  	case gvr.CertificateSigningRequest:
   246  		return CertificateSigningRequest, true
   247  	case gvr.ConfigMap:
   248  		return ConfigMap, true
   249  	case gvr.CustomResourceDefinition:
   250  		return CustomResourceDefinition, true
   251  	case gvr.DaemonSet:
   252  		return DaemonSet, true
   253  	case gvr.Deployment:
   254  		return Deployment, true
   255  	case gvr.DestinationRule:
   256  		return DestinationRule, true
   257  	case gvr.EndpointSlice:
   258  		return EndpointSlice, true
   259  	case gvr.Endpoints:
   260  		return Endpoints, true
   261  	case gvr.EnvoyFilter:
   262  		return EnvoyFilter, true
   263  	case gvr.GRPCRoute:
   264  		return GRPCRoute, true
   265  	case gvr.Gateway:
   266  		return Gateway, true
   267  	case gvr.GatewayClass:
   268  		return GatewayClass, true
   269  	case gvr.HTTPRoute:
   270  		return HTTPRoute, true
   271  	case gvr.Ingress:
   272  		return Ingress, true
   273  	case gvr.IngressClass:
   274  		return IngressClass, true
   275  	case gvr.KubernetesGateway:
   276  		return KubernetesGateway, true
   277  	case gvr.Lease:
   278  		return Lease, true
   279  	case gvr.MeshConfig:
   280  		return MeshConfig, true
   281  	case gvr.MeshNetworks:
   282  		return MeshNetworks, true
   283  	case gvr.MutatingWebhookConfiguration:
   284  		return MutatingWebhookConfiguration, true
   285  	case gvr.Namespace:
   286  		return Namespace, true
   287  	case gvr.Node:
   288  		return Node, true
   289  	case gvr.PeerAuthentication:
   290  		return PeerAuthentication, true
   291  	case gvr.Pod:
   292  		return Pod, true
   293  	case gvr.ProxyConfig:
   294  		return ProxyConfig, true
   295  	case gvr.ReferenceGrant:
   296  		return ReferenceGrant, true
   297  	case gvr.RequestAuthentication:
   298  		return RequestAuthentication, true
   299  	case gvr.Secret:
   300  		return Secret, true
   301  	case gvr.Service:
   302  		return Service, true
   303  	case gvr.ServiceAccount:
   304  		return ServiceAccount, true
   305  	case gvr.ServiceEntry:
   306  		return ServiceEntry, true
   307  	case gvr.Sidecar:
   308  		return Sidecar, true
   309  	case gvr.StatefulSet:
   310  		return StatefulSet, true
   311  	case gvr.TCPRoute:
   312  		return TCPRoute, true
   313  	case gvr.TLSRoute:
   314  		return TLSRoute, true
   315  	case gvr.Telemetry:
   316  		return Telemetry, true
   317  	case gvr.UDPRoute:
   318  		return UDPRoute, true
   319  	case gvr.ValidatingWebhookConfiguration:
   320  		return ValidatingWebhookConfiguration, true
   321  	case gvr.VirtualService:
   322  		return VirtualService, true
   323  	case gvr.WasmPlugin:
   324  		return WasmPlugin, true
   325  	case gvr.WorkloadEntry:
   326  		return WorkloadEntry, true
   327  	case gvr.WorkloadGroup:
   328  		return WorkloadGroup, true
   329  	}
   330  
   331  	return config.GroupVersionKind{}, false
   332  }
   333  
   334  // FromGVR converts a GVR to a GVK, and panics if it cannot be converted
   335  // Warning: this is only safe for known types; do not call on arbitrary GVRs
   336  func MustFromGVR(g schema.GroupVersionResource) config.GroupVersionKind {
   337  	r, ok := FromGVR(g)
   338  	if !ok {
   339  		panic("unknown kind: " + g.String())
   340  	}
   341  	return r
   342  }