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

     1  //go:build !agent
     2  // +build !agent
     3  
     4  // Code generated by pkg/config/schema/codegen/tools/collections.main.go. DO NOT EDIT.
     5  
     6  package collections
     7  
     8  import (
     9  	"reflect"
    10  
    11  	k8sioapiadmissionregistrationv1 "k8s.io/api/admissionregistration/v1"
    12  	k8sioapiappsv1 "k8s.io/api/apps/v1"
    13  	k8sioapicertificatesv1 "k8s.io/api/certificates/v1"
    14  	k8sioapicoordinationv1 "k8s.io/api/coordination/v1"
    15  	k8sioapicorev1 "k8s.io/api/core/v1"
    16  	k8sioapidiscoveryv1 "k8s.io/api/discovery/v1"
    17  	k8sioapinetworkingv1 "k8s.io/api/networking/v1"
    18  	k8sioapiextensionsapiserverpkgapisapiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
    19  	sigsk8siogatewayapiapisv1 "sigs.k8s.io/gateway-api/apis/v1"
    20  	sigsk8siogatewayapiapisv1alpha2 "sigs.k8s.io/gateway-api/apis/v1alpha2"
    21  	sigsk8siogatewayapiapisv1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1"
    22  
    23  	istioioapiextensionsv1alpha1 "istio.io/api/extensions/v1alpha1"
    24  	istioioapimeshv1alpha1 "istio.io/api/mesh/v1alpha1"
    25  	istioioapimetav1alpha1 "istio.io/api/meta/v1alpha1"
    26  	istioioapinetworkingv1alpha3 "istio.io/api/networking/v1alpha3"
    27  	istioioapinetworkingv1beta1 "istio.io/api/networking/v1beta1"
    28  	istioioapisecurityv1beta1 "istio.io/api/security/v1beta1"
    29  	istioioapitelemetryv1alpha1 "istio.io/api/telemetry/v1alpha1"
    30  	"istio.io/istio/pkg/config/schema/collection"
    31  	"istio.io/istio/pkg/config/schema/resource"
    32  	"istio.io/istio/pkg/config/validation"
    33  	"istio.io/istio/pkg/config/validation/envoyfilter"
    34  )
    35  
    36  var (
    37  	AuthorizationPolicy = resource.Builder{
    38  		Identifier: "AuthorizationPolicy",
    39  		Group:      "security.istio.io",
    40  		Kind:       "AuthorizationPolicy",
    41  		Plural:     "authorizationpolicies",
    42  		Version:    "v1beta1",
    43  		VersionAliases: []string{
    44  			"v1",
    45  		},
    46  		Proto: "istio.security.v1beta1.AuthorizationPolicy", StatusProto: "istio.meta.v1alpha1.IstioStatus",
    47  		ReflectType: reflect.TypeOf(&istioioapisecurityv1beta1.AuthorizationPolicy{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
    48  		ProtoPackage: "istio.io/api/security/v1beta1", StatusPackage: "istio.io/api/meta/v1alpha1",
    49  		ClusterScoped: false,
    50  		Synthetic:     false,
    51  		Builtin:       false,
    52  		ValidateProto: validation.ValidateAuthorizationPolicy,
    53  	}.MustBuild()
    54  
    55  	CertificateSigningRequest = resource.Builder{
    56  		Identifier: "CertificateSigningRequest",
    57  		Group:      "certificates.k8s.io",
    58  		Kind:       "CertificateSigningRequest",
    59  		Plural:     "certificatesigningrequests",
    60  		Version:    "v1",
    61  		Proto:      "k8s.io.api.certificates.v1.CertificateSigningRequestSpec", StatusProto: "k8s.io.api.certificates.v1.CertificateSigningRequestStatus",
    62  		ReflectType: reflect.TypeOf(&k8sioapicertificatesv1.CertificateSigningRequestSpec{}).Elem(), StatusType: reflect.TypeOf(&k8sioapicertificatesv1.CertificateSigningRequestStatus{}).Elem(),
    63  		ProtoPackage: "k8s.io/api/certificates/v1", StatusPackage: "k8s.io/api/certificates/v1",
    64  		ClusterScoped: true,
    65  		Synthetic:     false,
    66  		Builtin:       true,
    67  		ValidateProto: validation.EmptyValidate,
    68  	}.MustBuild()
    69  
    70  	ConfigMap = resource.Builder{
    71  		Identifier:    "ConfigMap",
    72  		Group:         "",
    73  		Kind:          "ConfigMap",
    74  		Plural:        "configmaps",
    75  		Version:       "v1",
    76  		Proto:         "k8s.io.api.core.v1.ConfigMap",
    77  		ReflectType:   reflect.TypeOf(&k8sioapicorev1.ConfigMap{}).Elem(),
    78  		ProtoPackage:  "k8s.io/api/core/v1",
    79  		ClusterScoped: false,
    80  		Synthetic:     false,
    81  		Builtin:       true,
    82  		ValidateProto: validation.EmptyValidate,
    83  	}.MustBuild()
    84  
    85  	CustomResourceDefinition = resource.Builder{
    86  		Identifier:    "CustomResourceDefinition",
    87  		Group:         "apiextensions.k8s.io",
    88  		Kind:          "CustomResourceDefinition",
    89  		Plural:        "customresourcedefinitions",
    90  		Version:       "v1",
    91  		Proto:         "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1.CustomResourceDefinition",
    92  		ReflectType:   reflect.TypeOf(&k8sioapiextensionsapiserverpkgapisapiextensionsv1.CustomResourceDefinition{}).Elem(),
    93  		ProtoPackage:  "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1",
    94  		ClusterScoped: true,
    95  		Synthetic:     false,
    96  		Builtin:       true,
    97  		ValidateProto: validation.EmptyValidate,
    98  	}.MustBuild()
    99  
   100  	DaemonSet = resource.Builder{
   101  		Identifier:    "DaemonSet",
   102  		Group:         "apps",
   103  		Kind:          "DaemonSet",
   104  		Plural:        "daemonsets",
   105  		Version:       "v1",
   106  		Proto:         "k8s.io.api.apps.v1.DaemonSetSpec",
   107  		ReflectType:   reflect.TypeOf(&k8sioapiappsv1.DaemonSetSpec{}).Elem(),
   108  		ProtoPackage:  "k8s.io/api/apps/v1",
   109  		ClusterScoped: false,
   110  		Synthetic:     false,
   111  		Builtin:       true,
   112  		ValidateProto: validation.EmptyValidate,
   113  	}.MustBuild()
   114  
   115  	Deployment = resource.Builder{
   116  		Identifier:    "Deployment",
   117  		Group:         "apps",
   118  		Kind:          "Deployment",
   119  		Plural:        "deployments",
   120  		Version:       "v1",
   121  		Proto:         "k8s.io.api.apps.v1.DeploymentSpec",
   122  		ReflectType:   reflect.TypeOf(&k8sioapiappsv1.DeploymentSpec{}).Elem(),
   123  		ProtoPackage:  "k8s.io/api/apps/v1",
   124  		ClusterScoped: false,
   125  		Synthetic:     false,
   126  		Builtin:       true,
   127  		ValidateProto: validation.EmptyValidate,
   128  	}.MustBuild()
   129  
   130  	DestinationRule = resource.Builder{
   131  		Identifier: "DestinationRule",
   132  		Group:      "networking.istio.io",
   133  		Kind:       "DestinationRule",
   134  		Plural:     "destinationrules",
   135  		Version:    "v1alpha3",
   136  		VersionAliases: []string{
   137  			"v1beta1",
   138  			"v1",
   139  		},
   140  		Proto: "istio.networking.v1alpha3.DestinationRule", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   141  		ReflectType: reflect.TypeOf(&istioioapinetworkingv1alpha3.DestinationRule{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   142  		ProtoPackage: "istio.io/api/networking/v1alpha3", StatusPackage: "istio.io/api/meta/v1alpha1",
   143  		ClusterScoped: false,
   144  		Synthetic:     false,
   145  		Builtin:       false,
   146  		ValidateProto: validation.ValidateDestinationRule,
   147  	}.MustBuild()
   148  
   149  	EndpointSlice = resource.Builder{
   150  		Identifier:    "EndpointSlice",
   151  		Group:         "",
   152  		Kind:          "EndpointSlice",
   153  		Plural:        "endpointslices",
   154  		Version:       "v1",
   155  		Proto:         "k8s.io.api.discovery.v1.EndpointSlice",
   156  		ReflectType:   reflect.TypeOf(&k8sioapidiscoveryv1.EndpointSlice{}).Elem(),
   157  		ProtoPackage:  "k8s.io/api/discovery/v1",
   158  		ClusterScoped: false,
   159  		Synthetic:     false,
   160  		Builtin:       true,
   161  		ValidateProto: validation.EmptyValidate,
   162  	}.MustBuild()
   163  
   164  	Endpoints = resource.Builder{
   165  		Identifier:    "Endpoints",
   166  		Group:         "",
   167  		Kind:          "Endpoints",
   168  		Plural:        "endpoints",
   169  		Version:       "v1",
   170  		Proto:         "k8s.io.api.core.v1.Endpoints",
   171  		ReflectType:   reflect.TypeOf(&k8sioapicorev1.Endpoints{}).Elem(),
   172  		ProtoPackage:  "k8s.io/api/core/v1",
   173  		ClusterScoped: false,
   174  		Synthetic:     false,
   175  		Builtin:       true,
   176  		ValidateProto: validation.EmptyValidate,
   177  	}.MustBuild()
   178  
   179  	EnvoyFilter = resource.Builder{
   180  		Identifier: "EnvoyFilter",
   181  		Group:      "networking.istio.io",
   182  		Kind:       "EnvoyFilter",
   183  		Plural:     "envoyfilters",
   184  		Version:    "v1alpha3",
   185  		Proto:      "istio.networking.v1alpha3.EnvoyFilter", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   186  		ReflectType: reflect.TypeOf(&istioioapinetworkingv1alpha3.EnvoyFilter{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   187  		ProtoPackage: "istio.io/api/networking/v1alpha3", StatusPackage: "istio.io/api/meta/v1alpha1",
   188  		ClusterScoped: false,
   189  		Synthetic:     false,
   190  		Builtin:       false,
   191  		ValidateProto: envoyfilter.ValidateEnvoyFilter,
   192  	}.MustBuild()
   193  
   194  	GRPCRoute = resource.Builder{
   195  		Identifier: "GRPCRoute",
   196  		Group:      "gateway.networking.k8s.io",
   197  		Kind:       "GRPCRoute",
   198  		Plural:     "grpcroutes",
   199  		Version:    "v1",
   200  		VersionAliases: []string{
   201  			"v1alpha2",
   202  		},
   203  		Proto: "k8s.io.gateway_api.api.v1alpha1.GRPCRouteSpec", StatusProto: "k8s.io.gateway_api.api.v1alpha1.GRPCRouteStatus",
   204  		ReflectType: reflect.TypeOf(&sigsk8siogatewayapiapisv1.GRPCRouteSpec{}).Elem(), StatusType: reflect.TypeOf(&sigsk8siogatewayapiapisv1.GRPCRouteStatus{}).Elem(),
   205  		ProtoPackage: "sigs.k8s.io/gateway-api/apis/v1", StatusPackage: "sigs.k8s.io/gateway-api/apis/v1",
   206  		ClusterScoped: false,
   207  		Synthetic:     false,
   208  		Builtin:       false,
   209  		ValidateProto: validation.EmptyValidate,
   210  	}.MustBuild()
   211  
   212  	Gateway = resource.Builder{
   213  		Identifier: "Gateway",
   214  		Group:      "networking.istio.io",
   215  		Kind:       "Gateway",
   216  		Plural:     "gateways",
   217  		Version:    "v1alpha3",
   218  		VersionAliases: []string{
   219  			"v1beta1",
   220  			"v1",
   221  		},
   222  		Proto: "istio.networking.v1alpha3.Gateway", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   223  		ReflectType: reflect.TypeOf(&istioioapinetworkingv1alpha3.Gateway{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   224  		ProtoPackage: "istio.io/api/networking/v1alpha3", StatusPackage: "istio.io/api/meta/v1alpha1",
   225  		ClusterScoped: false,
   226  		Synthetic:     false,
   227  		Builtin:       false,
   228  		ValidateProto: validation.ValidateGateway,
   229  	}.MustBuild()
   230  
   231  	GatewayClass = resource.Builder{
   232  		Identifier: "GatewayClass",
   233  		Group:      "gateway.networking.k8s.io",
   234  		Kind:       "GatewayClass",
   235  		Plural:     "gatewayclasses",
   236  		Version:    "v1beta1",
   237  		VersionAliases: []string{
   238  			"v1alpha2",
   239  			"v1",
   240  		},
   241  		Proto: "k8s.io.gateway_api.api.v1alpha1.GatewayClassSpec", StatusProto: "k8s.io.gateway_api.api.v1alpha1.GatewayClassStatus",
   242  		ReflectType: reflect.TypeOf(&sigsk8siogatewayapiapisv1beta1.GatewayClassSpec{}).Elem(), StatusType: reflect.TypeOf(&sigsk8siogatewayapiapisv1beta1.GatewayClassStatus{}).Elem(),
   243  		ProtoPackage: "sigs.k8s.io/gateway-api/apis/v1beta1", StatusPackage: "sigs.k8s.io/gateway-api/apis/v1beta1",
   244  		ClusterScoped: true,
   245  		Synthetic:     false,
   246  		Builtin:       false,
   247  		ValidateProto: validation.EmptyValidate,
   248  	}.MustBuild()
   249  
   250  	HTTPRoute = resource.Builder{
   251  		Identifier: "HTTPRoute",
   252  		Group:      "gateway.networking.k8s.io",
   253  		Kind:       "HTTPRoute",
   254  		Plural:     "httproutes",
   255  		Version:    "v1beta1",
   256  		VersionAliases: []string{
   257  			"v1alpha2",
   258  			"v1",
   259  		},
   260  		Proto: "k8s.io.gateway_api.api.v1alpha1.HTTPRouteSpec", StatusProto: "k8s.io.gateway_api.api.v1alpha1.HTTPRouteStatus",
   261  		ReflectType: reflect.TypeOf(&sigsk8siogatewayapiapisv1beta1.HTTPRouteSpec{}).Elem(), StatusType: reflect.TypeOf(&sigsk8siogatewayapiapisv1beta1.HTTPRouteStatus{}).Elem(),
   262  		ProtoPackage: "sigs.k8s.io/gateway-api/apis/v1beta1", StatusPackage: "sigs.k8s.io/gateway-api/apis/v1beta1",
   263  		ClusterScoped: false,
   264  		Synthetic:     false,
   265  		Builtin:       false,
   266  		ValidateProto: validation.EmptyValidate,
   267  	}.MustBuild()
   268  
   269  	Ingress = resource.Builder{
   270  		Identifier: "Ingress",
   271  		Group:      "networking.k8s.io",
   272  		Kind:       "Ingress",
   273  		Plural:     "ingresses",
   274  		Version:    "v1",
   275  		Proto:      "k8s.io.api.networking.v1.IngressSpec", StatusProto: "k8s.io.api.networking.v1.IngressStatus",
   276  		ReflectType: reflect.TypeOf(&k8sioapinetworkingv1.IngressSpec{}).Elem(), StatusType: reflect.TypeOf(&k8sioapinetworkingv1.IngressStatus{}).Elem(),
   277  		ProtoPackage: "k8s.io/api/networking/v1", StatusPackage: "k8s.io/api/networking/v1",
   278  		ClusterScoped: false,
   279  		Synthetic:     false,
   280  		Builtin:       true,
   281  		ValidateProto: validation.EmptyValidate,
   282  	}.MustBuild()
   283  
   284  	IngressClass = resource.Builder{
   285  		Identifier:    "IngressClass",
   286  		Group:         "networking.k8s.io",
   287  		Kind:          "IngressClass",
   288  		Plural:        "ingressclasses",
   289  		Version:       "v1",
   290  		Proto:         "k8s.io.api.networking.v1.IngressClassSpec",
   291  		ReflectType:   reflect.TypeOf(&k8sioapinetworkingv1.IngressClassSpec{}).Elem(),
   292  		ProtoPackage:  "k8s.io/api/networking/v1",
   293  		ClusterScoped: true,
   294  		Synthetic:     false,
   295  		Builtin:       true,
   296  		ValidateProto: validation.EmptyValidate,
   297  	}.MustBuild()
   298  
   299  	KubernetesGateway = resource.Builder{
   300  		Identifier: "KubernetesGateway",
   301  		Group:      "gateway.networking.k8s.io",
   302  		Kind:       "Gateway",
   303  		Plural:     "gateways",
   304  		Version:    "v1beta1",
   305  		VersionAliases: []string{
   306  			"v1alpha2",
   307  			"v1",
   308  		},
   309  		Proto: "k8s.io.gateway_api.api.v1alpha1.GatewaySpec", StatusProto: "k8s.io.gateway_api.api.v1alpha1.GatewayStatus",
   310  		ReflectType: reflect.TypeOf(&sigsk8siogatewayapiapisv1beta1.GatewaySpec{}).Elem(), StatusType: reflect.TypeOf(&sigsk8siogatewayapiapisv1beta1.GatewayStatus{}).Elem(),
   311  		ProtoPackage: "sigs.k8s.io/gateway-api/apis/v1beta1", StatusPackage: "sigs.k8s.io/gateway-api/apis/v1beta1",
   312  		ClusterScoped: false,
   313  		Synthetic:     false,
   314  		Builtin:       false,
   315  		ValidateProto: validation.EmptyValidate,
   316  	}.MustBuild()
   317  
   318  	Lease = resource.Builder{
   319  		Identifier:    "Lease",
   320  		Group:         "coordination.k8s.io",
   321  		Kind:          "Lease",
   322  		Plural:        "leases",
   323  		Version:       "v1",
   324  		Proto:         "k8s.io.api.coordination.v1.LeaseSpec",
   325  		ReflectType:   reflect.TypeOf(&k8sioapicoordinationv1.LeaseSpec{}).Elem(),
   326  		ProtoPackage:  "k8s.io/api/coordination/v1",
   327  		ClusterScoped: false,
   328  		Synthetic:     false,
   329  		Builtin:       true,
   330  		ValidateProto: validation.EmptyValidate,
   331  	}.MustBuild()
   332  
   333  	MeshConfig = resource.Builder{
   334  		Identifier:    "MeshConfig",
   335  		Group:         "",
   336  		Kind:          "MeshConfig",
   337  		Plural:        "meshconfigs",
   338  		Version:       "v1alpha1",
   339  		Proto:         "istio.mesh.v1alpha1.MeshConfig",
   340  		ReflectType:   reflect.TypeOf(&istioioapimeshv1alpha1.MeshConfig{}).Elem(),
   341  		ProtoPackage:  "istio.io/api/mesh/v1alpha1",
   342  		ClusterScoped: false,
   343  		Synthetic:     true,
   344  		Builtin:       false,
   345  		ValidateProto: validation.EmptyValidate,
   346  	}.MustBuild()
   347  
   348  	MeshNetworks = resource.Builder{
   349  		Identifier:    "MeshNetworks",
   350  		Group:         "",
   351  		Kind:          "MeshNetworks",
   352  		Plural:        "meshnetworks",
   353  		Version:       "v1alpha1",
   354  		Proto:         "istio.mesh.v1alpha1.MeshNetworks",
   355  		ReflectType:   reflect.TypeOf(&istioioapimeshv1alpha1.MeshNetworks{}).Elem(),
   356  		ProtoPackage:  "istio.io/api/mesh/v1alpha1",
   357  		ClusterScoped: false,
   358  		Synthetic:     true,
   359  		Builtin:       false,
   360  		ValidateProto: validation.EmptyValidate,
   361  	}.MustBuild()
   362  
   363  	MutatingWebhookConfiguration = resource.Builder{
   364  		Identifier:    "MutatingWebhookConfiguration",
   365  		Group:         "admissionregistration.k8s.io",
   366  		Kind:          "MutatingWebhookConfiguration",
   367  		Plural:        "mutatingwebhookconfigurations",
   368  		Version:       "v1",
   369  		Proto:         "k8s.io.api.admissionregistration.v1.MutatingWebhookConfiguration",
   370  		ReflectType:   reflect.TypeOf(&k8sioapiadmissionregistrationv1.MutatingWebhookConfiguration{}).Elem(),
   371  		ProtoPackage:  "k8s.io/api/admissionregistration/v1",
   372  		ClusterScoped: true,
   373  		Synthetic:     false,
   374  		Builtin:       true,
   375  		ValidateProto: validation.EmptyValidate,
   376  	}.MustBuild()
   377  
   378  	Namespace = resource.Builder{
   379  		Identifier:    "Namespace",
   380  		Group:         "",
   381  		Kind:          "Namespace",
   382  		Plural:        "namespaces",
   383  		Version:       "v1",
   384  		Proto:         "k8s.io.api.core.v1.NamespaceSpec",
   385  		ReflectType:   reflect.TypeOf(&k8sioapicorev1.NamespaceSpec{}).Elem(),
   386  		ProtoPackage:  "k8s.io/api/core/v1",
   387  		ClusterScoped: true,
   388  		Synthetic:     false,
   389  		Builtin:       true,
   390  		ValidateProto: validation.EmptyValidate,
   391  	}.MustBuild()
   392  
   393  	Node = resource.Builder{
   394  		Identifier:    "Node",
   395  		Group:         "",
   396  		Kind:          "Node",
   397  		Plural:        "nodes",
   398  		Version:       "v1",
   399  		Proto:         "k8s.io.api.core.v1.NodeSpec",
   400  		ReflectType:   reflect.TypeOf(&k8sioapicorev1.NodeSpec{}).Elem(),
   401  		ProtoPackage:  "k8s.io/api/core/v1",
   402  		ClusterScoped: true,
   403  		Synthetic:     false,
   404  		Builtin:       true,
   405  		ValidateProto: validation.EmptyValidate,
   406  	}.MustBuild()
   407  
   408  	PeerAuthentication = resource.Builder{
   409  		Identifier: "PeerAuthentication",
   410  		Group:      "security.istio.io",
   411  		Kind:       "PeerAuthentication",
   412  		Plural:     "peerauthentications",
   413  		Version:    "v1beta1",
   414  		VersionAliases: []string{
   415  			"v1",
   416  		},
   417  		Proto: "istio.security.v1beta1.PeerAuthentication", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   418  		ReflectType: reflect.TypeOf(&istioioapisecurityv1beta1.PeerAuthentication{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   419  		ProtoPackage: "istio.io/api/security/v1beta1", StatusPackage: "istio.io/api/meta/v1alpha1",
   420  		ClusterScoped: false,
   421  		Synthetic:     false,
   422  		Builtin:       false,
   423  		ValidateProto: validation.ValidatePeerAuthentication,
   424  	}.MustBuild()
   425  
   426  	Pod = resource.Builder{
   427  		Identifier:    "Pod",
   428  		Group:         "",
   429  		Kind:          "Pod",
   430  		Plural:        "pods",
   431  		Version:       "v1",
   432  		Proto:         "k8s.io.api.core.v1.PodSpec",
   433  		ReflectType:   reflect.TypeOf(&k8sioapicorev1.PodSpec{}).Elem(),
   434  		ProtoPackage:  "k8s.io/api/core/v1",
   435  		ClusterScoped: false,
   436  		Synthetic:     false,
   437  		Builtin:       true,
   438  		ValidateProto: validation.EmptyValidate,
   439  	}.MustBuild()
   440  
   441  	ProxyConfig = resource.Builder{
   442  		Identifier: "ProxyConfig",
   443  		Group:      "networking.istio.io",
   444  		Kind:       "ProxyConfig",
   445  		Plural:     "proxyconfigs",
   446  		Version:    "v1beta1",
   447  		Proto:      "istio.networking.v1beta1.ProxyConfig", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   448  		ReflectType: reflect.TypeOf(&istioioapinetworkingv1beta1.ProxyConfig{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   449  		ProtoPackage: "istio.io/api/networking/v1beta1", StatusPackage: "istio.io/api/meta/v1alpha1",
   450  		ClusterScoped: false,
   451  		Synthetic:     false,
   452  		Builtin:       false,
   453  		ValidateProto: validation.ValidateProxyConfig,
   454  	}.MustBuild()
   455  
   456  	ReferenceGrant = resource.Builder{
   457  		Identifier: "ReferenceGrant",
   458  		Group:      "gateway.networking.k8s.io",
   459  		Kind:       "ReferenceGrant",
   460  		Plural:     "referencegrants",
   461  		Version:    "v1beta1",
   462  		VersionAliases: []string{
   463  			"v1alpha2",
   464  		},
   465  		Proto:         "k8s.io.gateway_api.api.v1alpha1.ReferenceGrantSpec",
   466  		ReflectType:   reflect.TypeOf(&sigsk8siogatewayapiapisv1beta1.ReferenceGrantSpec{}).Elem(),
   467  		ProtoPackage:  "sigs.k8s.io/gateway-api/apis/v1beta1",
   468  		ClusterScoped: false,
   469  		Synthetic:     false,
   470  		Builtin:       false,
   471  		ValidateProto: validation.EmptyValidate,
   472  	}.MustBuild()
   473  
   474  	RequestAuthentication = resource.Builder{
   475  		Identifier: "RequestAuthentication",
   476  		Group:      "security.istio.io",
   477  		Kind:       "RequestAuthentication",
   478  		Plural:     "requestauthentications",
   479  		Version:    "v1beta1",
   480  		VersionAliases: []string{
   481  			"v1",
   482  		},
   483  		Proto: "istio.security.v1beta1.RequestAuthentication", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   484  		ReflectType: reflect.TypeOf(&istioioapisecurityv1beta1.RequestAuthentication{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   485  		ProtoPackage: "istio.io/api/security/v1beta1", StatusPackage: "istio.io/api/meta/v1alpha1",
   486  		ClusterScoped: false,
   487  		Synthetic:     false,
   488  		Builtin:       false,
   489  		ValidateProto: validation.ValidateRequestAuthentication,
   490  	}.MustBuild()
   491  
   492  	Secret = resource.Builder{
   493  		Identifier:    "Secret",
   494  		Group:         "",
   495  		Kind:          "Secret",
   496  		Plural:        "secrets",
   497  		Version:       "v1",
   498  		Proto:         "k8s.io.api.core.v1.Secret",
   499  		ReflectType:   reflect.TypeOf(&k8sioapicorev1.Secret{}).Elem(),
   500  		ProtoPackage:  "k8s.io/api/core/v1",
   501  		ClusterScoped: false,
   502  		Synthetic:     false,
   503  		Builtin:       true,
   504  		ValidateProto: validation.EmptyValidate,
   505  	}.MustBuild()
   506  
   507  	Service = resource.Builder{
   508  		Identifier:    "Service",
   509  		Group:         "",
   510  		Kind:          "Service",
   511  		Plural:        "services",
   512  		Version:       "v1",
   513  		Proto:         "k8s.io.api.core.v1.ServiceSpec",
   514  		ReflectType:   reflect.TypeOf(&k8sioapicorev1.ServiceSpec{}).Elem(),
   515  		ProtoPackage:  "k8s.io/api/core/v1",
   516  		ClusterScoped: false,
   517  		Synthetic:     false,
   518  		Builtin:       true,
   519  		ValidateProto: validation.EmptyValidate,
   520  	}.MustBuild()
   521  
   522  	ServiceAccount = resource.Builder{
   523  		Identifier:    "ServiceAccount",
   524  		Group:         "",
   525  		Kind:          "ServiceAccount",
   526  		Plural:        "serviceaccounts",
   527  		Version:       "v1",
   528  		Proto:         "k8s.io.api.core.v1.ServiceAccount",
   529  		ReflectType:   reflect.TypeOf(&k8sioapicorev1.ServiceAccount{}).Elem(),
   530  		ProtoPackage:  "k8s.io/api/core/v1",
   531  		ClusterScoped: false,
   532  		Synthetic:     false,
   533  		Builtin:       true,
   534  		ValidateProto: validation.EmptyValidate,
   535  	}.MustBuild()
   536  
   537  	ServiceEntry = resource.Builder{
   538  		Identifier: "ServiceEntry",
   539  		Group:      "networking.istio.io",
   540  		Kind:       "ServiceEntry",
   541  		Plural:     "serviceentries",
   542  		Version:    "v1alpha3",
   543  		VersionAliases: []string{
   544  			"v1beta1",
   545  			"v1",
   546  		},
   547  		Proto: "istio.networking.v1alpha3.ServiceEntry", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   548  		ReflectType: reflect.TypeOf(&istioioapinetworkingv1alpha3.ServiceEntry{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   549  		ProtoPackage: "istio.io/api/networking/v1alpha3", StatusPackage: "istio.io/api/meta/v1alpha1",
   550  		ClusterScoped: false,
   551  		Synthetic:     false,
   552  		Builtin:       false,
   553  		ValidateProto: validation.ValidateServiceEntry,
   554  	}.MustBuild()
   555  
   556  	Sidecar = resource.Builder{
   557  		Identifier: "Sidecar",
   558  		Group:      "networking.istio.io",
   559  		Kind:       "Sidecar",
   560  		Plural:     "sidecars",
   561  		Version:    "v1alpha3",
   562  		VersionAliases: []string{
   563  			"v1beta1",
   564  			"v1",
   565  		},
   566  		Proto: "istio.networking.v1alpha3.Sidecar", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   567  		ReflectType: reflect.TypeOf(&istioioapinetworkingv1alpha3.Sidecar{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   568  		ProtoPackage: "istio.io/api/networking/v1alpha3", StatusPackage: "istio.io/api/meta/v1alpha1",
   569  		ClusterScoped: false,
   570  		Synthetic:     false,
   571  		Builtin:       false,
   572  		ValidateProto: validation.ValidateSidecar,
   573  	}.MustBuild()
   574  
   575  	StatefulSet = resource.Builder{
   576  		Identifier:    "StatefulSet",
   577  		Group:         "apps",
   578  		Kind:          "StatefulSet",
   579  		Plural:        "statefulsets",
   580  		Version:       "v1",
   581  		Proto:         "k8s.io.api.apps.v1.StatefulSetSpec",
   582  		ReflectType:   reflect.TypeOf(&k8sioapiappsv1.StatefulSetSpec{}).Elem(),
   583  		ProtoPackage:  "k8s.io/api/apps/v1",
   584  		ClusterScoped: false,
   585  		Synthetic:     false,
   586  		Builtin:       true,
   587  		ValidateProto: validation.EmptyValidate,
   588  	}.MustBuild()
   589  
   590  	TCPRoute = resource.Builder{
   591  		Identifier: "TCPRoute",
   592  		Group:      "gateway.networking.k8s.io",
   593  		Kind:       "TCPRoute",
   594  		Plural:     "tcproutes",
   595  		Version:    "v1alpha2",
   596  		Proto:      "k8s.io.gateway_api.api.v1alpha1.TCPRouteSpec", StatusProto: "k8s.io.gateway_api.api.v1alpha1.TCPRouteStatus",
   597  		ReflectType: reflect.TypeOf(&sigsk8siogatewayapiapisv1alpha2.TCPRouteSpec{}).Elem(), StatusType: reflect.TypeOf(&sigsk8siogatewayapiapisv1alpha2.TCPRouteStatus{}).Elem(),
   598  		ProtoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2", StatusPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2",
   599  		ClusterScoped: false,
   600  		Synthetic:     false,
   601  		Builtin:       false,
   602  		ValidateProto: validation.EmptyValidate,
   603  	}.MustBuild()
   604  
   605  	TLSRoute = resource.Builder{
   606  		Identifier: "TLSRoute",
   607  		Group:      "gateway.networking.k8s.io",
   608  		Kind:       "TLSRoute",
   609  		Plural:     "tlsroutes",
   610  		Version:    "v1alpha2",
   611  		Proto:      "k8s.io.gateway_api.api.v1alpha1.TLSRouteSpec", StatusProto: "k8s.io.gateway_api.api.v1alpha1.TLSRouteStatus",
   612  		ReflectType: reflect.TypeOf(&sigsk8siogatewayapiapisv1alpha2.TLSRouteSpec{}).Elem(), StatusType: reflect.TypeOf(&sigsk8siogatewayapiapisv1alpha2.TLSRouteStatus{}).Elem(),
   613  		ProtoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2", StatusPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2",
   614  		ClusterScoped: false,
   615  		Synthetic:     false,
   616  		Builtin:       false,
   617  		ValidateProto: validation.EmptyValidate,
   618  	}.MustBuild()
   619  
   620  	Telemetry = resource.Builder{
   621  		Identifier: "Telemetry",
   622  		Group:      "telemetry.istio.io",
   623  		Kind:       "Telemetry",
   624  		Plural:     "telemetries",
   625  		Version:    "v1alpha1",
   626  		VersionAliases: []string{
   627  			"v1",
   628  		},
   629  		Proto: "istio.telemetry.v1alpha1.Telemetry", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   630  		ReflectType: reflect.TypeOf(&istioioapitelemetryv1alpha1.Telemetry{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   631  		ProtoPackage: "istio.io/api/telemetry/v1alpha1", StatusPackage: "istio.io/api/meta/v1alpha1",
   632  		ClusterScoped: false,
   633  		Synthetic:     false,
   634  		Builtin:       false,
   635  		ValidateProto: validation.ValidateTelemetry,
   636  	}.MustBuild()
   637  
   638  	UDPRoute = resource.Builder{
   639  		Identifier: "UDPRoute",
   640  		Group:      "gateway.networking.k8s.io",
   641  		Kind:       "UDPRoute",
   642  		Plural:     "udproutes",
   643  		Version:    "v1alpha2",
   644  		Proto:      "k8s.io.gateway_api.api.v1alpha1.UDPRouteSpec", StatusProto: "k8s.io.gateway_api.api.v1alpha1.UDPRouteStatus",
   645  		ReflectType: reflect.TypeOf(&sigsk8siogatewayapiapisv1alpha2.UDPRouteSpec{}).Elem(), StatusType: reflect.TypeOf(&sigsk8siogatewayapiapisv1alpha2.UDPRouteStatus{}).Elem(),
   646  		ProtoPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2", StatusPackage: "sigs.k8s.io/gateway-api/apis/v1alpha2",
   647  		ClusterScoped: false,
   648  		Synthetic:     false,
   649  		Builtin:       false,
   650  		ValidateProto: validation.EmptyValidate,
   651  	}.MustBuild()
   652  
   653  	ValidatingWebhookConfiguration = resource.Builder{
   654  		Identifier:    "ValidatingWebhookConfiguration",
   655  		Group:         "admissionregistration.k8s.io",
   656  		Kind:          "ValidatingWebhookConfiguration",
   657  		Plural:        "validatingwebhookconfigurations",
   658  		Version:       "v1",
   659  		Proto:         "k8s.io.api.admissionregistration.v1.ValidatingWebhookConfiguration",
   660  		ReflectType:   reflect.TypeOf(&k8sioapiadmissionregistrationv1.ValidatingWebhookConfiguration{}).Elem(),
   661  		ProtoPackage:  "k8s.io/api/admissionregistration/v1",
   662  		ClusterScoped: true,
   663  		Synthetic:     false,
   664  		Builtin:       true,
   665  		ValidateProto: validation.EmptyValidate,
   666  	}.MustBuild()
   667  
   668  	VirtualService = resource.Builder{
   669  		Identifier: "VirtualService",
   670  		Group:      "networking.istio.io",
   671  		Kind:       "VirtualService",
   672  		Plural:     "virtualservices",
   673  		Version:    "v1alpha3",
   674  		VersionAliases: []string{
   675  			"v1beta1",
   676  			"v1",
   677  		},
   678  		Proto: "istio.networking.v1alpha3.VirtualService", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   679  		ReflectType: reflect.TypeOf(&istioioapinetworkingv1alpha3.VirtualService{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   680  		ProtoPackage: "istio.io/api/networking/v1alpha3", StatusPackage: "istio.io/api/meta/v1alpha1",
   681  		ClusterScoped: false,
   682  		Synthetic:     false,
   683  		Builtin:       false,
   684  		ValidateProto: validation.ValidateVirtualService,
   685  	}.MustBuild()
   686  
   687  	WasmPlugin = resource.Builder{
   688  		Identifier: "WasmPlugin",
   689  		Group:      "extensions.istio.io",
   690  		Kind:       "WasmPlugin",
   691  		Plural:     "wasmplugins",
   692  		Version:    "v1alpha1",
   693  		Proto:      "istio.extensions.v1alpha1.WasmPlugin", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   694  		ReflectType: reflect.TypeOf(&istioioapiextensionsv1alpha1.WasmPlugin{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   695  		ProtoPackage: "istio.io/api/extensions/v1alpha1", StatusPackage: "istio.io/api/meta/v1alpha1",
   696  		ClusterScoped: false,
   697  		Synthetic:     false,
   698  		Builtin:       false,
   699  		ValidateProto: validation.ValidateWasmPlugin,
   700  	}.MustBuild()
   701  
   702  	WorkloadEntry = resource.Builder{
   703  		Identifier: "WorkloadEntry",
   704  		Group:      "networking.istio.io",
   705  		Kind:       "WorkloadEntry",
   706  		Plural:     "workloadentries",
   707  		Version:    "v1alpha3",
   708  		VersionAliases: []string{
   709  			"v1beta1",
   710  			"v1",
   711  		},
   712  		Proto: "istio.networking.v1alpha3.WorkloadEntry", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   713  		ReflectType: reflect.TypeOf(&istioioapinetworkingv1alpha3.WorkloadEntry{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   714  		ProtoPackage: "istio.io/api/networking/v1alpha3", StatusPackage: "istio.io/api/meta/v1alpha1",
   715  		ClusterScoped: false,
   716  		Synthetic:     false,
   717  		Builtin:       false,
   718  		ValidateProto: validation.ValidateWorkloadEntry,
   719  	}.MustBuild()
   720  
   721  	WorkloadGroup = resource.Builder{
   722  		Identifier: "WorkloadGroup",
   723  		Group:      "networking.istio.io",
   724  		Kind:       "WorkloadGroup",
   725  		Plural:     "workloadgroups",
   726  		Version:    "v1alpha3",
   727  		VersionAliases: []string{
   728  			"v1beta1",
   729  			"v1",
   730  		},
   731  		Proto: "istio.networking.v1alpha3.WorkloadGroup", StatusProto: "istio.meta.v1alpha1.IstioStatus",
   732  		ReflectType: reflect.TypeOf(&istioioapinetworkingv1alpha3.WorkloadGroup{}).Elem(), StatusType: reflect.TypeOf(&istioioapimetav1alpha1.IstioStatus{}).Elem(),
   733  		ProtoPackage: "istio.io/api/networking/v1alpha3", StatusPackage: "istio.io/api/meta/v1alpha1",
   734  		ClusterScoped: false,
   735  		Synthetic:     false,
   736  		Builtin:       false,
   737  		ValidateProto: validation.ValidateWorkloadGroup,
   738  	}.MustBuild()
   739  
   740  	// All contains all collections in the system.
   741  	All = collection.NewSchemasBuilder().
   742  		MustAdd(AuthorizationPolicy).
   743  		MustAdd(CertificateSigningRequest).
   744  		MustAdd(ConfigMap).
   745  		MustAdd(CustomResourceDefinition).
   746  		MustAdd(DaemonSet).
   747  		MustAdd(Deployment).
   748  		MustAdd(DestinationRule).
   749  		MustAdd(EndpointSlice).
   750  		MustAdd(Endpoints).
   751  		MustAdd(EnvoyFilter).
   752  		MustAdd(GRPCRoute).
   753  		MustAdd(Gateway).
   754  		MustAdd(GatewayClass).
   755  		MustAdd(HTTPRoute).
   756  		MustAdd(Ingress).
   757  		MustAdd(IngressClass).
   758  		MustAdd(KubernetesGateway).
   759  		MustAdd(Lease).
   760  		MustAdd(MeshConfig).
   761  		MustAdd(MeshNetworks).
   762  		MustAdd(MutatingWebhookConfiguration).
   763  		MustAdd(Namespace).
   764  		MustAdd(Node).
   765  		MustAdd(PeerAuthentication).
   766  		MustAdd(Pod).
   767  		MustAdd(ProxyConfig).
   768  		MustAdd(ReferenceGrant).
   769  		MustAdd(RequestAuthentication).
   770  		MustAdd(Secret).
   771  		MustAdd(Service).
   772  		MustAdd(ServiceAccount).
   773  		MustAdd(ServiceEntry).
   774  		MustAdd(Sidecar).
   775  		MustAdd(StatefulSet).
   776  		MustAdd(TCPRoute).
   777  		MustAdd(TLSRoute).
   778  		MustAdd(Telemetry).
   779  		MustAdd(UDPRoute).
   780  		MustAdd(ValidatingWebhookConfiguration).
   781  		MustAdd(VirtualService).
   782  		MustAdd(WasmPlugin).
   783  		MustAdd(WorkloadEntry).
   784  		MustAdd(WorkloadGroup).
   785  		Build()
   786  
   787  	// Kube contains only kubernetes collections.
   788  	Kube = collection.NewSchemasBuilder().
   789  		MustAdd(CertificateSigningRequest).
   790  		MustAdd(ConfigMap).
   791  		MustAdd(CustomResourceDefinition).
   792  		MustAdd(DaemonSet).
   793  		MustAdd(Deployment).
   794  		MustAdd(EndpointSlice).
   795  		MustAdd(Endpoints).
   796  		MustAdd(GRPCRoute).
   797  		MustAdd(GatewayClass).
   798  		MustAdd(HTTPRoute).
   799  		MustAdd(Ingress).
   800  		MustAdd(IngressClass).
   801  		MustAdd(KubernetesGateway).
   802  		MustAdd(Lease).
   803  		MustAdd(MutatingWebhookConfiguration).
   804  		MustAdd(Namespace).
   805  		MustAdd(Node).
   806  		MustAdd(Pod).
   807  		MustAdd(ReferenceGrant).
   808  		MustAdd(Secret).
   809  		MustAdd(Service).
   810  		MustAdd(ServiceAccount).
   811  		MustAdd(StatefulSet).
   812  		MustAdd(TCPRoute).
   813  		MustAdd(TLSRoute).
   814  		MustAdd(UDPRoute).
   815  		MustAdd(ValidatingWebhookConfiguration).
   816  		Build()
   817  
   818  	// Pilot contains only collections used by Pilot.
   819  	Pilot = collection.NewSchemasBuilder().
   820  		MustAdd(AuthorizationPolicy).
   821  		MustAdd(DestinationRule).
   822  		MustAdd(EnvoyFilter).
   823  		MustAdd(Gateway).
   824  		MustAdd(PeerAuthentication).
   825  		MustAdd(ProxyConfig).
   826  		MustAdd(RequestAuthentication).
   827  		MustAdd(ServiceEntry).
   828  		MustAdd(Sidecar).
   829  		MustAdd(Telemetry).
   830  		MustAdd(VirtualService).
   831  		MustAdd(WasmPlugin).
   832  		MustAdd(WorkloadEntry).
   833  		MustAdd(WorkloadGroup).
   834  		Build()
   835  
   836  	// pilotGatewayAPI contains only collections used by Pilot, including the full Gateway API.
   837  	pilotGatewayAPI = collection.NewSchemasBuilder().
   838  			MustAdd(AuthorizationPolicy).
   839  			MustAdd(DestinationRule).
   840  			MustAdd(EnvoyFilter).
   841  			MustAdd(GRPCRoute).
   842  			MustAdd(Gateway).
   843  			MustAdd(GatewayClass).
   844  			MustAdd(HTTPRoute).
   845  			MustAdd(KubernetesGateway).
   846  			MustAdd(PeerAuthentication).
   847  			MustAdd(ProxyConfig).
   848  			MustAdd(ReferenceGrant).
   849  			MustAdd(RequestAuthentication).
   850  			MustAdd(ServiceEntry).
   851  			MustAdd(Sidecar).
   852  			MustAdd(TCPRoute).
   853  			MustAdd(TLSRoute).
   854  			MustAdd(Telemetry).
   855  			MustAdd(UDPRoute).
   856  			MustAdd(VirtualService).
   857  			MustAdd(WasmPlugin).
   858  			MustAdd(WorkloadEntry).
   859  			MustAdd(WorkloadGroup).
   860  			Build()
   861  
   862  	// PilotStableGatewayAPI contains only collections used by Pilot, including beta+ Gateway API.
   863  	pilotStableGatewayAPI = collection.NewSchemasBuilder().
   864  				MustAdd(AuthorizationPolicy).
   865  				MustAdd(DestinationRule).
   866  				MustAdd(EnvoyFilter).
   867  				MustAdd(GRPCRoute).
   868  				MustAdd(Gateway).
   869  				MustAdd(GatewayClass).
   870  				MustAdd(HTTPRoute).
   871  				MustAdd(KubernetesGateway).
   872  				MustAdd(PeerAuthentication).
   873  				MustAdd(ProxyConfig).
   874  				MustAdd(ReferenceGrant).
   875  				MustAdd(RequestAuthentication).
   876  				MustAdd(ServiceEntry).
   877  				MustAdd(Sidecar).
   878  				MustAdd(Telemetry).
   879  				MustAdd(VirtualService).
   880  				MustAdd(WasmPlugin).
   881  				MustAdd(WorkloadEntry).
   882  				MustAdd(WorkloadGroup).
   883  				Build()
   884  )