From a1358d087d4958190f19f43ee1aa6400a00f8c85 Mon Sep 17 00:00:00 2001 From: Daniel Fox Date: Mon, 6 Apr 2026 09:37:39 -0700 Subject: [PATCH] Automatic API update from tigera/calico-private v3.23 --- build/update-client-gen.sh | 32 +- deps.txt | 24 +- embed.go | 53 + go.mod | 86 +- go.sum | 97 +- hack/openapi-schema/main.go | 96 + lib.Makefile | 393 +- metadata.mk | 15 +- pkg/apis/projectcalico/v3/bgpconfig.go | 20 + pkg/apis/projectcalico/v3/bgpfilter.go | 206 +- pkg/apis/projectcalico/v3/bgppeer.go | 13 +- pkg/apis/projectcalico/v3/felixconfig.go | 29 +- .../projectcalico/v3/globalnetworkpolicy.go | 6 +- pkg/apis/projectcalico/v3/hostendpoint.go | 6 +- pkg/apis/projectcalico/v3/ipamblocks.go | 5 +- pkg/apis/projectcalico/v3/ipamconfig.go | 22 + pkg/apis/projectcalico/v3/ippool.go | 8 + pkg/apis/projectcalico/v3/policy_common.go | 12 +- .../v3/stagedglobalnetworkpolicy.go | 5 + .../v3/stagedkubernetesnetworkpolicy.go | 1 + .../projectcalico/v3/stagednetworkpolicy.go | 1 + pkg/apis/projectcalico/v3/tier.go | 24 +- .../projectcalico/v3/zz_generated.deepcopy.go | 240 +- .../internal/internal.go | 468 +++ .../projectcalico/v3/alertexception.go | 273 ++ .../projectcalico/v3/alertexceptionspec.go | 65 + .../projectcalico/v3/allocationattribute.go | 55 + .../projectcalico/v3/auditeventsselection.go | 34 + .../projectcalico/v3/auditresource.go | 72 + .../projectcalico/v3/authorizationreview.go | 271 ++ .../authorizationreviewresourceattributes.go | 50 + .../v3/authorizationreviewspec.go | 82 + .../v3/authorizationreviewstatus.go | 32 + .../v3/authorizedresourcegroup.go | 57 + .../v3/authorizedresourceverb.go | 41 + .../v3/authorizedresourceverbs.go | 54 + .../v3/autohostendpointconfig.go | 55 + .../projectcalico/v3/bfdconfiguration.go | 256 ++ .../projectcalico/v3/bfdconfigurationspec.go | 41 + .../projectcalico/v3/bfdinterface.go | 74 + .../projectcalico/v3/bgpconfiguration.go | 256 ++ .../projectcalico/v3/bgpconfigurationspec.go | 279 ++ .../projectcalico/v3/bgpdaemonstatus.go | 72 + .../projectcalico/v3/bgpfilter.go | 256 ++ .../projectcalico/v3/bgpfilteraddcommunity.go | 32 + .../v3/bgpfiltercommunitymatch.go | 36 + .../projectcalico/v3/bgpfilteroperation.go | 50 + .../v3/bgpfilterprefixlengthv4.go | 34 + .../v3/bgpfilterprefixlengthv6.go | 34 + .../v3/bgpfilterprependaspath.go | 36 + .../projectcalico/v3/bgpfilterrulev4.go | 164 + .../projectcalico/v3/bgpfilterrulev6.go | 164 + .../projectcalico/v3/bgpfiltersetpriority.go | 29 + .../projectcalico/v3/bgpfilterspec.go | 78 + .../projectcalico/v3/bgppassword.go | 32 + .../projectcalico/v3/bgppeer.go | 256 ++ .../projectcalico/v3/bgppeerspec.go | 307 ++ .../projectcalico/v3/blockaffinity.go | 258 ++ .../projectcalico/v3/blockaffinityspec.go | 74 + .../projectcalico/v3/bpfconntracktimeouts.go | 120 + .../projectcalico/v3/caliconodeagentstatus.go | 38 + .../v3/caliconodebgproutestatus.go | 48 + .../projectcalico/v3/caliconodebgpstatus.go | 88 + .../projectcalico/v3/caliconodepeer.go | 63 + .../projectcalico/v3/caliconoderoute.go | 72 + .../v3/caliconoderoutelearnedfrom.go | 42 + .../projectcalico/v3/caliconodestatus.go | 271 ++ .../projectcalico/v3/caliconodestatusspec.go | 56 + .../v3/caliconodestatusstatus.go | 64 + .../projectcalico/v3/cisbenchmarkfilter.go | 54 + .../projectcalico/v3/cisbenchmarkparams.go | 77 + .../projectcalico/v3/cisbenchmarkselection.go | 31 + .../projectcalico/v3/clusterinformation.go | 256 ++ .../v3/clusterinformationspec.go | 90 + .../projectcalico/v3/community.go | 41 + .../projectcalico/v3/completedreportjob.go | 58 + .../projectcalico/v3/controllersconfig.go | 98 + .../projectcalico/v3/dashboarddata.go | 46 + .../projectcalico/v3/dashboardlayout.go | 136 + .../projectcalico/v3/deeppacketinspection.go | 276 ++ .../v3/deeppacketinspectionspec.go | 53 + .../v3/deeppacketinspectionstatus.go | 32 + .../projectcalico/v3/detectorparams.go | 26 + .../projectcalico/v3/dpiactive.go | 40 + .../projectcalico/v3/dpierrorcondition.go | 40 + .../projectcalico/v3/dpinode.go | 49 + .../projectcalico/v3/egressgatewaypolicy.go | 256 ++ .../v3/egressgatewaypolicydestinationspec.go | 28 + .../v3/egressgatewaypolicyspec.go | 33 + .../projectcalico/v3/egressgatewayrule.go | 65 + .../projectcalico/v3/egressgatewayspec.go | 40 + .../projectcalico/v3/egressspec.go | 50 + .../projectcalico/v3/endpointport.go | 47 + .../projectcalico/v3/endpointsselection.go | 50 + .../projectcalico/v3/entityrule.go | 183 + .../projectcalico/v3/errorcondition.go | 34 + .../projectcalico/v3/etcdconfig.go | 104 + .../projectcalico/v3/externalnetwork.go | 256 ++ .../projectcalico/v3/externalnetworkspec.go | 31 + .../v3/federatedservicescontrollerconfig.go | 33 + .../projectcalico/v3/felixconfiguration.go | 256 ++ .../v3/felixconfigurationspec.go | 3565 +++++++++++++++++ .../projectcalico/v3/globalalert.go | 271 ++ .../projectcalico/v3/globalalertspec.go | 190 + .../projectcalico/v3/globalalertstatus.go | 79 + .../v3/globalalertsubstitution.go | 38 + .../projectcalico/v3/globalalerttemplate.go | 256 ++ .../projectcalico/v3/globalnetworkpolicy.go | 256 ++ .../v3/globalnetworkpolicyspec.go | 213 + .../projectcalico/v3/globalnetworkset.go | 260 ++ .../projectcalico/v3/globalnetworksetspec.go | 45 + .../projectcalico/v3/globalnetworksetsync.go | 31 + .../projectcalico/v3/globalreport.go | 273 ++ .../projectcalico/v3/globalreporttype.go | 258 ++ .../projectcalico/v3/globalthreatfeed.go | 275 ++ .../projectcalico/v3/globalthreatfeedspec.go | 80 + .../v3/globalthreatfeedstatus.go | 52 + .../projectcalico/v3/healthtimeoutoverride.go | 38 + .../projectcalico/v3/hostendpoint.go | 256 ++ .../projectcalico/v3/hostendpointspec.go | 100 + .../projectcalico/v3/httpheader.go | 43 + .../projectcalico/v3/httpheadercriteria.go | 47 + .../projectcalico/v3/httpheadersource.go | 40 + .../projectcalico/v3/httpmatch.go | 71 + .../projectcalico/v3/httppath.go | 38 + .../projectcalico/v3/httppull.go | 48 + .../projectcalico/v3/icmpfields.go | 41 + .../projectcalico/v3/ipamblock.go | 256 ++ .../projectcalico/v3/ipamblockspec.go | 152 + .../projectcalico/v3/ipamconfiguration.go | 258 ++ .../projectcalico/v3/ipamconfigurationspec.go | 71 + .../projectcalico/v3/ipamhandle.go | 258 ++ .../projectcalico/v3/ipamhandlespec.go | 51 + .../projectcalico/v3/ippool.go | 271 ++ .../projectcalico/v3/ippoolspec.go | 155 + .../projectcalico/v3/ippoolstatus.go | 34 + .../projectcalico/v3/ipreservation.go | 262 ++ .../projectcalico/v3/ipreservationspec.go | 30 + .../projectcalico/v3/kubeconfig.go | 96 + .../v3/kubecontrollersconfiguration.go | 271 ++ .../v3/kubecontrollersconfigurationspec.go | 87 + .../v3/kubecontrollersconfigurationstatus.go | 48 + .../projectcalico/v3/licensekey.go | 273 ++ .../projectcalico/v3/licensekeyspec.go | 38 + .../projectcalico/v3/licensekeystatus.go | 91 + .../v3/loadbalancercontrollerconfig.go | 30 + .../projectcalico/v3/managedcluster.go | 275 ++ .../projectcalico/v3/managedclusterspec.go | 52 + .../projectcalico/v3/managedclusterstatus.go | 30 + .../v3/managedclusterstatuscondition.go | 58 + .../v3/migrationcontrollerconfig.go | 31 + .../projectcalico/v3/namedselector.go | 36 + .../projectcalico/v3/namesandlabelsmatch.go | 41 + .../v3/namespacecontrollerconfig.go | 33 + .../projectcalico/v3/networkpolicy.go | 258 ++ .../projectcalico/v3/networkpolicyspec.go | 170 + .../projectcalico/v3/networkset.go | 258 ++ .../projectcalico/v3/networksetspec.go | 45 + .../projectcalico/v3/nodecontrollerconfig.go | 65 + .../projectcalico/v3/packetcapture.go | 278 ++ .../projectcalico/v3/packetcapturefile.go | 67 + .../projectcalico/v3/packetcapturerule.go | 50 + .../projectcalico/v3/packetcapturespec.go | 98 + .../projectcalico/v3/packetcapturestatus.go | 33 + .../v3/policycontrollerconfig.go | 33 + .../v3/policyrecommendationscope.go | 271 ++ .../policyrecommendationscopenamespacespec.go | 67 + .../v3/policyrecommendationscopespec.go | 90 + .../v3/policyrecommendationscopestatus.go | 30 + ...olicyrecommendationscopestatuscondition.go | 58 + .../projectcalico/v3/position.go | 54 + .../projectcalico/v3/prefixadvertisement.go | 43 + .../projectcalico/v3/profile.go | 256 ++ .../projectcalico/v3/profilespec.go | 78 + .../projectcalico/v3/protoport.go | 45 + .../projectcalico/v3/pull.go | 34 + .../v3/remoteclusterconfiguration.go | 258 ++ .../v3/remoteclusterconfigurationspec.go | 197 + .../v3/remoteclustersyncoptions.go | 33 + .../projectcalico/v3/reportjob.go | 53 + .../projectcalico/v3/reportspec.go | 95 + .../projectcalico/v3/reportstatus.go | 73 + .../projectcalico/v3/reporttemplate.go | 49 + .../projectcalico/v3/reporttypespec.go | 87 + .../projectcalico/v3/routetableidrange.go | 34 + .../projectcalico/v3/routetablerange.go | 34 + .../projectcalico/v3/rule.go | 136 + .../projectcalico/v3/rulemetadata.go | 32 + .../projectcalico/v3/securityeventwebhook.go | 276 ++ .../v3/securityeventwebhookconfigvar.go | 43 + .../v3/securityeventwebhookconfigvarsource.go | 38 + .../v3/securityeventwebhookspec.go | 65 + .../v3/serviceaccountcontrollerconfig.go | 33 + .../projectcalico/v3/serviceaccountmatch.go | 41 + .../projectcalico/v3/serviceclusteripblock.go | 27 + .../v3/serviceexternalipblock.go | 27 + .../v3/serviceloadbalanceripblock.go | 27 + .../projectcalico/v3/servicematch.go | 37 + .../v3/stagedglobalnetworkpolicy.go | 258 ++ .../v3/stagedglobalnetworkpolicyspec.go | 223 ++ .../v3/stagedkubernetesnetworkpolicy.go | 260 ++ .../v3/stagedkubernetesnetworkpolicyspec.go | 104 + .../projectcalico/v3/stagednetworkpolicy.go | 261 ++ .../v3/stagednetworkpolicyspec.go | 180 + .../projectcalico/v3/template.go | 77 + .../projectcalico/v3/threatfeedformat.go | 47 + .../projectcalico/v3/threatfeedformatcsv.go | 79 + .../projectcalico/v3/threatfeedformatjson.go | 25 + .../projectcalico/v3/tier.go | 275 ++ .../projectcalico/v3/tierspec.go | 48 + .../projectcalico/v3/tierstatus.go | 38 + .../projectcalico/v3/uidashboard.go | 33 + .../projectcalico/v3/uigraphlayer.go | 53 + .../projectcalico/v3/uigraphnode.go | 58 + .../projectcalico/v3/uigraphnodeview.go | 124 + .../projectcalico/v3/uigraphview.go | 124 + .../projectcalico/v3/uisettings.go | 258 ++ .../projectcalico/v3/uisettingsgroup.go | 260 ++ .../projectcalico/v3/uisettingsgroupspec.go | 56 + .../projectcalico/v3/uisettingsspec.go | 79 + .../v3/workloadendpointcontrollerconfig.go | 33 + .../applyconfiguration_generated/utils.go | 422 ++ .../clientset/fake/clientset_generated.go | 60 +- .../typed/projectcalico/v3/alertexception.go | 8 +- .../projectcalico/v3/authorizationreview.go | 8 +- .../projectcalico/v3/bfdconfiguration.go | 6 +- .../projectcalico/v3/bgpconfiguration.go | 6 +- .../typed/projectcalico/v3/bgpfilter.go | 6 +- .../typed/projectcalico/v3/bgppeer.go | 6 +- .../typed/projectcalico/v3/blockaffinity.go | 6 +- .../projectcalico/v3/caliconodestatus.go | 8 +- .../projectcalico/v3/clusterinformation.go | 6 +- .../projectcalico/v3/deeppacketinspection.go | 8 +- .../projectcalico/v3/egressgatewaypolicy.go | 6 +- .../typed/projectcalico/v3/externalnetwork.go | 6 +- .../v3/fake/fake_alertexception.go | 9 +- .../v3/fake/fake_authorizationreview.go | 9 +- .../v3/fake/fake_bfdconfiguration.go | 9 +- .../v3/fake/fake_bgpconfiguration.go | 9 +- .../projectcalico/v3/fake/fake_bgpfilter.go | 9 +- .../projectcalico/v3/fake/fake_bgppeer.go | 9 +- .../v3/fake/fake_blockaffinity.go | 9 +- .../v3/fake/fake_caliconodestatus.go | 9 +- .../v3/fake/fake_clusterinformation.go | 9 +- .../v3/fake/fake_deeppacketinspection.go | 9 +- .../v3/fake/fake_egressgatewaypolicy.go | 9 +- .../v3/fake/fake_externalnetwork.go | 9 +- .../v3/fake/fake_felixconfiguration.go | 9 +- .../projectcalico/v3/fake/fake_globalalert.go | 9 +- .../v3/fake/fake_globalalerttemplate.go | 9 +- .../v3/fake/fake_globalnetworkpolicy.go | 9 +- .../v3/fake/fake_globalnetworkset.go | 9 +- .../v3/fake/fake_globalreport.go | 9 +- .../v3/fake/fake_globalreporttype.go | 9 +- .../v3/fake/fake_globalthreatfeed.go | 9 +- .../v3/fake/fake_hostendpoint.go | 9 +- .../projectcalico/v3/fake/fake_ipamblock.go | 9 +- .../v3/fake/fake_ipamconfiguration.go | 9 +- .../projectcalico/v3/fake/fake_ipamhandle.go | 9 +- .../projectcalico/v3/fake/fake_ippool.go | 9 +- .../v3/fake/fake_ipreservation.go | 9 +- .../fake/fake_kubecontrollersconfiguration.go | 9 +- .../projectcalico/v3/fake/fake_licensekey.go | 9 +- .../v3/fake/fake_managedcluster.go | 9 +- .../v3/fake/fake_networkpolicy.go | 9 +- .../projectcalico/v3/fake/fake_networkset.go | 9 +- .../v3/fake/fake_packetcapture.go | 9 +- .../v3/fake/fake_policyrecommendationscope.go | 9 +- .../projectcalico/v3/fake/fake_profile.go | 9 +- .../fake/fake_remoteclusterconfiguration.go | 9 +- .../v3/fake/fake_securityeventwebhook.go | 9 +- .../v3/fake/fake_stagedglobalnetworkpolicy.go | 9 +- .../fake_stagedkubernetesnetworkpolicy.go | 9 +- .../v3/fake/fake_stagednetworkpolicy.go | 9 +- .../typed/projectcalico/v3/fake/fake_tier.go | 9 +- .../projectcalico/v3/fake/fake_uisettings.go | 9 +- .../v3/fake/fake_uisettingsgroup.go | 9 +- .../projectcalico/v3/felixconfiguration.go | 6 +- .../typed/projectcalico/v3/globalalert.go | 8 +- .../projectcalico/v3/globalalerttemplate.go | 6 +- .../projectcalico/v3/globalnetworkpolicy.go | 6 +- .../projectcalico/v3/globalnetworkset.go | 6 +- .../typed/projectcalico/v3/globalreport.go | 8 +- .../projectcalico/v3/globalreporttype.go | 6 +- .../projectcalico/v3/globalthreatfeed.go | 8 +- .../typed/projectcalico/v3/hostendpoint.go | 6 +- .../typed/projectcalico/v3/ipamblock.go | 6 +- .../projectcalico/v3/ipamconfiguration.go | 6 +- .../typed/projectcalico/v3/ipamhandle.go | 6 +- .../typed/projectcalico/v3/ippool.go | 8 +- .../typed/projectcalico/v3/ipreservation.go | 6 +- .../v3/kubecontrollersconfiguration.go | 8 +- .../typed/projectcalico/v3/licensekey.go | 8 +- .../typed/projectcalico/v3/managedcluster.go | 8 +- .../typed/projectcalico/v3/networkpolicy.go | 6 +- .../typed/projectcalico/v3/networkset.go | 6 +- .../typed/projectcalico/v3/packetcapture.go | 8 +- .../v3/policyrecommendationscope.go | 8 +- .../typed/projectcalico/v3/profile.go | 6 +- .../v3/remoteclusterconfiguration.go | 6 +- .../projectcalico/v3/securityeventwebhook.go | 8 +- .../v3/stagedglobalnetworkpolicy.go | 6 +- .../v3/stagedkubernetesnetworkpolicy.go | 6 +- .../projectcalico/v3/stagednetworkpolicy.go | 6 +- .../clientset/typed/projectcalico/v3/tier.go | 10 +- .../typed/projectcalico/v3/uisettings.go | 6 +- .../typed/projectcalico/v3/uisettingsgroup.go | 6 +- .../externalversions/factory.go | 3 +- .../projectcalico/v3/alertexception.go | 4 +- .../projectcalico/v3/authorizationreview.go | 4 +- .../projectcalico/v3/bfdconfiguration.go | 4 +- .../projectcalico/v3/bgpconfiguration.go | 4 +- .../projectcalico/v3/bgpfilter.go | 4 +- .../projectcalico/v3/bgppeer.go | 4 +- .../projectcalico/v3/blockaffinity.go | 4 +- .../projectcalico/v3/caliconodestatus.go | 4 +- .../projectcalico/v3/clusterinformation.go | 4 +- .../projectcalico/v3/deeppacketinspection.go | 4 +- .../projectcalico/v3/egressgatewaypolicy.go | 4 +- .../projectcalico/v3/externalnetwork.go | 4 +- .../projectcalico/v3/felixconfiguration.go | 4 +- .../projectcalico/v3/globalalert.go | 4 +- .../projectcalico/v3/globalalerttemplate.go | 4 +- .../projectcalico/v3/globalnetworkpolicy.go | 4 +- .../projectcalico/v3/globalnetworkset.go | 4 +- .../projectcalico/v3/globalreport.go | 4 +- .../projectcalico/v3/globalreporttype.go | 4 +- .../projectcalico/v3/globalthreatfeed.go | 4 +- .../projectcalico/v3/hostendpoint.go | 4 +- .../projectcalico/v3/ipamblock.go | 4 +- .../projectcalico/v3/ipamconfiguration.go | 4 +- .../projectcalico/v3/ipamhandle.go | 4 +- .../projectcalico/v3/ippool.go | 4 +- .../projectcalico/v3/ipreservation.go | 4 +- .../v3/kubecontrollersconfiguration.go | 4 +- .../projectcalico/v3/licensekey.go | 4 +- .../projectcalico/v3/managedcluster.go | 4 +- .../projectcalico/v3/networkpolicy.go | 4 +- .../projectcalico/v3/networkset.go | 4 +- .../projectcalico/v3/packetcapture.go | 4 +- .../v3/policyrecommendationscope.go | 4 +- .../projectcalico/v3/profile.go | 4 +- .../v3/remoteclusterconfiguration.go | 4 +- .../projectcalico/v3/securityeventwebhook.go | 4 +- .../v3/stagedglobalnetworkpolicy.go | 4 +- .../v3/stagedkubernetesnetworkpolicy.go | 4 +- .../projectcalico/v3/stagednetworkpolicy.go | 4 +- .../externalversions/projectcalico/v3/tier.go | 4 +- .../projectcalico/v3/uisettings.go | 4 +- .../projectcalico/v3/uisettingsgroup.go | 4 +- pkg/openapi/generated.openapi.go | 3161 ++++++++------- report/defaults_suite.xml | 130 + report/numorstring_suite.xml | 331 ++ report/v3_api_suite.xml | 85 + 354 files changed, 29882 insertions(+), 1873 deletions(-) create mode 100644 embed.go create mode 100644 hack/openapi-schema/main.go create mode 100644 pkg/client/applyconfiguration_generated/internal/internal.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/alertexception.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/alertexceptionspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/allocationattribute.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/auditeventsselection.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/auditresource.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreview.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewresourceattributes.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourcegroup.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourceverb.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourceverbs.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/autohostendpointconfig.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bfdconfiguration.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bfdconfigurationspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bfdinterface.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpconfiguration.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpconfigurationspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpdaemonstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilter.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilteraddcommunity.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfiltercommunitymatch.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilteroperation.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprefixlengthv4.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprefixlengthv6.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprependaspath.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterrulev4.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterrulev6.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfiltersetpriority.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgppassword.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgppeer.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bgppeerspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/blockaffinity.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/blockaffinityspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/bpfconntracktimeouts.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodeagentstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodebgproutestatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodebgpstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodepeer.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/caliconoderoute.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/caliconoderoutelearnedfrom.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatusspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatusstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkfilter.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkparams.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkselection.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/clusterinformation.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/clusterinformationspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/community.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/completedreportjob.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/controllersconfig.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/dashboarddata.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/dashboardlayout.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspection.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspectionspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspectionstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/detectorparams.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/dpiactive.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/dpierrorcondition.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/dpinode.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicy.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicydestinationspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicyspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewayrule.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewayspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/egressspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/endpointport.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/endpointsselection.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/entityrule.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/errorcondition.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/etcdconfig.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/externalnetwork.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/externalnetworkspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/federatedservicescontrollerconfig.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/felixconfiguration.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/felixconfigurationspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalalert.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertsubstitution.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalalerttemplate.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkpolicy.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkpolicyspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkset.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworksetspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworksetsync.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalreport.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalreporttype.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeed.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeedspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeedstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/healthtimeoutoverride.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/hostendpoint.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/hostendpointspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/httpheader.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/httpheadercriteria.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/httpheadersource.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/httpmatch.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/httppath.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/httppull.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/icmpfields.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/ipamblock.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/ipamblockspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/ipamconfiguration.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/ipamconfigurationspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/ipamhandle.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/ipamhandlespec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/ippool.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/ippoolspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/ippoolstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/ipreservation.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/ipreservationspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/kubeconfig.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfiguration.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfigurationspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfigurationstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/licensekey.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/licensekeyspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/licensekeystatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/loadbalancercontrollerconfig.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/managedcluster.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterstatuscondition.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/migrationcontrollerconfig.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/namedselector.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/namesandlabelsmatch.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/namespacecontrollerconfig.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/networkpolicy.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/networkpolicyspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/networkset.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/networksetspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/nodecontrollerconfig.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapture.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturefile.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturerule.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturespec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturestatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/policycontrollerconfig.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscope.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopenamespacespec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopespec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopestatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopestatuscondition.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/position.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/prefixadvertisement.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/profile.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/profilespec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/protoport.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/pull.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclusterconfiguration.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclusterconfigurationspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclustersyncoptions.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/reportjob.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/reportspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/reportstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/reporttemplate.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/reporttypespec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/routetableidrange.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/routetablerange.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/rule.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/rulemetadata.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhook.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookconfigvar.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookconfigvarsource.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/serviceaccountcontrollerconfig.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/serviceaccountmatch.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/serviceclusteripblock.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/serviceexternalipblock.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/serviceloadbalanceripblock.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/servicematch.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/stagedglobalnetworkpolicy.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/stagedglobalnetworkpolicyspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/stagedkubernetesnetworkpolicy.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/stagedkubernetesnetworkpolicyspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/stagednetworkpolicy.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/stagednetworkpolicyspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/template.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformat.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformatcsv.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformatjson.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/tier.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/tierspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/tierstatus.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/uidashboard.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphlayer.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphnode.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphnodeview.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphview.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/uisettings.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsgroup.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsgroupspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsspec.go create mode 100644 pkg/client/applyconfiguration_generated/projectcalico/v3/workloadendpointcontrollerconfig.go create mode 100644 pkg/client/applyconfiguration_generated/utils.go create mode 100644 report/defaults_suite.xml create mode 100644 report/numorstring_suite.xml create mode 100644 report/v3_api_suite.xml diff --git a/build/update-client-gen.sh b/build/update-client-gen.sh index d83ba6f0..28a1a826 100755 --- a/build/update-client-gen.sh +++ b/build/update-client-gen.sh @@ -23,6 +23,35 @@ set -o pipefail REPO_ROOT=$(realpath $(dirname "${BASH_SOURCE}")/..) BINDIR=${REPO_ROOT}/bin +APPLY_CONFIG_PKG="github.com/tigera/api/pkg/client/applyconfiguration_generated" +APPLY_CONFIG_DIR="${REPO_ROOT}/pkg/client/applyconfiguration_generated" + +# Install applyconfiguration-gen if not already present in the build image. +if ! command -v applyconfiguration-gen &> /dev/null; then + echo "Installing applyconfiguration-gen..." + go install k8s.io/code-generator/cmd/applyconfiguration-gen@v0.35.2 +fi + +# Generate OpenAPI schema JSON for applyconfiguration-gen. +# This populates the structured-merge-diff type information in internal/internal.go, +# which is required for fake.NewClientset() to work correctly. +OPENAPI_SCHEMA=$(mktemp) +trap "rm -f ${OPENAPI_SCHEMA}" EXIT +echo "Generating OpenAPI schema for applyconfiguration-gen..." +go run "${REPO_ROOT}/hack/openapi-schema/" > "${OPENAPI_SCHEMA}" + +# Generate apply configurations (required for NewClientset in fake clientset) +applyconfiguration-gen "$@" \ + --go-header-file "${REPO_ROOT}/hack/boilerplate/boilerplate.go.txt" \ + --openapi-schema "${OPENAPI_SCHEMA}" \ + --output-dir "${APPLY_CONFIG_DIR}" \ + --output-pkg "${APPLY_CONFIG_PKG}" \ + "github.com/tigera/api/pkg/apis/projectcalico/v3" + +# Patch applyconfiguration-gen bugs (see patches/0002-* and patches/0003-*). +patch -p2 -d "${REPO_ROOT}" < "${REPO_ROOT}/patches/0002-Fix-duplicate-ensureProtoPort-method-in-FelixConfigurationSpec.patch" +patch -p2 -d "${REPO_ROOT}" < "${REPO_ROOT}/patches/0003-Fix-pointer-slice-append-in-IPAMBlockSpec-Allocations.patch" + # Generate the versioned clientset (pkg/client/clientset_generated/clientset) client-gen "$@" \ --go-header-file "${REPO_ROOT}/hack/boilerplate/boilerplate.go.txt" \ @@ -31,7 +60,8 @@ client-gen "$@" \ --input "projectcalico/v3" \ --output-dir "${REPO_ROOT}/pkg/client/clientset_generated" \ --clientset-path "github.com/tigera/api/pkg/client/clientset_generated/" \ - --clientset-name "clientset" + --clientset-name "clientset" \ + --apply-configuration-package "${APPLY_CONFIG_PKG}" # generate lister lister-gen "$@" \ --go-header-file "${REPO_ROOT}/hack/boilerplate/boilerplate.go.txt" \ diff --git a/deps.txt b/deps.txt index 00bd07b5..fa30ea1b 100644 --- a/deps.txt +++ b/deps.txt @@ -1,8 +1,7 @@ !!! GENERATED FILE, DO NOT EDIT !!! -This file contains the list of modules that this package depends on -in order to trigger CI on changes +Run 'make gen-deps-files' to regenerate. -go 1.25.7 +go 1.25.8 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc github.com/emicklei/go-restful v2.15.0+incompatible github.com/emicklei/go-restful/v3 v3.13.0 @@ -11,7 +10,6 @@ github.com/go-logr/logr v1.4.3 github.com/go-openapi/jsonpointer v0.22.1 github.com/go-openapi/jsonreference v0.21.2 github.com/go-openapi/swag v0.23.1 -github.com/gogo/protobuf v1.3.2 github.com/google/gnostic-models v0.7.0 github.com/google/uuid v1.6.0 github.com/jinzhu/copier v0.4.0 @@ -21,8 +19,8 @@ github.com/mailru/easyjson v0.9.0 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 -github.com/pkg/errors v0.9.1 github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 +github.com/projectcalico/calico github.com/spf13/pflag v1.0.10 github.com/x448/float16 v0.8.4 go.yaml.in/yaml/v2 v2.4.3 @@ -37,15 +35,19 @@ google.golang.org/protobuf v1.36.11 gopkg.in/evanphx/json-patch.v4 v4.13.0 gopkg.in/inf.v0 v0.9.1 gopkg.in/yaml.v3 v3.0.1 -k8s.io/api v0.34.4 -k8s.io/apimachinery v0.34.4 -k8s.io/apiserver v0.34.4 -k8s.io/client-go v0.34.4 +k8s.io/api v0.35.3 +k8s.io/apiextensions-apiserver v0.35.3 +k8s.io/apimachinery v0.35.3 +k8s.io/apiserver v0.35.3 +k8s.io/client-go v0.35.3 k8s.io/klog v0.2.0 k8s.io/klog/v2 v2.130.1 -k8s.io/kube-openapi v0.0.0-20250814151709-d7b6acb124c3 -k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d +k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 +k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 sigs.k8s.io/randfill v1.0.0 sigs.k8s.io/structured-merge-diff/v6 v6.3.0 sigs.k8s.io/yaml v1.6.0 + +local:api/pkg/lib/numorstring +local:api/pkg/openapi diff --git a/embed.go b/embed.go new file mode 100644 index 00000000..54052583 --- /dev/null +++ b/embed.go @@ -0,0 +1,53 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. +// +// 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 api + +import ( + "embed" + "fmt" + "strings" + + v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + "sigs.k8s.io/yaml" +) + +// crdFiles contains the v3 CRD YAML definitions. +// +//go:embed config/crd/*.yaml +var crdFiles embed.FS + +// AllCRDs loads and returns all embedded v3 CRD definitions. +func AllCRDs() ([]*v1.CustomResourceDefinition, error) { + var crds []*v1.CustomResourceDefinition + entries, err := crdFiles.ReadDir("config/crd") + if err != nil { + return nil, fmt.Errorf("failed to read embedded CRD directory: %w", err) + } + for _, d := range entries { + if d.IsDir() || !strings.HasSuffix(d.Name(), ".yaml") { + continue + } + rawYAML, err := crdFiles.ReadFile("config/crd/" + d.Name()) + if err != nil { + return nil, fmt.Errorf("failed to read embedded CRD %s: %w", d.Name(), err) + } + var crd v1.CustomResourceDefinition + if err := yaml.Unmarshal(rawYAML, &crd); err != nil { + return nil, fmt.Errorf("failed to unmarshal CRD %s: %w", d.Name(), err) + } + crds = append(crds, &crd) + } + return crds, nil +} diff --git a/go.mod b/go.mod index 52228145..b15e08b5 100644 --- a/go.mod +++ b/go.mod @@ -1,16 +1,20 @@ module github.com/tigera/api -go 1.25.7 +go 1.25.8 require ( github.com/jinzhu/copier v0.4.0 github.com/onsi/ginkgo/v2 v2.28.1 github.com/onsi/gomega v1.39.1 - k8s.io/api v0.34.4 - k8s.io/apimachinery v0.34.4 - k8s.io/apiserver v0.34.4 - k8s.io/client-go v0.34.4 - k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b + github.com/projectcalico/api v0.0.0-20260303210141-543421943355 + k8s.io/api v0.35.3 + k8s.io/apiextensions-apiserver v0.0.0-00010101000000-000000000000 + k8s.io/apimachinery v0.35.3 + k8s.io/apiserver v0.35.3 + k8s.io/client-go v0.35.3 + k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 + sigs.k8s.io/structured-merge-diff/v6 v6.3.0 + sigs.k8s.io/yaml v1.6.0 ) require ( @@ -23,7 +27,6 @@ require ( github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.23.0 // indirect github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect github.com/google/gnostic-models v0.7.0 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83 // indirect @@ -34,57 +37,54 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/spf13/pflag v1.0.6 // indirect + github.com/spf13/pflag v1.0.9 // indirect github.com/x448/float16 v0.8.4 // indirect - go.yaml.in/yaml/v2 v2.4.2 // indirect + go.yaml.in/yaml/v2 v2.4.3 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/mod v0.32.0 // indirect golang.org/x/net v0.49.0 // indirect - golang.org/x/oauth2 v0.33.0 // indirect + golang.org/x/oauth2 v0.30.0 // indirect golang.org/x/sync v0.19.0 // indirect golang.org/x/sys v0.40.0 // indirect golang.org/x/term v0.39.0 // indirect golang.org/x/text v0.33.0 // indirect - golang.org/x/time v0.14.0 // indirect + golang.org/x/time v0.9.0 // indirect golang.org/x/tools v0.41.0 // indirect - google.golang.org/protobuf v1.36.7 // indirect - gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect + google.golang.org/protobuf v1.36.8 // indirect + gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/klog/v2 v2.130.1 // indirect - k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 // indirect - sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect + k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect + sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect - sigs.k8s.io/yaml v1.6.0 // indirect ) replace ( - k8s.io/api => k8s.io/api v0.34.4 - k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.34.4 - k8s.io/apimachinery => k8s.io/apimachinery v0.34.4 - k8s.io/apiserver => k8s.io/apiserver v0.34.4 - k8s.io/cli-runtime => k8s.io/cli-runtime v0.34.4 - k8s.io/client-go => k8s.io/client-go v0.34.4 - k8s.io/cloud-provider => k8s.io/cloud-provider v0.34.4 - k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.34.4 - k8s.io/code-generator => k8s.io/code-generator v0.34.4 - k8s.io/component-base => k8s.io/component-base v0.34.4 - k8s.io/component-helpers => k8s.io/component-helpers v0.34.4 - k8s.io/controller-manager => k8s.io/controller-manager v0.34.4 - k8s.io/cri-api => k8s.io/cri-api v0.34.4 - k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.34.4 - k8s.io/externaljwt => k8s.io/externaljwt v0.34.4 - k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.34.4 - k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.34.4 - k8s.io/kube-proxy => k8s.io/kube-proxy v0.34.4 - k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.34.4 - k8s.io/kubectl => k8s.io/kubectl v0.34.4 - k8s.io/kubelet => k8s.io/kubelet v0.34.4 - k8s.io/metrics => k8s.io/metrics v0.34.4 - k8s.io/mount-utils => k8s.io/mount-utils v0.34.4 - k8s.io/node-api => k8s.io/node-api v0.34.4 - k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.34.4 + k8s.io/api => k8s.io/api v0.35.3 + k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.35.3 + k8s.io/apimachinery => k8s.io/apimachinery v0.35.3 + k8s.io/apiserver => k8s.io/apiserver v0.35.3 + k8s.io/cli-runtime => k8s.io/cli-runtime v0.35.3 + k8s.io/client-go => k8s.io/client-go v0.35.3 + k8s.io/cloud-provider => k8s.io/cloud-provider v0.35.3 + k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.35.3 + k8s.io/code-generator => k8s.io/code-generator v0.35.3 + k8s.io/component-base => k8s.io/component-base v0.35.3 + k8s.io/component-helpers => k8s.io/component-helpers v0.35.3 + k8s.io/controller-manager => k8s.io/controller-manager v0.35.3 + k8s.io/cri-api => k8s.io/cri-api v0.35.3 + k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.35.3 + k8s.io/externaljwt => k8s.io/externaljwt v0.35.3 + k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.35.3 + k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.35.3 + k8s.io/kube-proxy => k8s.io/kube-proxy v0.35.3 + k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.35.3 + k8s.io/kubectl => k8s.io/kubectl v0.35.3 + k8s.io/kubelet => k8s.io/kubelet v0.35.3 + k8s.io/metrics => k8s.io/metrics v0.35.3 + k8s.io/mount-utils => k8s.io/mount-utils v0.35.3 + k8s.io/node-api => k8s.io/node-api v0.35.3 + k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.35.3 ) diff --git a/go.sum b/go.sum index 52f6defe..78128b35 100644 --- a/go.sum +++ b/go.sum @@ -29,8 +29,6 @@ github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1v github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= @@ -48,8 +46,6 @@ github.com/joshdk/go-junit v1.0.0 h1:S86cUKIdwBHWwA6xCmFlf3RTLfVXYQfvanM5Uh+K6GE github.com/joshdk/go-junit v1.0.0/go.mod h1:TiiV0PqkaNfFXjEiyjWM3XXrhVyCa1K4Zfga6W52ung= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -75,14 +71,14 @@ github.com/onsi/ginkgo/v2 v2.28.1 h1:S4hj+HbZp40fNKuLUQOYLDgZLwNUVn19N3Atb98NCyI github.com/onsi/ginkgo/v2 v2.28.1/go.mod h1:CLtbVInNckU3/+gC8LzkGUb9oF+e8W8TdUsxPwvdOgE= github.com/onsi/gomega v1.39.1 h1:1IJLAad4zjPn2PsnhH70V4DKRFlrCzGBNrNaru+Vf28= github.com/onsi/gomega v1.39.1/go.mod h1:hL6yVALoTOxeWudERyfppUcZXjMwIMLnuSfruD2lcfg= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= -github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= -github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/projectcalico/api v0.0.0-20260303210141-543421943355 h1:nz3rpu5iJMZyrtlJzGozf4/lKEl3MRH5LHvLcg6SgAg= +github.com/projectcalico/api v0.0.0-20260303210141-543421943355/go.mod h1:SRPurzoi23s+lg9pp3Ox2xZsM7z+BAPDm/H3YOuHNWs= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= +github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -92,8 +88,8 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= @@ -104,85 +100,60 @@ github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI= -go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU= +go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= +go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= -golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo= -golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= +golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY= golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= -golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= -golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= +golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A= -google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= +google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= -gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= +gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo= +gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.34.4 h1:Z5hsoQcZ2yBjelb9j5JKzCVo9qv9XLkVm5llnqS4h+0= -k8s.io/api v0.34.4/go.mod h1:6SaGYuGPkMqqCgg8rPG/OQoCrhgSEV+wWn9v21fDP3o= -k8s.io/apimachinery v0.34.4 h1:C5SiSzLEMyWIk53sSbnk0WlOOyqv/MFnWvuc/d6M+xc= -k8s.io/apimachinery v0.34.4/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= -k8s.io/apiserver v0.34.4 h1:QmMakuCjlFBJpsXKIUom8OUE7+PhZk7hyNiLqlyDH58= -k8s.io/apiserver v0.34.4/go.mod h1:4dM2Pfd+VQQA/4pLVPorZJbIadaTLcvgQn2GYYcA6Ic= -k8s.io/client-go v0.34.4 h1:IXhvzFdm0e897kXtLbeyMpAGzontcShJ/gi/XCCsOLc= -k8s.io/client-go v0.34.4/go.mod h1:tXIVJTQabT5QRGlFdxZQFxrIhcGUPpKL5DAc4gSWTE8= +k8s.io/api v0.35.3 h1:pA2fiBc6+N9PDf7SAiluKGEBuScsTzd2uYBkA5RzNWQ= +k8s.io/api v0.35.3/go.mod h1:9Y9tkBcFwKNq2sxwZTQh1Njh9qHl81D0As56tu42GA4= +k8s.io/apiextensions-apiserver v0.35.3 h1:2fQUhEO7P17sijylbdwt0nBdXP0TvHrHj0KeqHD8FiU= +k8s.io/apiextensions-apiserver v0.35.3/go.mod h1:tK4Kz58ykRpwAEkXUb634HD1ZAegEElktz/B3jgETd8= +k8s.io/apimachinery v0.35.3 h1:MeaUwQCV3tjKP4bcwWGgZ/cp/vpsRnQzqO6J6tJyoF8= +k8s.io/apimachinery v0.35.3/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= +k8s.io/apiserver v0.35.3 h1:D2eIcfJ05hEAEewoSDg+05e0aSRwx8Y4Agvd/wiomUI= +k8s.io/apiserver v0.35.3/go.mod h1:JI0n9bHYzSgIxgIrfe21dbduJ9NHzKJ6RchcsmIKWKY= +k8s.io/client-go v0.35.3 h1:s1lZbpN4uI6IxeTM2cpdtrwHcSOBML1ODNTCCfsP1pg= +k8s.io/client-go v0.35.3/go.mod h1:RzoXkc0mzpWIDvBrRnD+VlfXP+lRzqQjCmKtiwZ8Q9c= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA= -k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts= -k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y= -k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE= -sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= +k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= +k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= +k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= +k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= +sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= diff --git a/hack/openapi-schema/main.go b/hack/openapi-schema/main.go new file mode 100644 index 00000000..860cd653 --- /dev/null +++ b/hack/openapi-schema/main.go @@ -0,0 +1,96 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. +// +// 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. + +// openapi-schema dumps the Calico OpenAPI schema as Swagger 2.0 JSON to stdout. +// The output is consumed by applyconfiguration-gen --openapi-schema to populate +// the structured-merge-diff type information needed by fake.NewClientset(). +package main + +import ( + "encoding/json" + "fmt" + "os" + "strings" + + "github.com/projectcalico/api/pkg/openapi" + "k8s.io/kube-openapi/pkg/util" + "k8s.io/kube-openapi/pkg/validation/spec" +) + +// sanitizeForSwagger2 removes OpenAPI 3.0 fields (like oneOf) that are not +// valid in Swagger 2.0 and cause the gnostic parser to reject the document. +func sanitizeForSwagger2(defs spec.Definitions) { + for name, schema := range defs { + schema.OneOf = nil + schema.AnyOf = nil + defs[name] = schema + } +} + +// toFriendlyName converts a Go type name to REST-friendly format if needed. +// Keys from OpenAPIModelName() are already REST-friendly (no "/" in them). +// Keys that are raw Go package paths (contain "/") need conversion. +func toFriendlyName(name string) string { + if strings.Contains(name, "/") { + return util.ToRESTFriendlyName(name) + } + return name +} + +func main() { + // Build a $ref callback that produces REST-friendly $ref paths. + refFunc := func(path string) spec.Ref { + friendlyName := toFriendlyName(path) + ref, _ := spec.NewRef("#/definitions/" + friendlyName) + return ref + } + + // Get all OpenAPI definitions (Calico + transitive k8s dependencies). + allDefs := openapi.GetOpenAPIDefinitions(refFunc) + + // Build Swagger definitions map with REST-friendly names. + definitions := spec.Definitions{} + for goType, def := range allDefs { + friendlyName := toFriendlyName(goType) + definitions[friendlyName] = def.Schema + } + + sanitizeForSwagger2(definitions) + + swagger := &spec.Swagger{ + SwaggerProps: spec.SwaggerProps{ + Swagger: "2.0", + Info: &spec.Info{ + InfoProps: spec.InfoProps{ + Title: "Calico API", + Version: "v3", + }, + }, + Paths: &spec.Paths{}, + Definitions: definitions, + }, + } + + data, err := json.MarshalIndent(swagger, "", " ") + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to marshal schema: %v\n", err) + os.Exit(1) + } + + _, err = os.Stdout.Write(data) + if err != nil { + fmt.Fprintf(os.Stderr, "Failed to write: %v\n", err) + os.Exit(1) + } +} diff --git a/lib.Makefile b/lib.Makefile index 615278bf..c795b8ce 100644 --- a/lib.Makefile +++ b/lib.Makefile @@ -21,28 +21,7 @@ test: ut fv st # The target architecture is select by setting the ARCH variable. # When ARCH is undefined it is set to the detected host architecture. # When ARCH differs from the host architecture a crossbuild will be performed. -# This variable is only set if ARCHES is not set -ARCHES ?= $(patsubst docker-image/Dockerfile.%,%,$(wildcard docker-image/Dockerfile.*)) - -# Some repositories keep their Dockerfile(s) in the sub-directories of the 'docker-image' -# directory (e.g., voltron). Make sure ARCHES gets filled from all unique Dockerfiles. -ifeq ($(ARCHES),) - dockerfiles_in_subdir=$(wildcard docker-image/**/Dockerfile.*) - ifneq ($(dockerfiles_in_subdir),) - ARCHES=$(patsubst Dockerfile.%,%,$(shell basename -a $(dockerfiles_in_subdir) | sort | uniq)) - endif -endif - -# Some repositories keep their Dockerfile(s) in the root directory instead of in -# the 'docker-image' subdir. Make sure ARCHES gets filled in either way. -ifeq ($(ARCHES),) - ARCHES=$(patsubst Dockerfile.%,%,$(wildcard Dockerfile.*)) -endif - -# If architectures cannot infer from Dockerfiles, set default supported architecture. -ifeq ($(ARCHES),) - ARCHES=amd64 arm64 -endif +ARCHES ?= amd64 arm64 # list of arches *not* to build when doing *-all EXCLUDEARCH?=ppc64le s390x @@ -100,6 +79,9 @@ endif # Enable binfmt adding support for miscellaneous binary formats. # This is only needed when running non-native binaries. +# Marked .PHONY since it produces no file; use as an order-only prerequisite +# (| register) to avoid triggering unnecessary rebuilds. +.PHONY: register register: ifneq ($(BUILDARCH),$(ARCH)) docker run --privileged --rm calico/binfmt:qemu-v10.1.3 --install all || true @@ -396,11 +378,10 @@ DOCKER_PULL = endif # DOCKER_BUILD is the base build command used for building all images. -DOCKER_BUILD=docker buildx build --load --platform=linux/$(ARCH) $(DOCKER_PULL)\ - --build-arg UBI_IMAGE=$(UBI_IMAGE) \ - --build-arg GIT_VERSION=$(GIT_VERSION) \ +DOCKER_BUILD=docker buildx build --load --platform=linux/$(ARCH) $(DOCKER_PULL) \ --build-arg CALICO_BASE=$(CALICO_BASE) \ - --build-arg BPFTOOL_IMAGE=$(BPFTOOL_IMAGE) + --build-arg GIT_VERSION=$(GIT_VERSION) \ + --build-arg UBI_IMAGE=$(UBI_IMAGE) DOCKER_BUILD_THIRD_PARTY = $(DOCKER_BUILD) \ --build-arg THIRD_PARTY_REGISTRY=$(THIRD_PARTY_REGISTRY) \ @@ -505,6 +486,29 @@ define host_native_deb_build sh -c 'cd package/$(1)/$(2) && debuild -us -uc -b' endef +############################################################################### +# Source file dependency tracking via deps.txt +# +# Each component's deps.txt contains both external module dependencies and +# local in-repo package directories (prefixed with "local:"). If deps.txt +# has local entries, SRC_FILES is automatically populated with all .go files +# in those directories. Components can append extra non-Go dependencies +# (e.g., BPF .c/.h files) after including lib.Makefile. +# +# IMAGE_DEPS lists non-Go files that the Docker image depends on (Dockerfiles, +# config templates, scripts, etc.). Components should override or append to +# this variable and include $(IMAGE_DEPS) in their .image.created prereqs. +############################################################################### +ifneq ($(wildcard deps.txt),) +SRC_FILES := $(shell find $(addprefix $(REPO_ROOT)/,$(shell grep '^local:' deps.txt | cut -d: -f2-)) -name '*.go' 2>/dev/null) +endif + +IMAGE_DEPS ?= Dockerfile + +# Expand a component's deps.txt local entries to the list of .go files. +# Usage: $(call local-deps-go-files,) +local-deps-go-files = $(shell find $(addprefix $(REPO_ROOT)/,$(shell grep '^local:' $(REPO_ROOT)/$(1)/deps.txt | cut -d: -f2-)) -name '*.go' 2>/dev/null) + # A target that does nothing but it always stale, used to force a rebuild on certain targets based on some non-file criteria. .PHONY: force-rebuild force-rebuild: @@ -843,7 +847,7 @@ trigger-auto-pin-update-process-wrapped: create-pin-update-head trigger-pin-upda static-checks: $(LOCAL_CHECKS) $(MAKE) golangci-lint -LINT_ARGS ?= --max-issues-per-linter 0 --max-same-issues 0 --timeout 8m +LINT_ARGS ?= --max-issues-per-linter 0 --max-same-issues 0 --timeout 15m .PHONY: golangci-lint golangci-lint: $(GENERATED_FILES) @@ -989,7 +993,7 @@ SEMAPHORE_TYPHA_PROJECT_ID=c2ea3f0a-58a0-427a-9ed5-6eff8d6543b3 SEMAPHORE_TYPHA_PRIVATE_PROJECT_ID=51e84cb9-0f38-408a-a113-0f5ca71844d7 SEMAPHORE_VOLTRON_PROJECT_ID=9d239362-9594-4c84-8983-868ee19ebd41 -SEMAPHORE_WORKFLOW_BRANCH?=master +SEMAPHORE_WORKFLOW_BRANCH?=release-calient-v3.23 # Sends a request to the semaphore API to run the request workflow. It requires setting the SEMAPHORE_API_TOKEN, SEMAPHORE_PROJECT_ID, # SEMAPHORE_WORKFLOW_BRANCH, and SEMAPHORE_WORKFLOW_FILE ENV variables. @@ -1026,14 +1030,19 @@ gen-mocks: # The generated files need import reordering to pass static-checks $(MAKE) fix-changed -# Run mockery for each path in MOCKERY_FILE_PATHS. The the generated mocks are -# created in package and in test files. Look here for more information https://github.com/vektra/mockery +# Run mockery to generate mocks. If a .mockery.yaml config file exists (mockery v3), +# run mockery with that config. Otherwise, fall back to the v2 CLI flags using MOCKERY_FILE_PATHS. +# Look here for more information https://github.com/vektra/mockery mockery-run: - for FILE_PATH in $(MOCKERY_FILE_PATHS); do\ - DIR=$$(dirname $$FILE_PATH); \ - INTERFACE_NAME=$$(basename $$FILE_PATH); \ - mockery --dir $$DIR --name $$INTERFACE_NAME --inpackage; \ - done + if [ -f .mockery.yaml ] || [ -f .mockery.yml ]; then \ + mockery; \ + else \ + for FILE_PATH in $(MOCKERY_FILE_PATHS); do\ + DIR=$$(dirname $$FILE_PATH); \ + INTERFACE_NAME=$$(basename $$FILE_PATH); \ + mockery --dir $$DIR --name $$INTERFACE_NAME --inpackage; \ + done; \ + fi ############################################################################### # Docker helpers @@ -1514,6 +1523,7 @@ run-k8s-apiserver: run-etcd --max-requests-inflight=0 \ --enable-aggregator-routing \ --requestheader-client-ca-file=/home/user/certs/ca.pem \ + --requestheader-allowed-names=kubernetes \ --requestheader-username-headers=X-Remote-User \ --requestheader-group-headers=X-Remote-Group \ --requestheader-extra-headers-prefix=X-Remote-Extra- \ @@ -1601,7 +1611,7 @@ $(REPO_ROOT)/.$(KIND_NAME).created: $(KUBECTL) $(KIND) touch $@ -kind-cluster-destroy: $(KIND) $(KUBECTL) +kind-cluster-destroy kind-down: $(KIND) $(KUBECTL) # We need to drain the cluster gracefully when shutting down to avoid a netdev unregister error from the kernel. # This requires we execute CNI del on pods with pod networking. -$(KIND) delete cluster --name $(KIND_NAME) @@ -1678,6 +1688,317 @@ bin/yq: curl -sSfL --retry 5 https://github.com/mikefarah/yq/releases/download/v4.44.6/yq_linux_$(BUILDARCH).tar.gz | tar xz -C bin ./yq_linux_$(BUILDARCH) && \ mv bin/yq_linux_$(BUILDARCH) bin/yq +############################################################################### +# Common functions for setting up a kind cluster with Calico for testing. +############################################################################### +KIND_INFRA_DIR := $(REPO_ROOT)/hack/test/kind/infra +KIND_TEST_BUILD_TAG = test-build + +# Calico images built locally with latest-$(ARCH) tags. kind-build-images +# re-tags each as :test-build for the kind cluster. +KIND_CALICO_IMAGES = \ + tigera/node:$(KIND_TEST_BUILD_TAG) \ + tigera/typha:$(KIND_TEST_BUILD_TAG) \ + tigera/apiserver:$(KIND_TEST_BUILD_TAG) \ + tigera/calicoctl:$(KIND_TEST_BUILD_TAG) \ + tigera/cni:$(KIND_TEST_BUILD_TAG) \ + tigera/csi:$(KIND_TEST_BUILD_TAG) \ + tigera/node-driver-registrar:$(KIND_TEST_BUILD_TAG) \ + tigera/pod2daemon-flexvol:$(KIND_TEST_BUILD_TAG) \ + tigera/kube-controllers:$(KIND_TEST_BUILD_TAG) \ + tigera/webhooks:$(KIND_TEST_BUILD_TAG) + +# Operator is built separately (build-operator.sh tags it directly as +# :test-build), so it's not in KIND_CALICO_IMAGES. +KIND_OPERATOR_IMAGE = docker.io/tigera/operator:$(KIND_TEST_BUILD_TAG) + +# All images loaded onto the kind cluster. +KIND_IMAGES = $(KIND_OPERATOR_IMAGE) $(KIND_CALICO_IMAGES) + +# Enterprise-only: paths to license and pull secret for kind cluster setup. +GCR_IO_PULL_SECRET ?= $(HOME)/secrets/docker_cfg.json +TSEE_TEST_LICENSE ?= $(HOME)/secrets/license.yaml + +# Enterprise-only images (all images loaded onto the kind cluster). +# Enterprise images built locally with latest-$(ARCH) tags. kind-build-images +# re-tags each as :test-build for the kind cluster. +KIND_ENTERPRISE_LOCAL_IMAGES = \ + tigera/egress-gateway:$(KIND_TEST_BUILD_TAG) \ + tigera/queryserver:$(KIND_TEST_BUILD_TAG) \ + tigera/prometheus-service:$(KIND_TEST_BUILD_TAG) \ + tigera/fluentd:$(KIND_TEST_BUILD_TAG) \ + tigera/policy-recommendation:$(KIND_TEST_BUILD_TAG) \ + tigera/voltron:$(KIND_TEST_BUILD_TAG) \ + tigera/ui-apis:$(KIND_TEST_BUILD_TAG) \ + tigera/es-gateway:$(KIND_TEST_BUILD_TAG) \ + tigera/linseed:$(KIND_TEST_BUILD_TAG) \ + tigera/intrusion-detection-controller:$(KIND_TEST_BUILD_TAG) \ + tigera/webhooks-processor:$(KIND_TEST_BUILD_TAG) \ + tigera/intrusion-detection-job-installer:$(KIND_TEST_BUILD_TAG) \ + tigera/elasticsearch-metrics:$(KIND_TEST_BUILD_TAG) \ + tigera/prometheus-operator:$(KIND_TEST_BUILD_TAG) \ + tigera/prometheus-config-reloader:$(KIND_TEST_BUILD_TAG) \ + tigera/eck-operator:$(KIND_TEST_BUILD_TAG) + +# Enterprise images pulled from a registry. Stamp rules pull and tag as +# latest-$(ARCH); the common tagging loop handles the final tag. +KIND_ENTERPRISE_PULLED_IMAGES = \ + tigera/prometheus:$(KIND_TEST_BUILD_TAG) \ + tigera/alertmanager:$(KIND_TEST_BUILD_TAG) \ + tigera/manager:$(KIND_TEST_BUILD_TAG) \ + tigera/kibana:$(KIND_TEST_BUILD_TAG) \ + tigera/elasticsearch:$(KIND_TEST_BUILD_TAG) + +# All enterprise images = locally built + pulled from registry. +KIND_CALICO_ENTERPRISE_IMAGES = $(KIND_ENTERPRISE_LOCAL_IMAGES) $(KIND_ENTERPRISE_PULLED_IMAGES) + +KIND_IMAGES += $(KIND_CALICO_ENTERPRISE_IMAGES) + +# .image.created markers: the per-component image build stamp files. +# Each depends on its source files via deps.txt so Make knows when +# to rebuild. The sub-make handles the actual build; we just ensure it +# runs when sources are newer. +KIND_IMAGE_MARKERS = \ + $(REPO_ROOT)/node/.image.created-$(ARCH) \ + $(REPO_ROOT)/typha/.image.created-$(ARCH) \ + $(REPO_ROOT)/apiserver/.image.created-$(ARCH) \ + $(REPO_ROOT)/cni-plugin/.image.created-$(ARCH) \ + $(REPO_ROOT)/pod2daemon/.image.created-$(ARCH) \ + $(REPO_ROOT)/calicoctl/.image.created-$(ARCH) \ + $(REPO_ROOT)/kube-controllers/.image.created-$(ARCH) \ + $(REPO_ROOT)/webhooks/.image.created-$(ARCH) + +$(REPO_ROOT)/node/.image.created-$(ARCH): $(call local-deps-go-files,node) + $(MAKE) -C $(REPO_ROOT)/node image + +$(REPO_ROOT)/typha/.image.created-$(ARCH): $(call local-deps-go-files,typha) + $(MAKE) -C $(REPO_ROOT)/typha image + +$(REPO_ROOT)/apiserver/.image.created-$(ARCH): $(call local-deps-go-files,apiserver) + $(MAKE) -C $(REPO_ROOT)/apiserver image + +$(REPO_ROOT)/cni-plugin/.image.created-$(ARCH): $(call local-deps-go-files,cni-plugin) + $(MAKE) -C $(REPO_ROOT)/cni-plugin image + +$(REPO_ROOT)/pod2daemon/.image.created-$(ARCH): $(call local-deps-go-files,pod2daemon) + $(MAKE) -C $(REPO_ROOT)/pod2daemon image + +$(REPO_ROOT)/calicoctl/.image.created-$(ARCH): $(call local-deps-go-files,calicoctl) + $(MAKE) -C $(REPO_ROOT)/calicoctl image + +$(REPO_ROOT)/kube-controllers/.image.created-$(ARCH): $(call local-deps-go-files,kube-controllers) + $(MAKE) -C $(REPO_ROOT)/kube-controllers image + +$(REPO_ROOT)/webhooks/.image.created-$(ARCH): $(call local-deps-go-files,webhooks) + $(MAKE) -C $(REPO_ROOT)/webhooks image + +# Operator is built from a separate repo/branch and depends on all other +# images being built first. +$(REPO_ROOT)/.stamp.operator: $(KIND_IMAGE_MARKERS) $(KIND_INFRA_DIR)/calico_versions.yml + cd $(KIND_INFRA_DIR) && BRANCH=$(OPERATOR_BRANCH) ./build-operator.sh + touch $@ + +# Enterprise-only image markers for locally-built components. These follow +# the same pattern as KIND_IMAGE_MARKERS: source deps so Make knows when +# to rebuild. Components with deps.txt use local-deps-go-files; third_party +# components without deps.txt approximate with find. +KIND_ENTERPRISE_IMAGE_MARKERS = \ + $(REPO_ROOT)/egress-gateway/.image.created-$(ARCH) \ + $(REPO_ROOT)/queryserver/.image.created-$(ARCH) \ + $(REPO_ROOT)/prometheus-service/.image.created-$(ARCH) \ + $(REPO_ROOT)/fluentd/.image.created-$(ARCH) \ + $(REPO_ROOT)/policy-recommendation/.image.created-$(ARCH) \ + $(REPO_ROOT)/voltron/.image.created-$(ARCH) \ + $(REPO_ROOT)/ui-apis/.image.created-$(ARCH) \ + $(REPO_ROOT)/es-gateway/.image.created-$(ARCH) \ + $(REPO_ROOT)/linseed/.image.created-$(ARCH) \ + $(REPO_ROOT)/intrusion-detection-controller/.image.created-$(ARCH) \ + $(REPO_ROOT)/webhooks-processor/.image.created-$(ARCH) \ + $(REPO_ROOT)/intrusion-detection-controller/.dashboards-installer.image.created-$(ARCH) \ + $(REPO_ROOT)/elasticsearch-metrics/.image.created-$(ARCH) \ + $(REPO_ROOT)/third_party/prometheus-operator/.prometheus-operator.created-$(ARCH) \ + $(REPO_ROOT)/third_party/prometheus-operator/.prometheus-config-reloader.created-$(ARCH) \ + $(REPO_ROOT)/third_party/eck-operator/.eck-operator.created-$(ARCH) + +# Enterprise-only markers for images pulled from a registry. These have +# no local source deps and are pulled once per stamp lifetime. +KIND_ENTERPRISE_PULLED_IMAGE_MARKERS = \ + $(REPO_ROOT)/.stamp.prometheus \ + $(REPO_ROOT)/.stamp.alertmanager \ + $(REPO_ROOT)/.stamp.manager \ + $(REPO_ROOT)/.stamp.kibana \ + $(REPO_ROOT)/.stamp.elastic + +## Build all component images needed for kind cluster testing, then tag them. +.PHONY: kind-build-images +kind-build-images: $(KIND_IMAGE_MARKERS) $(REPO_ROOT)/.stamp.operator $(KIND_ENTERPRISE_IMAGE_MARKERS) $(KIND_ENTERPRISE_PULLED_IMAGE_MARKERS) + @for img in $(KIND_CALICO_IMAGES); do \ + base=$${img%%:*}; \ + docker tag $$base:latest-$(ARCH) $$img; \ + done + @for img in $(KIND_CALICO_ENTERPRISE_IMAGES); do \ + base=$${img%%:*}; \ + docker tag $$base:latest-$(ARCH) $$img; \ + done + +# Create a kind cluster and deploy Calico on it via Helm. Assumes images are +# already built and tagged as test-build in the local Docker daemon. If a +# cluster already exists (stamp file present), the creation step is skipped. +# Default to v3 CRDs for kind clusters. Override with KIND_CALICO_API_GROUP=crd.projectcalico.org/v1 if needed. +KIND_CALICO_API_GROUP ?= projectcalico.org/v3 + +# Load images, install Calico via Helm, and wait for readiness on an existing +# kind cluster. Use kind-up for end-to-end bringup (images + cluster + deploy). +.PHONY: kind-deploy +kind-deploy: + $(MAKE) -C $(REPO_ROOT) chart CALICO_API_GROUP=$(KIND_CALICO_API_GROUP) + REPO_ROOT=$(REPO_ROOT) \ + KUBECONFIG=$(KIND_KUBECONFIG) \ + KIND=$(KIND) \ + KIND_NAME=$(KIND_NAME) \ + ARCH=$(ARCH) \ + GIT_VERSION=$(GIT_VERSION) \ + CALICO_API_GROUP=$(KIND_CALICO_API_GROUP) \ + CLUSTER_ROUTING=$(CLUSTER_ROUTING) \ + TSEE_TEST_LICENSE=$(TSEE_TEST_LICENSE) \ + GCR_IO_PULL_SECRET=$(GCR_IO_PULL_SECRET) \ + KIND_IMAGES="$(KIND_IMAGES)" \ + $(REPO_ROOT)/hack/test/kind/deploy_resources.sh + +# Rebuild any images whose source files have changed, load onto the kind +# cluster, and restart pods. +.PHONY: kind-reload +kind-reload: kind-build-images + KIND=$(KIND) KIND_NAME=$(KIND_NAME) $(REPO_ROOT)/hack/test/kind/load_images.sh $(KIND_IMAGES) + KUBECONFIG=$(KIND_KUBECONFIG) $(KUBECTL) delete pods -n calico-system --all + KUBECONFIG=$(KIND_KUBECONFIG) $(KUBECTL) apply -f $(KIND_INFRA_DIR)/calicoctl.yaml + +# Enterprise-only image build rules. + +# Locally-built enterprise components with deps.txt: these use the same +# .image.created pattern as OSS components so Make tracks source changes. +$(REPO_ROOT)/egress-gateway/.image.created-$(ARCH): $(call local-deps-go-files,egress-gateway) + $(MAKE) -C $(REPO_ROOT)/egress-gateway image + +$(REPO_ROOT)/queryserver/.image.created-$(ARCH): $(call local-deps-go-files,queryserver) + $(MAKE) -C $(REPO_ROOT)/queryserver image + +$(REPO_ROOT)/prometheus-service/.image.created-$(ARCH): $(call local-deps-go-files,prometheus-service) + $(MAKE) -C $(REPO_ROOT)/prometheus-service image + +$(REPO_ROOT)/fluentd/.image.created-$(ARCH): $(call local-deps-go-files,fluentd) + $(MAKE) -C $(REPO_ROOT)/fluentd image THIRD_PARTY_REGISTRY=$(THIRD_PARTY_REGISTRY_CD) + +$(REPO_ROOT)/policy-recommendation/.image.created-$(ARCH): $(call local-deps-go-files,policy-recommendation) + $(MAKE) -C $(REPO_ROOT)/policy-recommendation image + +$(REPO_ROOT)/voltron/.image.created-$(ARCH): $(call local-deps-go-files,voltron) + $(MAKE) -C $(REPO_ROOT)/voltron image + +$(REPO_ROOT)/ui-apis/.image.created-$(ARCH): $(call local-deps-go-files,ui-apis) + $(MAKE) -C $(REPO_ROOT)/ui-apis image + +$(REPO_ROOT)/es-gateway/.image.created-$(ARCH): $(call local-deps-go-files,es-gateway) + $(MAKE) -C $(REPO_ROOT)/es-gateway image + +$(REPO_ROOT)/linseed/.image.created-$(ARCH): $(call local-deps-go-files,linseed) + $(MAKE) -C $(REPO_ROOT)/linseed image + +$(REPO_ROOT)/intrusion-detection-controller/.image.created-$(ARCH): $(call local-deps-go-files,intrusion-detection-controller) + $(MAKE) -C $(REPO_ROOT)/intrusion-detection-controller image + +$(REPO_ROOT)/webhooks-processor/.image.created-$(ARCH): $(call local-deps-go-files,webhooks-processor) + $(MAKE) -C $(REPO_ROOT)/webhooks-processor image + +$(REPO_ROOT)/intrusion-detection-controller/.dashboards-installer.image.created-$(ARCH): $(call local-deps-go-files,intrusion-detection-controller) + $(MAKE) -C $(REPO_ROOT)/intrusion-detection-controller intrusion-detection-job-installer + +$(REPO_ROOT)/elasticsearch-metrics/.image.created-$(ARCH): $(call local-deps-go-files,elasticsearch-metrics) + $(MAKE) -C $(REPO_ROOT)/elasticsearch-metrics image + +# Third-party locally-built images: use find for source deps since these +# don't have deps.txt. The component Makefiles create the marker files. +$(REPO_ROOT)/third_party/prometheus-operator/.prometheus-operator.created-$(ARCH): $(shell find $(REPO_ROOT)/third_party/prometheus-operator -name '*.go') + $(MAKE) -C $(REPO_ROOT)/third_party/prometheus-operator image + +$(REPO_ROOT)/third_party/prometheus-operator/.prometheus-config-reloader.created-$(ARCH): $(shell find $(REPO_ROOT)/third_party/prometheus-operator -name '*.go') + $(MAKE) -C $(REPO_ROOT)/third_party/prometheus-operator image + +$(REPO_ROOT)/third_party/eck-operator/.eck-operator.created-$(ARCH): $(shell find $(REPO_ROOT)/third_party/eck-operator -name '*.go') + $(MAKE) -C $(REPO_ROOT)/third_party/eck-operator image + +# GCR-pulled images: no local source deps, use stamp files. Tag as +# latest-$(ARCH) so the common tagging loop handles the final tag. +$(REPO_ROOT)/.stamp.prometheus: + # TODO: Build this. We cannot at the moment because it relies on the host OS npm / go toolchain. + docker pull gcr.io/unique-caldron-775/cnx/tigera/prometheus:$(THIRD_PARTY_RELEASE_BRANCH) + docker tag gcr.io/unique-caldron-775/cnx/tigera/prometheus:$(THIRD_PARTY_RELEASE_BRANCH) tigera/prometheus:latest-$(ARCH) + touch $@ + +$(REPO_ROOT)/.stamp.alertmanager: + # TODO: Build this. + docker pull gcr.io/unique-caldron-775/cnx/tigera/alertmanager:$(THIRD_PARTY_RELEASE_BRANCH) + docker tag gcr.io/unique-caldron-775/cnx/tigera/alertmanager:$(THIRD_PARTY_RELEASE_BRANCH) tigera/alertmanager:latest-$(ARCH) + touch $@ + +$(REPO_ROOT)/.stamp.manager: + # TODO + docker pull gcr.io/unique-caldron-775/cnx/tigera/manager:$(THIRD_PARTY_RELEASE_BRANCH) + docker tag gcr.io/unique-caldron-775/cnx/tigera/manager:$(THIRD_PARTY_RELEASE_BRANCH) tigera/manager:latest-$(ARCH) + touch $@ + +$(REPO_ROOT)/.stamp.kibana: + # TODO: Can we run without kibana? Requires operator change. + docker pull gcr.io/unique-caldron-775/cnx/tigera/kibana:$(THIRD_PARTY_RELEASE_BRANCH) + docker tag gcr.io/unique-caldron-775/cnx/tigera/kibana:$(THIRD_PARTY_RELEASE_BRANCH) tigera/kibana:latest-$(ARCH) + touch $@ + +$(REPO_ROOT)/.stamp.elastic: + # TODO: Build this. + docker pull gcr.io/unique-caldron-775/cnx/tigera/elasticsearch:$(THIRD_PARTY_RELEASE_BRANCH) + docker tag gcr.io/unique-caldron-775/cnx/tigera/elasticsearch:$(THIRD_PARTY_RELEASE_BRANCH) tigera/elasticsearch:latest-$(ARCH) + touch $@ + +############################################################################### +# Common functions for setting up a local envtest environment. +############################################################################### +ENVTEST_DIR := $(REPO_ROOT)/hack/test/envtest +ENVTEST_CONTAINER_DIR := /go/src/github.com/projectcalico/calico/hack/test/envtest +# Derive major.minor from K8S_VERSION (e.g. v1.34.3 -> 1.34.x) for setup-envtest. +# Envtest publishes binaries per minor version, not per patch, so we use a wildcard. +ENVTEST_K8S_VERSION ?= $(shell echo $(K8S_VERSION) | sed 's/^v//' | cut -d. -f1,2).x +ENVTEST_ASSETS_MARKER := $(ENVTEST_DIR)/.envtest-$(ENVTEST_K8S_VERSION) + +## Download envtest binaries (kube-apiserver, etcd) for use by tests that use controller-runtime envtest. +.PHONY: setup-envtest +setup-envtest: $(ENVTEST_ASSETS_MARKER) +$(ENVTEST_ASSETS_MARKER): + @echo "Setting up envtest binaries for Kubernetes $(ENVTEST_K8S_VERSION)..." + mkdir -p $(ENVTEST_DIR) + rm -f $(ENVTEST_DIR)/.envtest-* + $(DOCKER_GO_BUILD) sh -c \ + 'go run sigs.k8s.io/controller-runtime/tools/setup-envtest@v0.0.0-20260119123727-a2de7e94d2dd \ + use --bin-dir $(ENVTEST_CONTAINER_DIR) -p path $(ENVTEST_K8S_VERSION)' + touch $@ + +# Minimum supported Kubernetes version for CEL XValidation (GA in 1.29). +MIN_K8S_VERSION ?= v1.29.0 +ENVTEST_MIN_K8S_VERSION ?= $(shell echo $(MIN_K8S_VERSION) | sed 's/^v//' | cut -d. -f1,2).x +# Major.minor prefix for globbing the downloaded envtest directory (e.g. "1.29"). +ENVTEST_MIN_K8S_MINOR := $(shell echo $(MIN_K8S_VERSION) | sed 's/^v//' | cut -d. -f1,2) +ENVTEST_MIN_ASSETS_MARKER := $(ENVTEST_DIR)/.envtest-min-$(ENVTEST_MIN_K8S_VERSION) + +## Download envtest binaries for the minimum supported Kubernetes version. +.PHONY: setup-envtest-min +setup-envtest-min: $(ENVTEST_MIN_ASSETS_MARKER) +$(ENVTEST_MIN_ASSETS_MARKER): + @echo "Setting up envtest binaries for minimum K8s $(ENVTEST_MIN_K8S_VERSION)..." + mkdir -p $(ENVTEST_DIR) + $(DOCKER_GO_BUILD) sh -c \ + 'go run sigs.k8s.io/controller-runtime/tools/setup-envtest@v0.0.0-20260119123727-a2de7e94d2dd \ + use --bin-dir $(ENVTEST_CONTAINER_DIR) -p path $(ENVTEST_MIN_K8S_VERSION)' + touch $@ + ############################################################################### # Common functions for launching a local etcd instance. ############################################################################### diff --git a/metadata.mk b/metadata.mk index c686fc11..98ed5514 100644 --- a/metadata.mk +++ b/metadata.mk @@ -3,16 +3,15 @@ ################################################################################################# # Calico toolchain versions and the calico/base image to use. -GO_BUILD_VER=1.25.7-llvm18.1.8-k8s1.34.4 +GO_BUILD_VER=1.25.8-llvm18.1.8-k8s1.35.3 RUST_BUILD_VER=1.93.1 # Calico Enterprise shipping images now builds on UBI 10. For Calico OSS to Enterprise merges, # please don't downgrade the base image back to UBI 9. CALICO_BASE_VER=ubi10-1771532994 -# Version of Kubernetes to use for tests, rancher/kubectl, and kubectl binary release in -# confd and kube-controllers. -K8S_VERSION=v1.34.4 +# Version of Kubernetes to use for tests, rancher/kubectl, and kubectl binary release. +K8S_VERSION=v1.35.2 # Version of various tools used in the build and tests. COREDNS_VERSION=1.5.2 @@ -22,9 +21,9 @@ GHR_VERSION=v0.17.0 GITHUB_CLI_VERSION=2.76.2 GOTESTSUM_VERSION=v1.12.3 HELM_VERSION=v3.16.4 -KINDEST_NODE_VERSION=v1.34.3 +KINDEST_NODE_VERSION=v1.35.1 KINDEST_NODE_VERSION_DUAL_TOR=v1.24.7 -KIND_VERSION=v0.29.0 +KIND_VERSION=v0.31.0 # This gets embedded into node as the Calico version, the Enterprise release # is based off of. This should be updated everytime a new opensource Calico @@ -94,11 +93,11 @@ LIBBPF_VERSION=v1.6.2 BPFTOOL_IMAGE=calico/bpftool:v7.5.0 # The operator branch corresponding to this branch. -OPERATOR_BRANCH ?= master +OPERATOR_BRANCH ?= release-v1.42 OPERATOR_ORGANIZATION ?= tigera OPERATOR_GIT_REPO ?= operator # The manager branch corresponding to this branch. -MANAGER_BRANCH ?= master +MANAGER_BRANCH ?= release-calient-v3.23 # quay.io expiry time for hashrelease/dev images QUAY_EXPIRE_DAYS=90 diff --git a/pkg/apis/projectcalico/v3/bgpconfig.go b/pkg/apis/projectcalico/v3/bgpconfig.go index 9468a5ba..9cf50208 100644 --- a/pkg/apis/projectcalico/v3/bgpconfig.go +++ b/pkg/apis/projectcalico/v3/bgpconfig.go @@ -66,6 +66,8 @@ const ( ) // BGPConfigurationSpec contains the values of the BGP configuration. +// +kubebuilder:validation:XValidation:rule="!has(self.nodeMeshPassword) || !has(self.nodeToNodeMeshEnabled) || self.nodeToNodeMeshEnabled == true",message="nodeMeshPassword cannot be set when nodeToNodeMeshEnabled is false",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="!has(self.nodeMeshMaxRestartTime) || !has(self.nodeToNodeMeshEnabled) || self.nodeToNodeMeshEnabled == true",message="nodeMeshMaxRestartTime cannot be set when nodeToNodeMeshEnabled is false",reason=FieldValueForbidden type BGPConfigurationSpec struct { // LogSeverityScreen is the log severity above which logs are sent to the stdout. [Default: Info] // +kubebuilder:default=Info @@ -157,6 +159,24 @@ type BGPConfigurationSpec struct { // +kubebuilder:validation:Enum=Enabled;Disabled // +optional ProgramClusterRoutes *string `json:"programClusterRoutes,omitempty"` + + // IPv4NormalRoutePriority is the normal route priority (metric) that Felix uses for IPv4 + // workload routes. This must match the value configured in FelixConfiguration. BIRD uses + // this to identify elevated-priority routes during live migration and to override local + // workload routes with higher-priority BGP-learned routes. [Default: 1024] + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=2147483646 + // +optional + IPv4NormalRoutePriority *int `json:"ipv4NormalRoutePriority,omitempty" validate:"omitempty,gte=1,lte=2147483646"` + + // IPv6NormalRoutePriority is the normal route priority (metric) that Felix uses for IPv6 + // workload routes. This must match the value configured in FelixConfiguration. BIRD uses + // this to identify elevated-priority routes during live migration and to override local + // workload routes with higher-priority BGP-learned routes. [Default: 1024] + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=2147483646 + // +optional + IPv6NormalRoutePriority *int `json:"ipv6NormalRoutePriority,omitempty" validate:"omitempty,gte=1,lte=2147483646"` } // ServiceLoadBalancerIPBlock represents a single allowed LoadBalancer IP CIDR block. diff --git a/pkg/apis/projectcalico/v3/bgpfilter.go b/pkg/apis/projectcalico/v3/bgpfilter.go index 92e93de0..141c03a0 100644 --- a/pkg/apis/projectcalico/v3/bgpfilter.go +++ b/pkg/apis/projectcalico/v3/bgpfilter.go @@ -15,6 +15,7 @@ package v3 import ( + "github.com/tigera/api/pkg/lib/numorstring" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -61,38 +62,156 @@ type BGPFilterSpec struct { ImportV6 []BGPFilterRuleV6 `json:"importV6,omitempty" validate:"omitempty,dive"` } -// BGPFilterRuleV4 defines a BGP filter rule consisting a single IPv4 CIDR block and a filter action for this CIDR. +// BGPFilterRuleV4 defines a BGP filter rule consisting of match criteria, a terminal action, +// and optional operations to apply to matching routes. // +mapType=atomic +// +kubebuilder:validation:XValidation:rule="(has(self.cidr) && size(self.cidr) > 0) == (has(self.matchOperator) && size(self.matchOperator) > 0)",message="cidr and matchOperator must both be set or both be empty",reason=FieldValueInvalid +// +kubebuilder:validation:XValidation:rule="!has(self.prefixLength) || (has(self.cidr) && size(self.cidr) > 0)",message="cidr is required when prefixLength is set",reason=FieldValueInvalid +// +kubebuilder:validation:XValidation:rule="!has(self.operations) || size(self.operations) == 0 || self.action == 'Accept'",message="operations may only be used with action Accept" type BGPFilterRuleV4 struct { + // If non-empty, this filter rule will only apply when the route being exported or imported + // "matches" the given CIDR - where the definition of "matches" is according to + // MatchOperator and PrefixLength. CIDR should be in conventional CIDR notation, + // /. // +kubebuilder:validation:Format=cidr + // +kubebuilder:validation:MaxLength=18 CIDR string `json:"cidr,omitempty" validate:"omitempty,netv4"` + // PrefixLength further constrains the CIDR match by restricting the range of allowed + // prefix lengths. For example, CIDR "10.0.0.0/8" with MatchOperator "In" and + // PrefixLength {min: 16, max: 24} matches any route within 10.0.0.0/8 whose prefix + // length is between /16 and /24. Requires CIDR to be set; if CIDR is omitted, + // PrefixLength is ignored. If PrefixLength is nil and CIDR is set, the CIDR's own + // prefix length is used as the minimum and /32 (for V4) as the maximum. + // +optional PrefixLength *BGPFilterPrefixLengthV4 `json:"prefixLength,omitempty" validate:"omitempty"` + // If set to "RemotePeers": for export rules, this filter rule will only apply to routes + // learned from BGP peers (i.e. re-advertised routes), not locally originated routes. + // For import rules, this field is redundant because imported routes are by definition + // from BGP peers. Source BGPFilterMatchSource `json:"source,omitempty" validate:"omitempty,oneof=RemotePeers"` + // If non-empty, this filter rule will only apply to routes with an outgoing interface that + // matches Interface. Interface string `json:"interface,omitempty" validate:"omitempty,bgpFilterInterface"` + // MatchOperator defines how the route's prefix is compared against CIDR. "Equal" requires + // an exact prefix match, "In" requires the route to be contained within the CIDR (or equal), + // "NotEqual" and "NotIn" are their negations. Only meaningful when CIDR is also specified. + // Required when CIDR is set. MatchOperator BGPFilterMatchOperator `json:"matchOperator,omitempty" validate:"omitempty,matchOperator"` + // If non-empty, this filter rule will only apply to routes being imported from or exported + // to a BGP peer of the specified type. If empty, the rule applies to all peers. + // +optional + PeerType BGPFilterPeerType `json:"peerType,omitempty" validate:"omitempty,oneof=eBGP iBGP"` + + // If set, this filter rule will only apply to routes that carry the specified BGP + // community. On import, this matches communities set by the remote peer. On export, + // this matches communities already present on the route, whether received from a BGP + // peer (e.g. on a route reflector re-advertising to an eBGP peer) or added locally + // by an import filter or an earlier export rule's AddCommunity operation. + // +optional + Communities *BGPFilterCommunityMatch `json:"communities,omitempty" validate:"omitempty"` + + // If non-empty, this filter rule will only apply to routes whose AS path begins with the + // specified sequence of AS numbers. + // +optional + ASPathPrefix []numorstring.ASNumber `json:"asPathPrefix,omitempty" validate:"omitempty"` + + // If set, this filter rule will only apply to routes with the given priority, in the + // same units as the ...RoutePriority fields in FelixConfiguration. + // +optional + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=2147483646 + Priority *int `json:"priority,omitempty" validate:"omitempty,gte=1,lte=2147483646"` + Action BGPFilterAction `json:"action" validate:"required,filterAction"` + + // Operations is an ordered list of route modifications to apply to matching routes before + // accepting them. Only valid when Action is "Accept"; specifying operations with "Reject" + // is rejected by validation. Each entry must set exactly one operation field. + // +optional + // +kubebuilder:validation:MinItems=1 + // +kubebuilder:validation:MaxItems=10 + Operations []BGPFilterOperation `json:"operations,omitempty" validate:"omitempty,dive"` } -// BGPFilterRuleV6 defines a BGP filter rule consisting a single IPv6 CIDR block and a filter action for this CIDR. +// BGPFilterRuleV6 defines a BGP filter rule consisting of match criteria, a terminal action, +// and optional operations to apply to matching routes. // +mapType=atomic +// +kubebuilder:validation:XValidation:rule="(has(self.cidr) && size(self.cidr) > 0) == (has(self.matchOperator) && size(self.matchOperator) > 0)",message="cidr and matchOperator must both be set or both be empty",reason=FieldValueInvalid +// +kubebuilder:validation:XValidation:rule="!has(self.prefixLength) || (has(self.cidr) && size(self.cidr) > 0)",message="cidr is required when prefixLength is set",reason=FieldValueInvalid +// +kubebuilder:validation:XValidation:rule="!has(self.operations) || size(self.operations) == 0 || self.action == 'Accept'",message="operations may only be used with action Accept" type BGPFilterRuleV6 struct { + // If non-empty, this filter rule will only apply when the route being exported or imported + // "matches" the given CIDR - where the definition of "matches" is according to + // MatchOperator and PrefixLength. CIDR should be in conventional CIDR notation, + // /. // +kubebuilder:validation:Format=cidr + // +kubebuilder:validation:MaxLength=43 CIDR string `json:"cidr,omitempty" validate:"omitempty,netv6"` + // PrefixLength further constrains the CIDR match by restricting the range of allowed + // prefix lengths. For example, CIDR "fd00::/8" with MatchOperator "In" and + // PrefixLength {min: 48, max: 64} matches any route within fd00::/8 whose prefix + // length is between /48 and /64. Requires CIDR to be set; if CIDR is omitted, + // PrefixLength is ignored. If PrefixLength is nil and CIDR is set, the CIDR's own + // prefix length is used as the minimum and /128 (for V6) as the maximum. + // +optional PrefixLength *BGPFilterPrefixLengthV6 `json:"prefixLength,omitempty" validate:"omitempty"` + // If set to "RemotePeers": for export rules, this filter rule will only apply to routes + // learned from BGP peers (i.e. re-advertised routes), not locally originated routes. + // For import rules, this field is redundant because imported routes are by definition + // from BGP peers. Source BGPFilterMatchSource `json:"source,omitempty" validate:"omitempty,oneof=RemotePeers"` + // If non-empty, this filter rule will only apply to routes with an outgoing interface that + // matches Interface. Interface string `json:"interface,omitempty" validate:"omitempty,bgpFilterInterface"` + // MatchOperator defines how the route's prefix is compared against CIDR. "Equal" requires + // an exact prefix match, "In" requires the route to be contained within the CIDR (or equal), + // "NotEqual" and "NotIn" are their negations. Only meaningful when CIDR is also specified. + // Required when CIDR is set. MatchOperator BGPFilterMatchOperator `json:"matchOperator,omitempty" validate:"omitempty,matchOperator"` + // If non-empty, this filter rule will only apply to routes being imported from or exported + // to a BGP peer of the specified type. If empty, the rule applies to all peers. + // +optional + PeerType BGPFilterPeerType `json:"peerType,omitempty" validate:"omitempty,oneof=eBGP iBGP"` + + // If set, this filter rule will only apply to routes that carry the specified BGP + // community. On import, this matches communities set by the remote peer. On export, + // this matches communities already present on the route, whether received from a BGP + // peer (e.g. on a route reflector re-advertising to an eBGP peer) or added locally + // by an import filter or an earlier export rule's AddCommunity operation. + // +optional + Communities *BGPFilterCommunityMatch `json:"communities,omitempty" validate:"omitempty"` + + // If non-empty, this filter rule will only apply to routes whose AS path begins with the + // specified sequence of AS numbers. + // +optional + ASPathPrefix []numorstring.ASNumber `json:"asPathPrefix,omitempty" validate:"omitempty"` + + // If set, this filter rule will only apply to routes with the given priority, in the + // same units as the ...RoutePriority fields in FelixConfiguration. + // +optional + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=2147483646 + Priority *int `json:"priority,omitempty" validate:"omitempty,gte=1,lte=2147483646"` + Action BGPFilterAction `json:"action" validate:"required,filterAction"` + + // Operations is an ordered list of route modifications to apply to matching routes before + // accepting them. Only valid when Action is "Accept"; specifying operations with "Reject" + // is rejected by validation. Each entry must set exactly one operation field. + // +optional + // +kubebuilder:validation:MinItems=1 + // +kubebuilder:validation:MaxItems=10 + Operations []BGPFilterOperation `json:"operations,omitempty" validate:"omitempty,dive"` } // +mapType=atomic @@ -126,10 +245,10 @@ const ( type BGPFilterMatchOperator string const ( - Equal BGPFilterMatchOperator = "Equal" - NotEqual BGPFilterMatchOperator = "NotEqual" - In BGPFilterMatchOperator = "In" - NotIn BGPFilterMatchOperator = "NotIn" + MatchOperatorEqual BGPFilterMatchOperator = "Equal" + MatchOperatorNotEqual BGPFilterMatchOperator = "NotEqual" + MatchOperatorIn BGPFilterMatchOperator = "In" + MatchOperatorNotIn BGPFilterMatchOperator = "NotIn" ) // +kubebuilder:validation:Enum=Accept;Reject @@ -140,6 +259,81 @@ const ( Reject BGPFilterAction = "Reject" ) +// BGPFilterPeerType specifies which type of BGP peer a filter rule applies to. +// +kubebuilder:validation:Enum=eBGP;iBGP +type BGPFilterPeerType string + +const ( + BGPFilterPeerTypeEBGP BGPFilterPeerType = "eBGP" + BGPFilterPeerTypeIBGP BGPFilterPeerType = "iBGP" +) + +// BGPCommunityValue is a BGP community string in `aa:nn` (standard) or `aa:nn:mm` (large) format. +// For standard communities, each component must be a 16-bit value (0-65535). +// For large communities, each component must be a 32-bit value (0-4294967295). +// +kubebuilder:validation:MaxLength=32 +// +kubebuilder:validation:Pattern=`^(([0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]):([0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])|([0-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[0-1][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[0-1][0-9]{2}|42949672[0-8][0-9]|429496729[0-5]):([0-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[0-1][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[0-1][0-9]{2}|42949672[0-8][0-9]|429496729[0-5]):([0-9]|[1-9][0-9]{1,8}|[1-3][0-9]{9}|4[0-1][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[0-1][0-9]{2}|42949672[0-8][0-9]|429496729[0-5]))$` +type BGPCommunityValue string + +// BGPFilterCommunityMatch specifies community-based match criteria for a BGP filter rule. +// Currently only a single community value is supported. A MatchOperator field may be +// introduced in the future to support anyOf/allOf semantics with multiple values. +// +mapType=atomic +type BGPFilterCommunityMatch struct { + // Values is a list of BGP community values to match against. + // +kubebuilder:validation:MinItems=1 + // +kubebuilder:validation:MaxItems=1 + Values []BGPCommunityValue `json:"values" validate:"required"` +} + +// BGPFilterOperation is a discriminated union representing a single route modification. +// Exactly one field must be set. +// +mapType=atomic +// +kubebuilder:validation:MinProperties=1 +// +kubebuilder:validation:MaxProperties=1 +type BGPFilterOperation struct { + // AddCommunity adds the specified BGP community to the route. + // +optional + AddCommunity *BGPFilterAddCommunity `json:"addCommunity,omitempty" validate:"omitempty"` + + // PrependASPath prepends the specified AS numbers to the route's AS path. + // +optional + PrependASPath *BGPFilterPrependASPath `json:"prependASPath,omitempty" validate:"omitempty"` + + // SetPriority sets the route's priority (metric), in the same units as the + // ...RoutePriority fields in FelixConfiguration. + // +optional + SetPriority *BGPFilterSetPriority `json:"setPriority,omitempty" validate:"omitempty"` +} + +// BGPFilterAddCommunity specifies a BGP community to add to a route. +// +mapType=atomic +type BGPFilterAddCommunity struct { + // Value is the BGP community to add. + Value *BGPCommunityValue `json:"value" validate:"required"` +} + +// BGPFilterPrependASPath specifies AS numbers to prepend to a route's AS path. +// +mapType=atomic +type BGPFilterPrependASPath struct { + // Prefix is the sequence of AS numbers to prepend to the route's AS path. + // The resulting path starts with these AS numbers in the order listed; + // e.g. [65000, 65001] produces the path "65000 65001 ". + // +kubebuilder:validation:MinItems=1 + // +kubebuilder:validation:MaxItems=10 + Prefix []numorstring.ASNumber `json:"prefix" validate:"required"` +} + +// BGPFilterSetPriority specifies a route priority to set. +// +mapType=atomic +type BGPFilterSetPriority struct { + // Value is the priority to set, in the same units as FelixConfiguration's + // ...RoutePriority fields. + // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Maximum=2147483646 + Value *int `json:"value" validate:"required,gte=1,lte=2147483646"` +} + // New BGPFilter creates a new (zeroed) BGPFilter struct with the TypeMetadata // initialized to the current version. func NewBGPFilter() *BGPFilter { diff --git a/pkg/apis/projectcalico/v3/bgppeer.go b/pkg/apis/projectcalico/v3/bgppeer.go index 01e46408..0264be8c 100644 --- a/pkg/apis/projectcalico/v3/bgppeer.go +++ b/pkg/apis/projectcalico/v3/bgppeer.go @@ -1,4 +1,4 @@ -// Copyright (c) 2017,2020-2021 Tigera, Inc. All rights reserved. +// Copyright (c) 2017,2020-2021,2026 Tigera, Inc. All rights reserved. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,16 +54,24 @@ type BGPPeer struct { } // BGPPeerSpec contains the specification for a BGPPeer resource. +// +kubebuilder:validation:XValidation:rule="(!has(self.node) || size(self.node) == 0) || (!has(self.nodeSelector) || size(self.nodeSelector) == 0)",message="node and nodeSelector cannot both be set",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="(!has(self.peerIP) || size(self.peerIP) == 0) || (!has(self.peerSelector) || size(self.peerSelector) == 0)",message="peerIP and peerSelector cannot both be set",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="(!has(self.peerSelector) || size(self.peerSelector) == 0) || !has(self.asNumber) || self.asNumber == 0",message="asNumber must be empty when peerSelector is set",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="(!has(self.localWorkloadSelector) || size(self.localWorkloadSelector) == 0) || (!has(self.peerIP) || size(self.peerIP) == 0)",message="peerIP must be empty when localWorkloadSelector is set",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="(!has(self.localWorkloadSelector) || size(self.localWorkloadSelector) == 0) || (!has(self.peerSelector) || size(self.peerSelector) == 0)",message="peerSelector must be empty when localWorkloadSelector is set",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="(!has(self.localWorkloadSelector) || size(self.localWorkloadSelector) == 0) || (has(self.asNumber) && self.asNumber != 0)",message="asNumber is required when localWorkloadSelector is set",reason=FieldValueInvalid type BGPPeerSpec struct { // The node name identifying the Calico node instance that is targeted by this peer. // If this is not set, and no nodeSelector is specified, then this BGP peer selects all // nodes in the cluster. // +optional + // +kubebuilder:validation:MaxLength=253 Node string `json:"node,omitempty" validate:"omitempty,name"` // Selector for the nodes that should have this peering. When this is set, the Node // field must be empty. // +optional + // +kubebuilder:validation:MaxLength=4096 NodeSelector string `json:"nodeSelector,omitempty" validate:"omitempty,selector"` // The IP address of the peer followed by an optional port number to peer with. @@ -71,6 +79,7 @@ type BGPPeerSpec struct { // If optional port number is not set, and this peer IP and ASNumber belongs to a calico/node // with ListenPort set in BGPConfiguration, then we use that port to peer. // +optional + // +kubebuilder:validation:MaxLength=64 PeerIP string `json:"peerIP,omitempty" validate:"omitempty,IP:port"` // The AS Number of the peer. @@ -93,6 +102,7 @@ type BGPPeerSpec struct { // NodeBGPSpec.IPv6Address specified. The remote AS number comes from the remote // node's NodeBGPSpec.ASNumber, or the global default if that is not set. // +optional + // +kubebuilder:validation:MaxLength=4096 PeerSelector string `json:"peerSelector,omitempty" validate:"omitempty,selector"` // Option to keep the original nexthop field when routes are sent to a BGP Peer. @@ -175,6 +185,7 @@ type BGPPeerSpec struct { // Selector for the local workload that the node should peer with. When this is set, the peerSelector and peerIP fields must be empty, // and the ASNumber must not be empty. // +optional + // +kubebuilder:validation:MaxLength=4096 LocalWorkloadSelector string `json:"localWorkloadSelector,omitempty" validate:"omitempty,selector"` // ReversePeering, for peerings between Calico nodes controls whether diff --git a/pkg/apis/projectcalico/v3/felixconfig.go b/pkg/apis/projectcalico/v3/felixconfig.go index 2b9a86a8..c77fd73d 100644 --- a/pkg/apis/projectcalico/v3/felixconfig.go +++ b/pkg/apis/projectcalico/v3/felixconfig.go @@ -202,6 +202,7 @@ const ( ) // FelixConfigurationSpec contains the values of the Felix configuration. +// +kubebuilder:validation:XValidation:rule="!has(self.routeTableRange) || !has(self.routeTableRanges)",message="routeTableRange and routeTableRanges cannot both be set",reason=FieldValueForbidden type FelixConfigurationSpec struct { // UseInternalDataplaneDriver, if true, Felix will use its internal dataplane programming logic. If false, it // will launch an external dataplane driver and communicate with it over protobuf. @@ -868,8 +869,9 @@ type FelixConfigurationSpec struct { BPFKubeProxyMinSyncPeriod *metav1.Duration `json:"bpfKubeProxyMinSyncPeriod,omitempty" validate:"omitempty" configv1timescale:"seconds"` // BPFKubeProxyHealthzPort, in BPF mode, controls the port that Felix's embedded kube-proxy health check server binds to. - // The health check server is used by external load balancers to determine if this node should receive traffic. [Default: 10256] - BPFKubeProxyHealthzPort *int `json:"bpfKubeProxyHealthzPort,omitempty" validate:"omitempty,gte=1,lte=65535" confignamev1:"BPFKubeProxyHealthzPort"` + // The health check server is used by external load balancers to determine if this node should receive traffic. + // Set to 0 to disable the health check server. [Default: 10256] + BPFKubeProxyHealthzPort *int `json:"bpfKubeProxyHealthzPort,omitempty" validate:"omitempty,gte=0,lte=65535" confignamev1:"BPFKubeProxyHealthzPort"` // BPFPSNATPorts sets the range from which we randomly pick a port if there is a source port // collision. This should be within the ephemeral range as defined by RFC 6056 (1024–65535) and @@ -1464,6 +1466,29 @@ type FelixConfigurationSpec struct { // ExternalNetworkRoutingRulePriority controls the priority value to use for the external network routing rule. [Default: 102] ExternalNetworkRoutingRulePriority *int `json:"externalNetworkRoutingRulePriority,omitempty" validate:"omitempty,gt=0,lt=32766"` + // Route Priority value for a normal priority Calico-programmed IPv4 route. Note, higher + // values mean lower priority. [Default: 1024] + IPv4NormalRoutePriority *int `json:"ipv4NormalRoutePriority,omitempty" validate:"omitempty,gte=1,lte=2147483646"` + // Route Priority value for an elevated priority Calico-programmed IPv4 route. Note, higher + // values mean lower priority. Elevated priority is used during VM live migration, and for + // optimal behaviour IPv4ElevatedRoutePriority must be less than IPv4NormalRoutePriority + // [Default: 512] + IPv4ElevatedRoutePriority *int `json:"ipv4ElevatedRoutePriority,omitempty" validate:"omitempty,gte=1,lte=2147483646"` + // Route Priority value for a normal priority Calico-programmed IPv6 route. Note, higher + // values mean lower priority. [Default: 1024] + IPv6NormalRoutePriority *int `json:"ipv6NormalRoutePriority,omitempty" validate:"omitempty,gte=1,lte=2147483646"` + // Route Priority value for an elevated priority Calico-programmed IPv6 route. Note, higher + // values mean lower priority. Elevated priority is used during VM live migration, and for + // optimal behaviour IPv6ElevatedRoutePriority must be less than IPv6NormalRoutePriority + // [Default: 512] + IPv6ElevatedRoutePriority *int `json:"ipv6ElevatedRoutePriority,omitempty" validate:"omitempty,gte=1,lte=2147483646"` + // LiveMigrationRouteConvergenceTime is the time to keep elevated route priority after a + // VM live migration completes. This allows routes to converge across the cluster before + // reverting to normal priority. [Default: 30s] + // +kubebuilder:validation:Type=string + // +kubebuilder:validation:Pattern=`^([0-9]+(\.[0-9]+)?(ms|s|m|h))*$` + LiveMigrationRouteConvergenceTime *metav1.Duration `json:"liveMigrationRouteConvergenceTime,omitempty" configv1timescale:"seconds"` + // WireguardEnabled controls whether Wireguard is enabled for IPv4 (encapsulating IPv4 traffic over an IPv4 underlay network). [Default: false] WireguardEnabled *bool `json:"wireguardEnabled,omitempty"` diff --git a/pkg/apis/projectcalico/v3/globalnetworkpolicy.go b/pkg/apis/projectcalico/v3/globalnetworkpolicy.go index ca728e85..91a4493c 100644 --- a/pkg/apis/projectcalico/v3/globalnetworkpolicy.go +++ b/pkg/apis/projectcalico/v3/globalnetworkpolicy.go @@ -25,7 +25,6 @@ const ( // +genclient:nonNamespaced // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object -// +kubebuilder:selectablefield:JSONPath=`.spec.tier` // +kubebuilder:resource:scope=Cluster // GlobalNetworkPolicyList is a list of Policy objects. @@ -40,6 +39,7 @@ type GlobalNetworkPolicyList struct { // +genclient:nonNamespaced // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +kubebuilder:resource:scope=Cluster,shortName={gnp,cgnp} +// +kubebuilder:selectablefield:JSONPath=`.spec.tier` // +kubebuilder:printcolumn:name="Tier",type=string,JSONPath=`.spec.tier` // +kubebuilder:printcolumn:name="Order",type=number,JSONPath=`.spec.order` // +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` @@ -51,6 +51,10 @@ type GlobalNetworkPolicy struct { Spec GlobalNetworkPolicySpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` } +// +kubebuilder:validation:XValidation:rule="!((has(self.doNotTrack) && self.doNotTrack) && (has(self.preDNAT) && self.preDNAT))",message="preDNAT and doNotTrack cannot both be true",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="(!has(self.preDNAT) || !self.preDNAT) || !has(self.egress) || size(self.egress) == 0",message="preDNAT policy cannot have any egress rules",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="(!has(self.preDNAT) || !self.preDNAT) || !has(self.types) || !self.types.exists(t, t == 'Egress')",message="preDNAT policy cannot have 'Egress' type",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="(has(self.applyOnForward) && self.applyOnForward) || ((!has(self.doNotTrack) || !self.doNotTrack) && (!has(self.preDNAT) || !self.preDNAT))",message="applyOnForward must be true if either preDNAT or doNotTrack is true",reason=FieldValueInvalid type GlobalNetworkPolicySpec struct { // The name of the tier that this policy belongs to. If this is omitted, the default // tier (name is "default") is assumed. The specified tier must exist in order to create diff --git a/pkg/apis/projectcalico/v3/hostendpoint.go b/pkg/apis/projectcalico/v3/hostendpoint.go index 73e3567c..1d9ba835 100644 --- a/pkg/apis/projectcalico/v3/hostendpoint.go +++ b/pkg/apis/projectcalico/v3/hostendpoint.go @@ -50,8 +50,11 @@ type HostEndpoint struct { } // HostEndpointSpec contains the specification for a HostEndpoint resource. +// +kubebuilder:validation:XValidation:rule="(has(self.interfaceName) && size(self.interfaceName) > 0) || (has(self.expectedIPs) && size(self.expectedIPs) > 0)",message="at least one of interfaceName or expectedIPs must be specified",reason=FieldValueInvalid +// +kubebuilder:validation:XValidation:rule="has(self.node) && size(self.node) > 0",message="node must be specified",reason=FieldValueInvalid type HostEndpointSpec struct { // The node name identifying the Calico node instance. + // +kubebuilder:validation:MaxLength=253 Node string `json:"node,omitempty" validate:"omitempty,name"` // Either "*", or the name of a specific Linux interface to apply policy to; or empty. "*" @@ -68,6 +71,7 @@ type HostEndpointSpec struct { // // Note: Only some kinds of policy are implemented for "*" HostEndpoints; initially just // pre-DNAT policy. Please check Calico documentation for the latest position. + // +kubebuilder:validation:MaxLength=15 InterfaceName string `json:"interfaceName,omitempty" validate:"omitempty,interface"` // The expected IP addresses (IPv4 and IPv6) of the endpoint. @@ -96,7 +100,7 @@ type EndpointPort struct { Name string `json:"name" validate:"portName"` Protocol numorstring.Protocol `json:"protocol"` - // +kubebuilder:validation:Minimum=0 + // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 Port uint16 `json:"port" validate:"gt=0"` } diff --git a/pkg/apis/projectcalico/v3/ipamblocks.go b/pkg/apis/projectcalico/v3/ipamblocks.go index d20c9a7a..6c026968 100644 --- a/pkg/apis/projectcalico/v3/ipamblocks.go +++ b/pkg/apis/projectcalico/v3/ipamblocks.go @@ -88,8 +88,9 @@ type IPAMBlockSpec struct { } type AllocationAttribute struct { - AttrPrimary *string `json:"handle_id,omitempty"` - AttrSecondary map[string]string `json:"secondary,omitempty"` + HandleID *string `json:"handle_id,omitempty"` + ActiveOwnerAttrs map[string]string `json:"secondary,omitempty"` + AlternateOwnerAttrs map[string]string `json:"alternateOwnerAttrs,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/pkg/apis/projectcalico/v3/ipamconfig.go b/pkg/apis/projectcalico/v3/ipamconfig.go index ee6f56b4..24de61ea 100644 --- a/pkg/apis/projectcalico/v3/ipamconfig.go +++ b/pkg/apis/projectcalico/v3/ipamconfig.go @@ -51,6 +51,15 @@ type IPAMConfiguration struct { Spec IPAMConfigurationSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` } +// VMAddressPersistence controls whether KubeVirt VirtualMachine workloads +// maintain persistent IP addresses across VM lifecycle events. +type VMAddressPersistence string + +const ( + VMAddressPersistenceEnabled VMAddressPersistence = "Enabled" + VMAddressPersistenceDisabled VMAddressPersistence = "Disabled" +) + // IPAMConfigurationSpec contains the specification for an IPAMConfiguration resource. type IPAMConfigurationSpec struct { // When StrictAffinity is true, borrowing IP addresses is not allowed. @@ -69,6 +78,19 @@ type IPAMConfigurationSpec struct { // Whether or not to auto allocate blocks to hosts. // +kubebuilder:default=true AutoAllocateBlocks bool `json:"autoAllocateBlocks"` + + // KubeVirtVMAddressPersistence controls whether KubeVirt VirtualMachine workloads + // maintain persistent IP addresses across VM lifecycle events (reboot, migration, pod eviction). + // When Enabled, Calico automatically ensures that KubeVirt VMs retain their IP addresses + // when their underlying pods are recreated during VM operations. + // When Disabled, VMs receive new IP addresses whenever their pods are recreated, + // and creating a live migration target pod is not supported because the migration + // target pod requires the same IP as the source pod, which is only possible with + // address persistence. + // Defaults to Enabled if not specified. + // +kubebuilder:validation:Enum=Enabled;Disabled + // +optional + KubeVirtVMAddressPersistence *VMAddressPersistence `json:"kubeVirtVMAddressPersistence,omitempty"` } // NewIPAMConfiguration creates a new (zeroed) IPAMConfiguration struct with the TypeMetadata initialised to the current diff --git a/pkg/apis/projectcalico/v3/ippool.go b/pkg/apis/projectcalico/v3/ippool.go index a5c6dd6e..10f346f5 100644 --- a/pkg/apis/projectcalico/v3/ippool.go +++ b/pkg/apis/projectcalico/v3/ippool.go @@ -81,10 +81,16 @@ type IPPoolStatus struct { } // IPPoolSpec contains the specification for an IPPool resource. +// +kubebuilder:validation:XValidation:rule="!has(self.ipipMode) || !has(self.vxlanMode) || self.ipipMode == 'Never' || self.vxlanMode == 'Never' || size(self.ipipMode) == 0 || size(self.vxlanMode) == 0",message="ipipMode and vxlanMode cannot both be enabled",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="!has(self.allowedUses) || !self.allowedUses.exists(u, u == 'LoadBalancer') || (!has(self.ipipMode) || size(self.ipipMode) == 0 || self.ipipMode == 'Never') && (!has(self.vxlanMode) || size(self.vxlanMode) == 0 || self.vxlanMode == 'Never')",message="LoadBalancer IP pool cannot have IPIP or VXLAN enabled",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="!has(self.allowedUses) || !self.allowedUses.exists(u, u == 'LoadBalancer') || !self.allowedUses.exists(u, u == 'Workload' || u == 'Tunnel')",message="LoadBalancer cannot be combined with Workload or Tunnel allowed uses",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="!self.cidr.contains(':') || !has(self.ipipMode) || self.ipipMode == 'Never' || size(self.ipipMode) == 0",message="IPIP is not supported on IPv6 pools",reason=FieldValueForbidden type IPPoolSpec struct { // The pool CIDR. // +kubebuilder:validation:Required // +kubebuilder:validation:Format=cidr + // +kubebuilder:validation:MaxLength=48 + // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="CIDR cannot be changed; follow IP pool migration guide to avoid corruption.",reason=FieldValueInvalid CIDR string `json:"cidr" validate:"net"` // Contains configuration for VXLAN tunneling for this pool. @@ -109,6 +115,7 @@ type IPPoolSpec struct { // or equal to the size of the pool CIDR. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=128 + // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Block size cannot be changed; follow IP pool migration guide to avoid corruption.",reason=FieldValueInvalid BlockSize int `json:"blockSize,omitempty"` // Allows IPPool to allocate for a specific node by label selector. @@ -120,6 +127,7 @@ type IPPoolSpec struct { // AllowedUse controls what the IP pool will be used for. If not specified or empty, defaults to // ["Tunnel", "Workload"] for back-compatibility + // +kubebuilder:validation:MaxItems=10 // +listType=set AllowedUses []IPPoolAllowedUse `json:"allowedUses,omitempty" validate:"omitempty"` diff --git a/pkg/apis/projectcalico/v3/policy_common.go b/pkg/apis/projectcalico/v3/policy_common.go index 8d69fc25..929075c8 100644 --- a/pkg/apis/projectcalico/v3/policy_common.go +++ b/pkg/apis/projectcalico/v3/policy_common.go @@ -34,6 +34,9 @@ const ( // Each positive match criteria has a negated version, prefixed with "Not". All the match // criteria within a rule must be satisfied for a packet to match. A single rule can contain // the positive and negative version of a match and both must be satisfied for the rule to match. +// +kubebuilder:validation:XValidation:rule="!has(self.http) || !has(self.protocol) || self.protocol == 'TCP' || self.protocol == 6",message="rules with HTTP match must have protocol TCP or unset",reason=FieldValueInvalid +// +kubebuilder:validation:XValidation:rule="self.action == 'Allow' || !has(self.http)",message="HTTP match is only valid on Allow rules",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="!has(self.destination) || !has(self.destination.services) || (!has(self.destination.ports) || size(self.destination.ports) == 0) && (!has(self.destination.notPorts) || size(self.destination.notPorts) == 0)",message="ports and notPorts cannot be specified with services",reason=FieldValueForbidden type Rule struct { Action Action `json:"action" validate:"action"` @@ -81,7 +84,9 @@ type Rule struct { // exact: : which matches the path exactly or // prefix: : which matches the path prefix type HTTPPath struct { - Exact string `json:"exact,omitempty" validate:"omitempty"` + // +kubebuilder:validation:MaxLength=1024 + Exact string `json:"exact,omitempty" validate:"omitempty"` + // +kubebuilder:validation:MaxLength=1024 Prefix string `json:"prefix,omitempty" validate:"omitempty"` } @@ -91,6 +96,7 @@ type HTTPMatch struct { // Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed // HTTP Methods (e.g. GET, PUT, etc.) // Multiple methods are OR'd together. + // +kubebuilder:validation:MaxItems=20 Methods []string `json:"methods,omitempty" validate:"omitempty"` // Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed // HTTP Paths. @@ -99,6 +105,7 @@ type HTTPMatch struct { // - exact: /foo // - prefix: /bar // NOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it. + // +kubebuilder:validation:MaxItems=20 Paths []HTTPPath `json:"paths,omitempty" validate:"omitempty"` // Headers is an optional field that restricts the rule to apply to HTTP headers. // Multiple headers criteria are AND'd together. @@ -114,11 +121,12 @@ type HTTPHeaderCriteria struct { } // ICMPFields defines structure for ICMP and NotICMP sub-struct for ICMP code and type +// +kubebuilder:validation:XValidation:rule="!has(self.code) || has(self.type)",message="ICMP code specified without an ICMP type",reason=FieldValueInvalid type ICMPFields struct { // Match on a specific ICMP type. For example a value of 8 refers to ICMP Echo Request // (i.e. pings). // +kubebuilder:validation:Minimum=0 - // +kubebuilder:validation:Maximum=255 + // +kubebuilder:validation:Maximum=254 // +optional Type *int `json:"type,omitempty" validate:"omitempty,gte=0,lte=254"` diff --git a/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy.go b/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy.go index e2ae85db..750568d4 100644 --- a/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy.go +++ b/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy.go @@ -39,8 +39,13 @@ type StagedGlobalNetworkPolicy struct { Spec StagedGlobalNetworkPolicySpec `json:"spec"` } +// +kubebuilder:validation:XValidation:rule="!((has(self.doNotTrack) && self.doNotTrack) && (has(self.preDNAT) && self.preDNAT))",message="preDNAT and doNotTrack cannot both be true",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="(!has(self.preDNAT) || !self.preDNAT) || !has(self.egress) || size(self.egress) == 0",message="preDNAT policy cannot have any egress rules",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="(!has(self.preDNAT) || !self.preDNAT) || !has(self.types) || !self.types.exists(t, t == 'Egress')",message="preDNAT policy cannot have 'Egress' type",reason=FieldValueForbidden +// +kubebuilder:validation:XValidation:rule="(has(self.applyOnForward) && self.applyOnForward) || ((!has(self.doNotTrack) || !self.doNotTrack) && (!has(self.preDNAT) || !self.preDNAT))",message="applyOnForward must be true if either preDNAT or doNotTrack is true",reason=FieldValueInvalid type StagedGlobalNetworkPolicySpec struct { // The staged action. If this is omitted, the default is Set. + // +kubebuilder:default=Set StagedAction StagedAction `json:"stagedAction,omitempty" validate:"omitempty,stagedAction"` // The name of the tier that this policy belongs to. If this is omitted, the default diff --git a/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy.go b/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy.go index 5e790035..8864d6c2 100644 --- a/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy.go +++ b/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy.go @@ -38,6 +38,7 @@ type StagedKubernetesNetworkPolicy struct { type StagedKubernetesNetworkPolicySpec struct { // The staged action. If this is omitted, the default is Set. + // +kubebuilder:default=Set StagedAction StagedAction `json:"stagedAction,omitempty" validate:"omitempty,stagedAction"` // Selects the pods to which this NetworkPolicy object applies. The array of diff --git a/pkg/apis/projectcalico/v3/stagednetworkpolicy.go b/pkg/apis/projectcalico/v3/stagednetworkpolicy.go index 98a69f72..39b5eea3 100644 --- a/pkg/apis/projectcalico/v3/stagednetworkpolicy.go +++ b/pkg/apis/projectcalico/v3/stagednetworkpolicy.go @@ -41,6 +41,7 @@ type StagedNetworkPolicy struct { type StagedNetworkPolicySpec struct { // The staged action. If this is omitted, the default is Set. + // +kubebuilder:default=Set StagedAction StagedAction `json:"stagedAction,omitempty" validate:"omitempty,stagedAction"` // The name of the tier that this policy belongs to. If this is omitted, the default diff --git a/pkg/apis/projectcalico/v3/tier.go b/pkg/apis/projectcalico/v3/tier.go index dee49e8b..7a4cd590 100644 --- a/pkg/apis/projectcalico/v3/tier.go +++ b/pkg/apis/projectcalico/v3/tier.go @@ -1,4 +1,4 @@ -// Copyright (c) 2024-2025 Tigera, Inc. All rights reserved. +// Copyright (c) 2024-2026 Tigera, Inc. All rights reserved. // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -25,20 +25,23 @@ const ( // +genclient:nonNamespaced // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +kubebuilder:resource:scope=Cluster +// +kubebuilder:subresource:status // +kubebuilder:printcolumn:name="Order",type="integer",JSONPath=".spec.order",description="Order in which the tier is applied" // +kubebuilder:printcolumn:name="DefaultAction",type="string",JSONPath=".spec.defaultAction",description="Default action for the tier" +// +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason",description="Current status of the tier" // Tier contains a set of policies that are applied to packets. Multiple tiers may // be created and each tier is applied in the order specified in the tier specification. // Tier is globally-scoped (i.e. not Namespaced). // -// +kubebuilder:validation:XValidation:rule="self.metadata.name == 'kube-admin' ? self.spec.defaultAction == 'Pass' : true", message="The 'kube-admin' tier must have default action 'Pass'" -// +kubebuilder:validation:XValidation:rule="self.metadata.name == 'kube-baseline' ? self.spec.defaultAction == 'Pass' : true", message="The 'kube-baseline' tier must have default action 'Pass'" -// +kubebuilder:validation:XValidation:rule="self.metadata.name == 'default' ? self.spec.defaultAction == 'Deny' : true", message="The 'default' tier must have default action 'Deny'" +// +kubebuilder:validation:XValidation:rule="self.metadata.name == 'kube-admin' ? (has(self.spec.defaultAction) && self.spec.defaultAction == 'Pass') : true", message="The 'kube-admin' tier must have default action 'Pass'",reason=FieldValueInvalid +// +kubebuilder:validation:XValidation:rule="self.metadata.name == 'kube-baseline' ? (has(self.spec.defaultAction) && self.spec.defaultAction == 'Pass') : true", message="The 'kube-baseline' tier must have default action 'Pass'",reason=FieldValueInvalid +// +kubebuilder:validation:XValidation:rule="self.metadata.name == 'default' ? (has(self.spec.defaultAction) && self.spec.defaultAction == 'Deny') : true", message="The 'default' tier must have default action 'Deny'",reason=FieldValueInvalid type Tier struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` - Spec TierSpec `json:"spec" protobuf:"bytes,2,rep,name=spec"` + Spec TierSpec `json:"spec" protobuf:"bytes,2,rep,name=spec"` + Status TierStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` } const ( @@ -47,8 +50,18 @@ const ( DefaultTierOrder = float64(1_000_000) // 1Million BaselineAdminNetworkPolicyTierOrder = float64(10_000_000) // 10Million KubeBaselineTierOrder = float64(10_000_000) // 10Million + + // TierFinalizer is set on tiers to ensure policies are cleaned up before the tier is deleted. + TierFinalizer = "projectcalico.org/tier-controller" ) +// TierStatus contains the status of a Tier resource. +type TierStatus struct { + // Conditions represents the latest observed set of conditions for the resource. A tier with a + // "Ready" condition set to "True" is operating as expected. + Conditions []metav1.Condition `json:"conditions,omitempty"` +} + // TierSpec contains the specification for a security policy tier resource. type TierSpec struct { // Order is an optional field that specifies the order in which the tier is applied. @@ -60,6 +73,7 @@ type TierSpec struct { // DefaultAction specifies the action applied to workloads selected by a policy in the tier, // but not rule matched the workload's traffic. // [Default: Deny] + // +kubebuilder:default=Deny // +kubebuilder:validation:Enum=Pass;Deny DefaultAction *Action `json:"defaultAction,omitempty" validate:"omitempty,oneof=Deny Pass"` } diff --git a/pkg/apis/projectcalico/v3/zz_generated.deepcopy.go b/pkg/apis/projectcalico/v3/zz_generated.deepcopy.go index 0eb83e66..3898e1a1 100644 --- a/pkg/apis/projectcalico/v3/zz_generated.deepcopy.go +++ b/pkg/apis/projectcalico/v3/zz_generated.deepcopy.go @@ -117,13 +117,20 @@ func (in *AlertExceptionStatus) DeepCopy() *AlertExceptionStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *AllocationAttribute) DeepCopyInto(out *AllocationAttribute) { *out = *in - if in.AttrPrimary != nil { - in, out := &in.AttrPrimary, &out.AttrPrimary + if in.HandleID != nil { + in, out := &in.HandleID, &out.HandleID *out = new(string) **out = **in } - if in.AttrSecondary != nil { - in, out := &in.AttrSecondary, &out.AttrSecondary + if in.ActiveOwnerAttrs != nil { + in, out := &in.ActiveOwnerAttrs, &out.ActiveOwnerAttrs + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.AlternateOwnerAttrs != nil { + in, out := &in.AlternateOwnerAttrs, &out.AlternateOwnerAttrs *out = make(map[string]string, len(*in)) for key, val := range *in { (*out)[key] = val @@ -682,6 +689,16 @@ func (in *BGPConfigurationSpec) DeepCopyInto(out *BGPConfigurationSpec) { *out = new(string) **out = **in } + if in.IPv4NormalRoutePriority != nil { + in, out := &in.IPv4NormalRoutePriority, &out.IPv4NormalRoutePriority + *out = new(int) + **out = **in + } + if in.IPv6NormalRoutePriority != nil { + in, out := &in.IPv6NormalRoutePriority, &out.IPv6NormalRoutePriority + *out = new(int) + **out = **in + } return } @@ -738,6 +755,48 @@ func (in *BGPFilter) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BGPFilterAddCommunity) DeepCopyInto(out *BGPFilterAddCommunity) { + *out = *in + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(BGPCommunityValue) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPFilterAddCommunity. +func (in *BGPFilterAddCommunity) DeepCopy() *BGPFilterAddCommunity { + if in == nil { + return nil + } + out := new(BGPFilterAddCommunity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BGPFilterCommunityMatch) DeepCopyInto(out *BGPFilterCommunityMatch) { + *out = *in + if in.Values != nil { + in, out := &in.Values, &out.Values + *out = make([]BGPCommunityValue, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPFilterCommunityMatch. +func (in *BGPFilterCommunityMatch) DeepCopy() *BGPFilterCommunityMatch { + if in == nil { + return nil + } + out := new(BGPFilterCommunityMatch) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BGPFilterList) DeepCopyInto(out *BGPFilterList) { *out = *in @@ -771,6 +830,37 @@ func (in *BGPFilterList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BGPFilterOperation) DeepCopyInto(out *BGPFilterOperation) { + *out = *in + if in.AddCommunity != nil { + in, out := &in.AddCommunity, &out.AddCommunity + *out = new(BGPFilterAddCommunity) + (*in).DeepCopyInto(*out) + } + if in.PrependASPath != nil { + in, out := &in.PrependASPath, &out.PrependASPath + *out = new(BGPFilterPrependASPath) + (*in).DeepCopyInto(*out) + } + if in.SetPriority != nil { + in, out := &in.SetPriority, &out.SetPriority + *out = new(BGPFilterSetPriority) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPFilterOperation. +func (in *BGPFilterOperation) DeepCopy() *BGPFilterOperation { + if in == nil { + return nil + } + out := new(BGPFilterOperation) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BGPFilterPrefixLengthV4) DeepCopyInto(out *BGPFilterPrefixLengthV4) { *out = *in @@ -823,6 +913,27 @@ func (in *BGPFilterPrefixLengthV6) DeepCopy() *BGPFilterPrefixLengthV6 { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BGPFilterPrependASPath) DeepCopyInto(out *BGPFilterPrependASPath) { + *out = *in + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = make([]numorstring.ASNumber, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPFilterPrependASPath. +func (in *BGPFilterPrependASPath) DeepCopy() *BGPFilterPrependASPath { + if in == nil { + return nil + } + out := new(BGPFilterPrependASPath) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BGPFilterRuleV4) DeepCopyInto(out *BGPFilterRuleV4) { *out = *in @@ -831,6 +942,28 @@ func (in *BGPFilterRuleV4) DeepCopyInto(out *BGPFilterRuleV4) { *out = new(BGPFilterPrefixLengthV4) (*in).DeepCopyInto(*out) } + if in.Communities != nil { + in, out := &in.Communities, &out.Communities + *out = new(BGPFilterCommunityMatch) + (*in).DeepCopyInto(*out) + } + if in.ASPathPrefix != nil { + in, out := &in.ASPathPrefix, &out.ASPathPrefix + *out = make([]numorstring.ASNumber, len(*in)) + copy(*out, *in) + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int) + **out = **in + } + if in.Operations != nil { + in, out := &in.Operations, &out.Operations + *out = make([]BGPFilterOperation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } return } @@ -852,6 +985,28 @@ func (in *BGPFilterRuleV6) DeepCopyInto(out *BGPFilterRuleV6) { *out = new(BGPFilterPrefixLengthV6) (*in).DeepCopyInto(*out) } + if in.Communities != nil { + in, out := &in.Communities, &out.Communities + *out = new(BGPFilterCommunityMatch) + (*in).DeepCopyInto(*out) + } + if in.ASPathPrefix != nil { + in, out := &in.ASPathPrefix, &out.ASPathPrefix + *out = make([]numorstring.ASNumber, len(*in)) + copy(*out, *in) + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int) + **out = **in + } + if in.Operations != nil { + in, out := &in.Operations, &out.Operations + *out = make([]BGPFilterOperation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } return } @@ -865,6 +1020,27 @@ func (in *BGPFilterRuleV6) DeepCopy() *BGPFilterRuleV6 { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BGPFilterSetPriority) DeepCopyInto(out *BGPFilterSetPriority) { + *out = *in + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(int) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BGPFilterSetPriority. +func (in *BGPFilterSetPriority) DeepCopy() *BGPFilterSetPriority { + if in == nil { + return nil + } + out := new(BGPFilterSetPriority) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *BGPFilterSpec) DeepCopyInto(out *BGPFilterSpec) { *out = *in @@ -3613,6 +3789,31 @@ func (in *FelixConfigurationSpec) DeepCopyInto(out *FelixConfigurationSpec) { *out = new(int) **out = **in } + if in.IPv4NormalRoutePriority != nil { + in, out := &in.IPv4NormalRoutePriority, &out.IPv4NormalRoutePriority + *out = new(int) + **out = **in + } + if in.IPv4ElevatedRoutePriority != nil { + in, out := &in.IPv4ElevatedRoutePriority, &out.IPv4ElevatedRoutePriority + *out = new(int) + **out = **in + } + if in.IPv6NormalRoutePriority != nil { + in, out := &in.IPv6NormalRoutePriority, &out.IPv6NormalRoutePriority + *out = new(int) + **out = **in + } + if in.IPv6ElevatedRoutePriority != nil { + in, out := &in.IPv6ElevatedRoutePriority, &out.IPv6ElevatedRoutePriority + *out = new(int) + **out = **in + } + if in.LiveMigrationRouteConvergenceTime != nil { + in, out := &in.LiveMigrationRouteConvergenceTime, &out.LiveMigrationRouteConvergenceTime + *out = new(v1.Duration) + **out = **in + } if in.WireguardEnabled != nil { in, out := &in.WireguardEnabled, &out.WireguardEnabled *out = new(bool) @@ -4851,7 +5052,7 @@ func (in *IPAMConfiguration) DeepCopyInto(out *IPAMConfiguration) { *out = *in out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - out.Spec = in.Spec + in.Spec.DeepCopyInto(&out.Spec) return } @@ -4909,6 +5110,11 @@ func (in *IPAMConfigurationList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *IPAMConfigurationSpec) DeepCopyInto(out *IPAMConfigurationSpec) { *out = *in + if in.KubeVirtVMAddressPersistence != nil { + in, out := &in.KubeVirtVMAddressPersistence, &out.KubeVirtVMAddressPersistence + *out = new(VMAddressPersistence) + **out = **in + } return } @@ -7530,6 +7736,7 @@ func (in *Tier) DeepCopyInto(out *Tier) { out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) return } @@ -7610,6 +7817,29 @@ func (in *TierSpec) DeepCopy() *TierSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TierStatus) DeepCopyInto(out *TierStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TierStatus. +func (in *TierStatus) DeepCopy() *TierStatus { + if in == nil { + return nil + } + out := new(TierStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *UIDashboard) DeepCopyInto(out *UIDashboard) { *out = *in diff --git a/pkg/client/applyconfiguration_generated/internal/internal.go b/pkg/client/applyconfiguration_generated/internal/internal.go new file mode 100644 index 00000000..0083a808 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/internal/internal.go @@ -0,0 +1,468 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package internal + +import ( + fmt "fmt" + sync "sync" + + typed "sigs.k8s.io/structured-merge-diff/v6/typed" +) + +func Parser() *typed.Parser { + parserOnce.Do(func() { + var err error + parser, err = typed.NewParser(schemaYAML) + if err != nil { + panic(fmt.Sprintf("Failed to parse schema: %v", err)) + } + }) + return parser +} + +var parserOnce sync.Once +var parser *typed.Parser +var schemaYAML = typed.YAMLObject(`types: +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.AlertException + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.AuthorizationReview + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.BFDConfiguration + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.BGPConfiguration + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.BGPFilter + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.BGPPeer + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.BlockAffinity + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.CalicoNodeStatus + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.ClusterInformation + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.DeepPacketInspection + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.EgressGatewayPolicy + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.ExternalNetwork + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.FelixConfiguration + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalAlert + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalAlertTemplate + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalNetworkPolicy + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalNetworkSet + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalReport + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalReportType + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalThreatFeed + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.HostEndpoint + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.IPAMBlock + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.IPAMConfiguration + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.IPAMHandle + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.IPPool + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.IPReservation + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.KubeControllersConfiguration + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.LicenseKey + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.ManagedCluster + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.NetworkPolicy + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.NetworkSet + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.PacketCapture + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.PolicyRecommendationScope + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.Profile + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.RemoteClusterConfiguration + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.SecurityEventWebhook + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.StagedGlobalNetworkPolicy + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.StagedKubernetesNetworkPolicy + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.StagedNetworkPolicy + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.Tier + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.UISettings + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: com.github.tigera.api.pkg.apis.projectcalico.v3.UISettingsGroup + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +- name: __untyped_atomic_ + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic +- name: __untyped_deduced_ + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +`) diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/alertexception.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/alertexception.go new file mode 100644 index 00000000..865517eb --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/alertexception.go @@ -0,0 +1,273 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// AlertExceptionApplyConfiguration represents a declarative configuration of the AlertException type for use +// with apply. +// +// AlertException defines exceptions for alert events. +type AlertExceptionApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *AlertExceptionSpecApplyConfiguration `json:"spec,omitempty"` + Status *projectcalicov3.AlertExceptionStatus `json:"status,omitempty"` +} + +// AlertException constructs a declarative configuration of the AlertException type for use with +// apply. +func AlertException(name string) *AlertExceptionApplyConfiguration { + b := &AlertExceptionApplyConfiguration{} + b.WithName(name) + b.WithKind("AlertException") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractAlertExceptionFrom extracts the applied configuration owned by fieldManager from +// alertException for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// alertException must be a unmodified AlertException API object that was retrieved from the Kubernetes API. +// ExtractAlertExceptionFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractAlertExceptionFrom(alertException *projectcalicov3.AlertException, fieldManager string, subresource string) (*AlertExceptionApplyConfiguration, error) { + b := &AlertExceptionApplyConfiguration{} + err := managedfields.ExtractInto(alertException, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.AlertException"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(alertException.Name) + + b.WithKind("AlertException") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractAlertException extracts the applied configuration owned by fieldManager from +// alertException. If no managedFields are found in alertException for fieldManager, a +// AlertExceptionApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// alertException must be a unmodified AlertException API object that was retrieved from the Kubernetes API. +// ExtractAlertException provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractAlertException(alertException *projectcalicov3.AlertException, fieldManager string) (*AlertExceptionApplyConfiguration, error) { + return ExtractAlertExceptionFrom(alertException, fieldManager, "") +} + +// ExtractAlertExceptionStatus extracts the applied configuration owned by fieldManager from +// alertException for the status subresource. +func ExtractAlertExceptionStatus(alertException *projectcalicov3.AlertException, fieldManager string) (*AlertExceptionApplyConfiguration, error) { + return ExtractAlertExceptionFrom(alertException, fieldManager, "status") +} + +func (b AlertExceptionApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithKind(value string) *AlertExceptionApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithAPIVersion(value string) *AlertExceptionApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithName(value string) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithGenerateName(value string) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithNamespace(value string) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithUID(value types.UID) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithResourceVersion(value string) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithGeneration(value int64) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithCreationTimestamp(value metav1.Time) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *AlertExceptionApplyConfiguration) WithLabels(entries map[string]string) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *AlertExceptionApplyConfiguration) WithAnnotations(entries map[string]string) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *AlertExceptionApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *AlertExceptionApplyConfiguration) WithFinalizers(values ...string) *AlertExceptionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *AlertExceptionApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithSpec(value *AlertExceptionSpecApplyConfiguration) *AlertExceptionApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *AlertExceptionApplyConfiguration) WithStatus(value projectcalicov3.AlertExceptionStatus) *AlertExceptionApplyConfiguration { + b.Status = &value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *AlertExceptionApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *AlertExceptionApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *AlertExceptionApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *AlertExceptionApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/alertexceptionspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/alertexceptionspec.go new file mode 100644 index 00000000..f5edf9d8 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/alertexceptionspec.go @@ -0,0 +1,65 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// AlertExceptionSpecApplyConfiguration represents a declarative configuration of the AlertExceptionSpec type for use +// with apply. +// +// AlertExceptionSpec contains the specification for an alert exception resource. +type AlertExceptionSpecApplyConfiguration struct { + // The description is displayed by the UI. + Description *string `json:"description,omitempty"` + // Selector defines a query string for alert events to be excluded from UI search results. + Selector *string `json:"selector,omitempty"` + // StartTime defines the start time from which this alert exception will take effect. + // If the value is in the past, matched alerts will be filtered immediately. + // If the value is changed to a future time, alert exceptions will restart at that time. + StartTime *v1.Time `json:"startTime,omitempty"` + // EndTime defines the end time at which this alert exception will expire. + // If omitted the alert exception filtering will continue indefinitely. + EndTime *v1.Time `json:"endTime,omitempty"` +} + +// AlertExceptionSpecApplyConfiguration constructs a declarative configuration of the AlertExceptionSpec type for use with +// apply. +func AlertExceptionSpec() *AlertExceptionSpecApplyConfiguration { + return &AlertExceptionSpecApplyConfiguration{} +} + +// WithDescription sets the Description field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Description field is set to the value of the last call. +func (b *AlertExceptionSpecApplyConfiguration) WithDescription(value string) *AlertExceptionSpecApplyConfiguration { + b.Description = &value + return b +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *AlertExceptionSpecApplyConfiguration) WithSelector(value string) *AlertExceptionSpecApplyConfiguration { + b.Selector = &value + return b +} + +// WithStartTime sets the StartTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StartTime field is set to the value of the last call. +func (b *AlertExceptionSpecApplyConfiguration) WithStartTime(value v1.Time) *AlertExceptionSpecApplyConfiguration { + b.StartTime = &value + return b +} + +// WithEndTime sets the EndTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EndTime field is set to the value of the last call. +func (b *AlertExceptionSpecApplyConfiguration) WithEndTime(value v1.Time) *AlertExceptionSpecApplyConfiguration { + b.EndTime = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/allocationattribute.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/allocationattribute.go new file mode 100644 index 00000000..2d51cd69 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/allocationattribute.go @@ -0,0 +1,55 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// AllocationAttributeApplyConfiguration represents a declarative configuration of the AllocationAttribute type for use +// with apply. +type AllocationAttributeApplyConfiguration struct { + HandleID *string `json:"handle_id,omitempty"` + ActiveOwnerAttrs map[string]string `json:"secondary,omitempty"` + AlternateOwnerAttrs map[string]string `json:"alternateOwnerAttrs,omitempty"` +} + +// AllocationAttributeApplyConfiguration constructs a declarative configuration of the AllocationAttribute type for use with +// apply. +func AllocationAttribute() *AllocationAttributeApplyConfiguration { + return &AllocationAttributeApplyConfiguration{} +} + +// WithHandleID sets the HandleID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HandleID field is set to the value of the last call. +func (b *AllocationAttributeApplyConfiguration) WithHandleID(value string) *AllocationAttributeApplyConfiguration { + b.HandleID = &value + return b +} + +// WithActiveOwnerAttrs puts the entries into the ActiveOwnerAttrs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the ActiveOwnerAttrs field, +// overwriting an existing map entries in ActiveOwnerAttrs field with the same key. +func (b *AllocationAttributeApplyConfiguration) WithActiveOwnerAttrs(entries map[string]string) *AllocationAttributeApplyConfiguration { + if b.ActiveOwnerAttrs == nil && len(entries) > 0 { + b.ActiveOwnerAttrs = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ActiveOwnerAttrs[k] = v + } + return b +} + +// WithAlternateOwnerAttrs puts the entries into the AlternateOwnerAttrs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the AlternateOwnerAttrs field, +// overwriting an existing map entries in AlternateOwnerAttrs field with the same key. +func (b *AllocationAttributeApplyConfiguration) WithAlternateOwnerAttrs(entries map[string]string) *AllocationAttributeApplyConfiguration { + if b.AlternateOwnerAttrs == nil && len(entries) > 0 { + b.AlternateOwnerAttrs = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.AlternateOwnerAttrs[k] = v + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/auditeventsselection.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/auditeventsselection.go new file mode 100644 index 00000000..71caeaad --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/auditeventsselection.go @@ -0,0 +1,34 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// AuditEventsSelectionApplyConfiguration represents a declarative configuration of the AuditEventsSelection type for use +// with apply. +// +// AuditEventsSelection defines which set of resources should be audited. +type AuditEventsSelectionApplyConfiguration struct { + // Resources lists the resources that will be included in the audit logs in the ReportData. Blank fields in the + // listed ResourceID structs are treated as wildcards. + Resources []AuditResourceApplyConfiguration `json:"resources,omitempty"` +} + +// AuditEventsSelectionApplyConfiguration constructs a declarative configuration of the AuditEventsSelection type for use with +// apply. +func AuditEventsSelection() *AuditEventsSelectionApplyConfiguration { + return &AuditEventsSelectionApplyConfiguration{} +} + +// WithResources adds the given value to the Resources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Resources field. +func (b *AuditEventsSelectionApplyConfiguration) WithResources(values ...*AuditResourceApplyConfiguration) *AuditEventsSelectionApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithResources") + } + b.Resources = append(b.Resources, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/auditresource.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/auditresource.go new file mode 100644 index 00000000..638352d0 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/auditresource.go @@ -0,0 +1,72 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// AuditResourceApplyConfiguration represents a declarative configuration of the AuditResource type for use +// with apply. +// +// AuditResource is used to filter Audit events in the Report configuration. +// +// An empty field value indicates a wildcard. For example, if Resource is set to "networkpolicies" and all other +// fields are blank then this filter would include all NetworkPolicy resources across all namespaces, and would include +// both Calico and Kubernetes resource types. +type AuditResourceApplyConfiguration struct { + // The resource type. The format is the lowercase plural as used in audit event selection and RBAC configuration. + Resource *string `json:"resource,omitempty"` + // APIGroup is the name of the API group that contains the referred object (e.g. projectcalico.org). + APIGroup *string `json:"apiGroup,omitempty"` + // APIVersion is the version of the API group that contains the referred object (e.g. v3). + APIVersion *string `json:"apiVersion,omitempty"` + // The resource name. + Name *string `json:"name,omitempty"` + // The resource namespace. + Namespace *string `json:"namespace,omitempty"` +} + +// AuditResourceApplyConfiguration constructs a declarative configuration of the AuditResource type for use with +// apply. +func AuditResource() *AuditResourceApplyConfiguration { + return &AuditResourceApplyConfiguration{} +} + +// WithResource sets the Resource field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Resource field is set to the value of the last call. +func (b *AuditResourceApplyConfiguration) WithResource(value string) *AuditResourceApplyConfiguration { + b.Resource = &value + return b +} + +// WithAPIGroup sets the APIGroup field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIGroup field is set to the value of the last call. +func (b *AuditResourceApplyConfiguration) WithAPIGroup(value string) *AuditResourceApplyConfiguration { + b.APIGroup = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *AuditResourceApplyConfiguration) WithAPIVersion(value string) *AuditResourceApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *AuditResourceApplyConfiguration) WithName(value string) *AuditResourceApplyConfiguration { + b.Name = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *AuditResourceApplyConfiguration) WithNamespace(value string) *AuditResourceApplyConfiguration { + b.Namespace = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreview.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreview.go new file mode 100644 index 00000000..a43f7ecb --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreview.go @@ -0,0 +1,271 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// AuthorizationReviewApplyConfiguration represents a declarative configuration of the AuthorizationReview type for use +// with apply. +type AuthorizationReviewApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *AuthorizationReviewSpecApplyConfiguration `json:"spec,omitempty"` + Status *AuthorizationReviewStatusApplyConfiguration `json:"status,omitempty"` +} + +// AuthorizationReview constructs a declarative configuration of the AuthorizationReview type for use with +// apply. +func AuthorizationReview(name string) *AuthorizationReviewApplyConfiguration { + b := &AuthorizationReviewApplyConfiguration{} + b.WithName(name) + b.WithKind("AuthorizationReview") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractAuthorizationReviewFrom extracts the applied configuration owned by fieldManager from +// authorizationReview for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// authorizationReview must be a unmodified AuthorizationReview API object that was retrieved from the Kubernetes API. +// ExtractAuthorizationReviewFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractAuthorizationReviewFrom(authorizationReview *projectcalicov3.AuthorizationReview, fieldManager string, subresource string) (*AuthorizationReviewApplyConfiguration, error) { + b := &AuthorizationReviewApplyConfiguration{} + err := managedfields.ExtractInto(authorizationReview, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.AuthorizationReview"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(authorizationReview.Name) + + b.WithKind("AuthorizationReview") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractAuthorizationReview extracts the applied configuration owned by fieldManager from +// authorizationReview. If no managedFields are found in authorizationReview for fieldManager, a +// AuthorizationReviewApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// authorizationReview must be a unmodified AuthorizationReview API object that was retrieved from the Kubernetes API. +// ExtractAuthorizationReview provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractAuthorizationReview(authorizationReview *projectcalicov3.AuthorizationReview, fieldManager string) (*AuthorizationReviewApplyConfiguration, error) { + return ExtractAuthorizationReviewFrom(authorizationReview, fieldManager, "") +} + +// ExtractAuthorizationReviewStatus extracts the applied configuration owned by fieldManager from +// authorizationReview for the status subresource. +func ExtractAuthorizationReviewStatus(authorizationReview *projectcalicov3.AuthorizationReview, fieldManager string) (*AuthorizationReviewApplyConfiguration, error) { + return ExtractAuthorizationReviewFrom(authorizationReview, fieldManager, "status") +} + +func (b AuthorizationReviewApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithKind(value string) *AuthorizationReviewApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithAPIVersion(value string) *AuthorizationReviewApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithName(value string) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithGenerateName(value string) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithNamespace(value string) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithUID(value types.UID) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithResourceVersion(value string) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithGeneration(value int64) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithCreationTimestamp(value metav1.Time) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *AuthorizationReviewApplyConfiguration) WithLabels(entries map[string]string) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *AuthorizationReviewApplyConfiguration) WithAnnotations(entries map[string]string) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *AuthorizationReviewApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *AuthorizationReviewApplyConfiguration) WithFinalizers(values ...string) *AuthorizationReviewApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *AuthorizationReviewApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithSpec(value *AuthorizationReviewSpecApplyConfiguration) *AuthorizationReviewApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *AuthorizationReviewApplyConfiguration) WithStatus(value *AuthorizationReviewStatusApplyConfiguration) *AuthorizationReviewApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *AuthorizationReviewApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *AuthorizationReviewApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *AuthorizationReviewApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *AuthorizationReviewApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewresourceattributes.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewresourceattributes.go new file mode 100644 index 00000000..53ae9289 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewresourceattributes.go @@ -0,0 +1,50 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// AuthorizationReviewResourceAttributesApplyConfiguration represents a declarative configuration of the AuthorizationReviewResourceAttributes type for use +// with apply. +type AuthorizationReviewResourceAttributesApplyConfiguration struct { + // The API Group to check. + APIGroup *string `json:"apiGroup,omitempty"` + // The set of resources to check within the same API Group. + Resources []string `json:"resources,omitempty"` + // The set of verbs to check. This is expanded for each resource and within the same API Group. + Verbs []string `json:"verbs,omitempty"` +} + +// AuthorizationReviewResourceAttributesApplyConfiguration constructs a declarative configuration of the AuthorizationReviewResourceAttributes type for use with +// apply. +func AuthorizationReviewResourceAttributes() *AuthorizationReviewResourceAttributesApplyConfiguration { + return &AuthorizationReviewResourceAttributesApplyConfiguration{} +} + +// WithAPIGroup sets the APIGroup field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIGroup field is set to the value of the last call. +func (b *AuthorizationReviewResourceAttributesApplyConfiguration) WithAPIGroup(value string) *AuthorizationReviewResourceAttributesApplyConfiguration { + b.APIGroup = &value + return b +} + +// WithResources adds the given value to the Resources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Resources field. +func (b *AuthorizationReviewResourceAttributesApplyConfiguration) WithResources(values ...string) *AuthorizationReviewResourceAttributesApplyConfiguration { + for i := range values { + b.Resources = append(b.Resources, values[i]) + } + return b +} + +// WithVerbs adds the given value to the Verbs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Verbs field. +func (b *AuthorizationReviewResourceAttributesApplyConfiguration) WithVerbs(values ...string) *AuthorizationReviewResourceAttributesApplyConfiguration { + for i := range values { + b.Verbs = append(b.Verbs, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewspec.go new file mode 100644 index 00000000..18013e5a --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewspec.go @@ -0,0 +1,82 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// AuthorizationReviewSpecApplyConfiguration represents a declarative configuration of the AuthorizationReviewSpec type for use +// with apply. +type AuthorizationReviewSpecApplyConfiguration struct { + // The set of resource attributes that are being checked. Each resource attribute is expanded into individual + // kind/resource and verbs. + ResourceAttributes []AuthorizationReviewResourceAttributesApplyConfiguration `json:"resourceAttributes,omitempty"` + // User is the user you're testing for. + // If you specify "User" but not "Groups", then is it interpreted as "What if User were not a member of any groups" + User *string `json:"user,omitempty"` + // Groups is the groups you're testing for. + Groups []string `json:"groups,omitempty"` + // Extra corresponds to the user.Info.GetExtra() method from the authenticator. Since that is input to the authorizer + // it needs a reflection here. + Extra map[string][]string `json:"extra,omitempty"` + // UID information about the requesting user. + UID *string `json:"uid,omitempty"` +} + +// AuthorizationReviewSpecApplyConfiguration constructs a declarative configuration of the AuthorizationReviewSpec type for use with +// apply. +func AuthorizationReviewSpec() *AuthorizationReviewSpecApplyConfiguration { + return &AuthorizationReviewSpecApplyConfiguration{} +} + +// WithResourceAttributes adds the given value to the ResourceAttributes field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ResourceAttributes field. +func (b *AuthorizationReviewSpecApplyConfiguration) WithResourceAttributes(values ...*AuthorizationReviewResourceAttributesApplyConfiguration) *AuthorizationReviewSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithResourceAttributes") + } + b.ResourceAttributes = append(b.ResourceAttributes, *values[i]) + } + return b +} + +// WithUser sets the User field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the User field is set to the value of the last call. +func (b *AuthorizationReviewSpecApplyConfiguration) WithUser(value string) *AuthorizationReviewSpecApplyConfiguration { + b.User = &value + return b +} + +// WithGroups adds the given value to the Groups field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Groups field. +func (b *AuthorizationReviewSpecApplyConfiguration) WithGroups(values ...string) *AuthorizationReviewSpecApplyConfiguration { + for i := range values { + b.Groups = append(b.Groups, values[i]) + } + return b +} + +// WithExtra puts the entries into the Extra field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Extra field, +// overwriting an existing map entries in Extra field with the same key. +func (b *AuthorizationReviewSpecApplyConfiguration) WithExtra(entries map[string][]string) *AuthorizationReviewSpecApplyConfiguration { + if b.Extra == nil && len(entries) > 0 { + b.Extra = make(map[string][]string, len(entries)) + } + for k, v := range entries { + b.Extra[k] = v + } + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *AuthorizationReviewSpecApplyConfiguration) WithUID(value string) *AuthorizationReviewSpecApplyConfiguration { + b.UID = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewstatus.go new file mode 100644 index 00000000..a0179b08 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizationreviewstatus.go @@ -0,0 +1,32 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// AuthorizationReviewStatusApplyConfiguration represents a declarative configuration of the AuthorizationReviewStatus type for use +// with apply. +type AuthorizationReviewStatusApplyConfiguration struct { + // The set of authorized resource actions. A given API Group and resource combination will appear at most once in + // this slice. + AuthorizedResourceVerbs []AuthorizedResourceVerbsApplyConfiguration `json:"authorizedResourceVerbs,omitempty"` +} + +// AuthorizationReviewStatusApplyConfiguration constructs a declarative configuration of the AuthorizationReviewStatus type for use with +// apply. +func AuthorizationReviewStatus() *AuthorizationReviewStatusApplyConfiguration { + return &AuthorizationReviewStatusApplyConfiguration{} +} + +// WithAuthorizedResourceVerbs adds the given value to the AuthorizedResourceVerbs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the AuthorizedResourceVerbs field. +func (b *AuthorizationReviewStatusApplyConfiguration) WithAuthorizedResourceVerbs(values ...*AuthorizedResourceVerbsApplyConfiguration) *AuthorizationReviewStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithAuthorizedResourceVerbs") + } + b.AuthorizedResourceVerbs = append(b.AuthorizedResourceVerbs, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourcegroup.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourcegroup.go new file mode 100644 index 00000000..fd9301d9 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourcegroup.go @@ -0,0 +1,57 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// AuthorizedResourceGroupApplyConfiguration represents a declarative configuration of the AuthorizedResourceGroup type for use +// with apply. +type AuthorizedResourceGroupApplyConfiguration struct { + // The tier. This is only valid for tiered policies, and tiers. + Tier *string `json:"tier,omitempty"` + // The namespace. If this is empty then the user is authorized cluster-wide (i.e. across all namespaces). This will + // always be empty for cluster-scoped resources when the user is authorized. + Namespace *string `json:"namespace,omitempty"` + // The UISettingsGroup name. This is only valid for uisettingsgroup/data sub resources. + UISettingsGroup *string `json:"uiSettingsGroup,omitempty"` + // ManagedCluster is the name of the ManagedCluster. This is only valid for managedclusters. + ManagedCluster *string `json:"managedCluster,omitempty"` +} + +// AuthorizedResourceGroupApplyConfiguration constructs a declarative configuration of the AuthorizedResourceGroup type for use with +// apply. +func AuthorizedResourceGroup() *AuthorizedResourceGroupApplyConfiguration { + return &AuthorizedResourceGroupApplyConfiguration{} +} + +// WithTier sets the Tier field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Tier field is set to the value of the last call. +func (b *AuthorizedResourceGroupApplyConfiguration) WithTier(value string) *AuthorizedResourceGroupApplyConfiguration { + b.Tier = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *AuthorizedResourceGroupApplyConfiguration) WithNamespace(value string) *AuthorizedResourceGroupApplyConfiguration { + b.Namespace = &value + return b +} + +// WithUISettingsGroup sets the UISettingsGroup field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UISettingsGroup field is set to the value of the last call. +func (b *AuthorizedResourceGroupApplyConfiguration) WithUISettingsGroup(value string) *AuthorizedResourceGroupApplyConfiguration { + b.UISettingsGroup = &value + return b +} + +// WithManagedCluster sets the ManagedCluster field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ManagedCluster field is set to the value of the last call. +func (b *AuthorizedResourceGroupApplyConfiguration) WithManagedCluster(value string) *AuthorizedResourceGroupApplyConfiguration { + b.ManagedCluster = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourceverb.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourceverb.go new file mode 100644 index 00000000..d6a723bc --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourceverb.go @@ -0,0 +1,41 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// AuthorizedResourceVerbApplyConfiguration represents a declarative configuration of the AuthorizedResourceVerb type for use +// with apply. +type AuthorizedResourceVerbApplyConfiguration struct { + // The verb. + Verb *string `json:"verb,omitempty"` + // The group of resource instances that are authorized for this verb. + ResourceGroups []AuthorizedResourceGroupApplyConfiguration `json:"resourceGroups,omitempty"` +} + +// AuthorizedResourceVerbApplyConfiguration constructs a declarative configuration of the AuthorizedResourceVerb type for use with +// apply. +func AuthorizedResourceVerb() *AuthorizedResourceVerbApplyConfiguration { + return &AuthorizedResourceVerbApplyConfiguration{} +} + +// WithVerb sets the Verb field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Verb field is set to the value of the last call. +func (b *AuthorizedResourceVerbApplyConfiguration) WithVerb(value string) *AuthorizedResourceVerbApplyConfiguration { + b.Verb = &value + return b +} + +// WithResourceGroups adds the given value to the ResourceGroups field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ResourceGroups field. +func (b *AuthorizedResourceVerbApplyConfiguration) WithResourceGroups(values ...*AuthorizedResourceGroupApplyConfiguration) *AuthorizedResourceVerbApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithResourceGroups") + } + b.ResourceGroups = append(b.ResourceGroups, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourceverbs.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourceverbs.go new file mode 100644 index 00000000..4f765270 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/authorizedresourceverbs.go @@ -0,0 +1,54 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// AuthorizedResourceVerbsApplyConfiguration represents a declarative configuration of the AuthorizedResourceVerbs type for use +// with apply. +type AuthorizedResourceVerbsApplyConfiguration struct { + // The API group. + APIGroup *string `json:"apiGroup,omitempty"` + // The resource. + Resource *string `json:"resource,omitempty"` + // The set of authorized actions for this resource. For a specific verb, this contains the set of resources for + // which the user is authorized to perform that action. This is calculated to avoid duplication such that a single + // resource instance can only be associated with a single entry in this slice. This allows a consumer of this API + // to issue a minimal set of queries (e.g. watches) that cover, uniquely, the authorized set of resources. + Verbs []AuthorizedResourceVerbApplyConfiguration `json:"verbs,omitempty"` +} + +// AuthorizedResourceVerbsApplyConfiguration constructs a declarative configuration of the AuthorizedResourceVerbs type for use with +// apply. +func AuthorizedResourceVerbs() *AuthorizedResourceVerbsApplyConfiguration { + return &AuthorizedResourceVerbsApplyConfiguration{} +} + +// WithAPIGroup sets the APIGroup field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIGroup field is set to the value of the last call. +func (b *AuthorizedResourceVerbsApplyConfiguration) WithAPIGroup(value string) *AuthorizedResourceVerbsApplyConfiguration { + b.APIGroup = &value + return b +} + +// WithResource sets the Resource field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Resource field is set to the value of the last call. +func (b *AuthorizedResourceVerbsApplyConfiguration) WithResource(value string) *AuthorizedResourceVerbsApplyConfiguration { + b.Resource = &value + return b +} + +// WithVerbs adds the given value to the Verbs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Verbs field. +func (b *AuthorizedResourceVerbsApplyConfiguration) WithVerbs(values ...*AuthorizedResourceVerbApplyConfiguration) *AuthorizedResourceVerbsApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithVerbs") + } + b.Verbs = append(b.Verbs, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/autohostendpointconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/autohostendpointconfig.go new file mode 100644 index 00000000..c50fad0d --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/autohostendpointconfig.go @@ -0,0 +1,55 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// AutoHostEndpointConfigApplyConfiguration represents a declarative configuration of the AutoHostEndpointConfig type for use +// with apply. +type AutoHostEndpointConfigApplyConfiguration struct { + // AutoCreate enables automatic creation of host endpoints for every node. [Default: Disabled] + // Valid values are: "Enabled", "Disabled". + AutoCreate *string `json:"autoCreate,omitempty"` + CreateDefaultHostEndpoint *projectcalicov3.DefaultHostEndpointMode `json:"createDefaultHostEndpoint,omitempty"` + // Templates contains definition for creating AutoHostEndpoints + Templates []TemplateApplyConfiguration `json:"templates,omitempty"` +} + +// AutoHostEndpointConfigApplyConfiguration constructs a declarative configuration of the AutoHostEndpointConfig type for use with +// apply. +func AutoHostEndpointConfig() *AutoHostEndpointConfigApplyConfiguration { + return &AutoHostEndpointConfigApplyConfiguration{} +} + +// WithAutoCreate sets the AutoCreate field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AutoCreate field is set to the value of the last call. +func (b *AutoHostEndpointConfigApplyConfiguration) WithAutoCreate(value string) *AutoHostEndpointConfigApplyConfiguration { + b.AutoCreate = &value + return b +} + +// WithCreateDefaultHostEndpoint sets the CreateDefaultHostEndpoint field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreateDefaultHostEndpoint field is set to the value of the last call. +func (b *AutoHostEndpointConfigApplyConfiguration) WithCreateDefaultHostEndpoint(value projectcalicov3.DefaultHostEndpointMode) *AutoHostEndpointConfigApplyConfiguration { + b.CreateDefaultHostEndpoint = &value + return b +} + +// WithTemplates adds the given value to the Templates field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Templates field. +func (b *AutoHostEndpointConfigApplyConfiguration) WithTemplates(values ...*TemplateApplyConfiguration) *AutoHostEndpointConfigApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithTemplates") + } + b.Templates = append(b.Templates, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bfdconfiguration.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bfdconfiguration.go new file mode 100644 index 00000000..09965173 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bfdconfiguration.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// BFDConfigurationApplyConfiguration represents a declarative configuration of the BFDConfiguration type for use +// with apply. +type BFDConfigurationApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *BFDConfigurationSpecApplyConfiguration `json:"spec,omitempty"` +} + +// BFDConfiguration constructs a declarative configuration of the BFDConfiguration type for use with +// apply. +func BFDConfiguration(name string) *BFDConfigurationApplyConfiguration { + b := &BFDConfigurationApplyConfiguration{} + b.WithName(name) + b.WithKind("BFDConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractBFDConfigurationFrom extracts the applied configuration owned by fieldManager from +// bFDConfiguration for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// bFDConfiguration must be a unmodified BFDConfiguration API object that was retrieved from the Kubernetes API. +// ExtractBFDConfigurationFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractBFDConfigurationFrom(bFDConfiguration *projectcalicov3.BFDConfiguration, fieldManager string, subresource string) (*BFDConfigurationApplyConfiguration, error) { + b := &BFDConfigurationApplyConfiguration{} + err := managedfields.ExtractInto(bFDConfiguration, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.BFDConfiguration"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(bFDConfiguration.Name) + + b.WithKind("BFDConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractBFDConfiguration extracts the applied configuration owned by fieldManager from +// bFDConfiguration. If no managedFields are found in bFDConfiguration for fieldManager, a +// BFDConfigurationApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// bFDConfiguration must be a unmodified BFDConfiguration API object that was retrieved from the Kubernetes API. +// ExtractBFDConfiguration provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractBFDConfiguration(bFDConfiguration *projectcalicov3.BFDConfiguration, fieldManager string) (*BFDConfigurationApplyConfiguration, error) { + return ExtractBFDConfigurationFrom(bFDConfiguration, fieldManager, "") +} + +func (b BFDConfigurationApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithKind(value string) *BFDConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithAPIVersion(value string) *BFDConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithName(value string) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithGenerateName(value string) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithNamespace(value string) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithUID(value types.UID) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithResourceVersion(value string) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithGeneration(value int64) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithCreationTimestamp(value metav1.Time) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *BFDConfigurationApplyConfiguration) WithLabels(entries map[string]string) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *BFDConfigurationApplyConfiguration) WithAnnotations(entries map[string]string) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *BFDConfigurationApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *BFDConfigurationApplyConfiguration) WithFinalizers(values ...string) *BFDConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *BFDConfigurationApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *BFDConfigurationApplyConfiguration) WithSpec(value *BFDConfigurationSpecApplyConfiguration) *BFDConfigurationApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *BFDConfigurationApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *BFDConfigurationApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *BFDConfigurationApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *BFDConfigurationApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bfdconfigurationspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bfdconfigurationspec.go new file mode 100644 index 00000000..cbe4c52a --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bfdconfigurationspec.go @@ -0,0 +1,41 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// BFDConfigurationSpecApplyConfiguration represents a declarative configuration of the BFDConfigurationSpec type for use +// with apply. +// +// BFDConfigurationSpec contains the specification for a BFDConfiguration resource. +type BFDConfigurationSpecApplyConfiguration struct { + NodeSelector *string `json:"nodeSelector,omitempty"` + Interfaces []BFDInterfaceApplyConfiguration `json:"interfaces,omitempty"` +} + +// BFDConfigurationSpecApplyConfiguration constructs a declarative configuration of the BFDConfigurationSpec type for use with +// apply. +func BFDConfigurationSpec() *BFDConfigurationSpecApplyConfiguration { + return &BFDConfigurationSpecApplyConfiguration{} +} + +// WithNodeSelector sets the NodeSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NodeSelector field is set to the value of the last call. +func (b *BFDConfigurationSpecApplyConfiguration) WithNodeSelector(value string) *BFDConfigurationSpecApplyConfiguration { + b.NodeSelector = &value + return b +} + +// WithInterfaces adds the given value to the Interfaces field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Interfaces field. +func (b *BFDConfigurationSpecApplyConfiguration) WithInterfaces(values ...*BFDInterfaceApplyConfiguration) *BFDConfigurationSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithInterfaces") + } + b.Interfaces = append(b.Interfaces, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bfdinterface.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bfdinterface.go new file mode 100644 index 00000000..fb7a55ef --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bfdinterface.go @@ -0,0 +1,74 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// BFDInterfaceApplyConfiguration represents a declarative configuration of the BFDInterface type for use +// with apply. +// +// BFDInterface contains per-interface parameters for BFD failure detection. +type BFDInterfaceApplyConfiguration struct { + // MatchPattern is a pattern to match one or more interfaces. + // Supports exact interface names, match on interface prefixes (e.g., “eth*”), + // or “*” to select all interfaces on the selected node(s). + MatchPattern *string `json:"matchPattern,omitempty"` + // MinimumRecvInterval is the minimum interval between received BFD packets. Must be a whole number of milliseconds greater than 0. + MinimumRecvInterval *v1.Duration `json:"minimumRecvInterval,omitempty"` + // MinimumSendInterval is the minimum interval between transmitted BFD packets. Must be a whole number of milliseconds greater than 0. + MinimumSendInterval *v1.Duration `json:"minimumSendInterval,omitempty"` + // IdleSendInterval is the interval between transmitted BFD packets when the BFD peer is idle. Must be a whole number of milliseconds greater than 0. + IdleSendInterval *v1.Duration `json:"idleSendInterval,omitempty"` + // Multiplier is the number of intervals that must pass without receiving a BFD packet before the peer is considered down. + Multiplier *int `json:"multiplier,omitempty"` +} + +// BFDInterfaceApplyConfiguration constructs a declarative configuration of the BFDInterface type for use with +// apply. +func BFDInterface() *BFDInterfaceApplyConfiguration { + return &BFDInterfaceApplyConfiguration{} +} + +// WithMatchPattern sets the MatchPattern field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MatchPattern field is set to the value of the last call. +func (b *BFDInterfaceApplyConfiguration) WithMatchPattern(value string) *BFDInterfaceApplyConfiguration { + b.MatchPattern = &value + return b +} + +// WithMinimumRecvInterval sets the MinimumRecvInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MinimumRecvInterval field is set to the value of the last call. +func (b *BFDInterfaceApplyConfiguration) WithMinimumRecvInterval(value v1.Duration) *BFDInterfaceApplyConfiguration { + b.MinimumRecvInterval = &value + return b +} + +// WithMinimumSendInterval sets the MinimumSendInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MinimumSendInterval field is set to the value of the last call. +func (b *BFDInterfaceApplyConfiguration) WithMinimumSendInterval(value v1.Duration) *BFDInterfaceApplyConfiguration { + b.MinimumSendInterval = &value + return b +} + +// WithIdleSendInterval sets the IdleSendInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IdleSendInterval field is set to the value of the last call. +func (b *BFDInterfaceApplyConfiguration) WithIdleSendInterval(value v1.Duration) *BFDInterfaceApplyConfiguration { + b.IdleSendInterval = &value + return b +} + +// WithMultiplier sets the Multiplier field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Multiplier field is set to the value of the last call. +func (b *BFDInterfaceApplyConfiguration) WithMultiplier(value int) *BFDInterfaceApplyConfiguration { + b.Multiplier = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpconfiguration.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpconfiguration.go new file mode 100644 index 00000000..cbec1a10 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpconfiguration.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// BGPConfigurationApplyConfiguration represents a declarative configuration of the BGPConfiguration type for use +// with apply. +type BGPConfigurationApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *BGPConfigurationSpecApplyConfiguration `json:"spec,omitempty"` +} + +// BGPConfiguration constructs a declarative configuration of the BGPConfiguration type for use with +// apply. +func BGPConfiguration(name string) *BGPConfigurationApplyConfiguration { + b := &BGPConfigurationApplyConfiguration{} + b.WithName(name) + b.WithKind("BGPConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractBGPConfigurationFrom extracts the applied configuration owned by fieldManager from +// bGPConfiguration for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// bGPConfiguration must be a unmodified BGPConfiguration API object that was retrieved from the Kubernetes API. +// ExtractBGPConfigurationFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractBGPConfigurationFrom(bGPConfiguration *projectcalicov3.BGPConfiguration, fieldManager string, subresource string) (*BGPConfigurationApplyConfiguration, error) { + b := &BGPConfigurationApplyConfiguration{} + err := managedfields.ExtractInto(bGPConfiguration, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.BGPConfiguration"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(bGPConfiguration.Name) + + b.WithKind("BGPConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractBGPConfiguration extracts the applied configuration owned by fieldManager from +// bGPConfiguration. If no managedFields are found in bGPConfiguration for fieldManager, a +// BGPConfigurationApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// bGPConfiguration must be a unmodified BGPConfiguration API object that was retrieved from the Kubernetes API. +// ExtractBGPConfiguration provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractBGPConfiguration(bGPConfiguration *projectcalicov3.BGPConfiguration, fieldManager string) (*BGPConfigurationApplyConfiguration, error) { + return ExtractBGPConfigurationFrom(bGPConfiguration, fieldManager, "") +} + +func (b BGPConfigurationApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithKind(value string) *BGPConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithAPIVersion(value string) *BGPConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithName(value string) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithGenerateName(value string) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithNamespace(value string) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithUID(value types.UID) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithResourceVersion(value string) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithGeneration(value int64) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithCreationTimestamp(value metav1.Time) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *BGPConfigurationApplyConfiguration) WithLabels(entries map[string]string) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *BGPConfigurationApplyConfiguration) WithAnnotations(entries map[string]string) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *BGPConfigurationApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *BGPConfigurationApplyConfiguration) WithFinalizers(values ...string) *BGPConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *BGPConfigurationApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *BGPConfigurationApplyConfiguration) WithSpec(value *BGPConfigurationSpecApplyConfiguration) *BGPConfigurationApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *BGPConfigurationApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *BGPConfigurationApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *BGPConfigurationApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *BGPConfigurationApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpconfigurationspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpconfigurationspec.go new file mode 100644 index 00000000..3c44b475 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpconfigurationspec.go @@ -0,0 +1,279 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + numorstring "github.com/tigera/api/pkg/lib/numorstring" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// BGPConfigurationSpecApplyConfiguration represents a declarative configuration of the BGPConfigurationSpec type for use +// with apply. +// +// BGPConfigurationSpec contains the values of the BGP configuration. +type BGPConfigurationSpecApplyConfiguration struct { + // LogSeverityScreen is the log severity above which logs are sent to the stdout. [Default: Info] + LogSeverityScreen *string `json:"logSeverityScreen,omitempty"` + // NodeToNodeMeshEnabled sets whether full node to node BGP mesh is enabled. [Default: true] + NodeToNodeMeshEnabled *bool `json:"nodeToNodeMeshEnabled,omitempty"` + // ASNumber is the default AS number used by a node. [Default: 64512] + ASNumber *numorstring.ASNumber `json:"asNumber,omitempty"` + // Extensions is a mapping of keys to values that can be used in custom BGP templates + Extensions map[string]string `json:"extensions,omitempty"` + // ServiceLoadBalancerIPs are the CIDR blocks for Kubernetes Service LoadBalancer IPs. + // Kubernetes Service status.LoadBalancer.Ingress IPs will only be advertised if they are within one of these blocks. + ServiceLoadBalancerIPs []ServiceLoadBalancerIPBlockApplyConfiguration `json:"serviceLoadBalancerIPs,omitempty"` + // ServiceExternalIPs are the CIDR blocks for Kubernetes Service External IPs. + // Kubernetes Service ExternalIPs will only be advertised if they are within one of these blocks. + ServiceExternalIPs []ServiceExternalIPBlockApplyConfiguration `json:"serviceExternalIPs,omitempty"` + // ServiceClusterIPs are the CIDR blocks from which service cluster IPs are allocated. + // If specified, Calico will advertise these blocks, as well as any cluster IPs within them. + ServiceClusterIPs []ServiceClusterIPBlockApplyConfiguration `json:"serviceClusterIPs,omitempty"` + // ServiceLoadBalancerAggregation controls how LoadBalancer service IPs are advertised. + // When set to "Disabled", individual /32 routes are advertised for each service instead of + // the full CIDR range. This is useful for anycast failover mechanisms where failed service + // routes need to be withdrawn. [Default: Enabled] + ServiceLoadBalancerAggregation *projectcalicov3.ServiceLoadBalancerAggregation `json:"serviceLoadBalancerAggregation,omitempty"` + // Communities is a list of BGP community values and their arbitrary names for tagging routes. + Communities []CommunityApplyConfiguration `json:"communities,omitempty"` + // PrefixAdvertisements contains per-prefix advertisement configuration. + PrefixAdvertisements []PrefixAdvertisementApplyConfiguration `json:"prefixAdvertisements,omitempty"` + // ListenPort is the port where BGP protocol should listen. Defaults to 179 + ListenPort *uint16 `json:"listenPort,omitempty"` + // Optional BGP password for full node-to-mesh peerings. + // This field can only be set on the default BGPConfiguration instance and requires that NodeMesh is enabled + NodeMeshPassword *BGPPasswordApplyConfiguration `json:"nodeMeshPassword,omitempty"` + // Time to allow for software restart for node-to-mesh peerings. When specified, this is configured + // as the graceful restart timeout. When not specified, the BIRD default of 120s is used. + // This field can only be set on the default BGPConfiguration instance and requires that NodeMesh is enabled + NodeMeshMaxRestartTime *v1.Duration `json:"nodeMeshMaxRestartTime,omitempty"` + // BindMode indicates whether to listen for BGP connections on all addresses (None) + // or only on the node's canonical IP address Node.Spec.BGP.IPvXAddress (NodeIP). + // Default behaviour is to listen for BGP connections on all addresses. + BindMode *projectcalicov3.BindMode `json:"bindMode,omitempty"` + // IgnoredInterfaces indicates the network interfaces that needs to be excluded when reading device routes. + IgnoredInterfaces []string `json:"ignoredInterfaces,omitempty"` + // The virtual IPv4 address of the node with which its local workload is expected to peer. + // It is recommended to use a link-local address. + LocalWorkloadPeeringIPV4 *string `json:"localWorkloadPeeringIPV4,omitempty"` + // The virtual IPv6 address of the node with which its local workload is expected to peer. + // It is recommended to use a link-local address. + LocalWorkloadPeeringIPV6 *string `json:"localWorkloadPeeringIPV6,omitempty"` + // ProgramClusterRoutes controls how a cluster node gets a route to a workload on another node, + // when that workload's IP comes from an IP Pool with vxlanMode: Never. When ProgramClusterRoutes is Enabled, + // confd and BIRD program that route. When ProgramClusterRoutes is Disabled, it is expected that Felix will program that route. + // Felix always programs such routes for IP Pools with vxlanMode: Always or vxlanMode: CrossSubnet. [Default: Enabled] + ProgramClusterRoutes *string `json:"programClusterRoutes,omitempty"` + // IPv4NormalRoutePriority is the normal route priority (metric) that Felix uses for IPv4 + // workload routes. This must match the value configured in FelixConfiguration. BIRD uses + // this to identify elevated-priority routes during live migration and to override local + // workload routes with higher-priority BGP-learned routes. [Default: 1024] + IPv4NormalRoutePriority *int `json:"ipv4NormalRoutePriority,omitempty"` + // IPv6NormalRoutePriority is the normal route priority (metric) that Felix uses for IPv6 + // workload routes. This must match the value configured in FelixConfiguration. BIRD uses + // this to identify elevated-priority routes during live migration and to override local + // workload routes with higher-priority BGP-learned routes. [Default: 1024] + IPv6NormalRoutePriority *int `json:"ipv6NormalRoutePriority,omitempty"` +} + +// BGPConfigurationSpecApplyConfiguration constructs a declarative configuration of the BGPConfigurationSpec type for use with +// apply. +func BGPConfigurationSpec() *BGPConfigurationSpecApplyConfiguration { + return &BGPConfigurationSpecApplyConfiguration{} +} + +// WithLogSeverityScreen sets the LogSeverityScreen field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LogSeverityScreen field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithLogSeverityScreen(value string) *BGPConfigurationSpecApplyConfiguration { + b.LogSeverityScreen = &value + return b +} + +// WithNodeToNodeMeshEnabled sets the NodeToNodeMeshEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NodeToNodeMeshEnabled field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithNodeToNodeMeshEnabled(value bool) *BGPConfigurationSpecApplyConfiguration { + b.NodeToNodeMeshEnabled = &value + return b +} + +// WithASNumber sets the ASNumber field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ASNumber field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithASNumber(value numorstring.ASNumber) *BGPConfigurationSpecApplyConfiguration { + b.ASNumber = &value + return b +} + +// WithExtensions puts the entries into the Extensions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Extensions field, +// overwriting an existing map entries in Extensions field with the same key. +func (b *BGPConfigurationSpecApplyConfiguration) WithExtensions(entries map[string]string) *BGPConfigurationSpecApplyConfiguration { + if b.Extensions == nil && len(entries) > 0 { + b.Extensions = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Extensions[k] = v + } + return b +} + +// WithServiceLoadBalancerIPs adds the given value to the ServiceLoadBalancerIPs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ServiceLoadBalancerIPs field. +func (b *BGPConfigurationSpecApplyConfiguration) WithServiceLoadBalancerIPs(values ...*ServiceLoadBalancerIPBlockApplyConfiguration) *BGPConfigurationSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithServiceLoadBalancerIPs") + } + b.ServiceLoadBalancerIPs = append(b.ServiceLoadBalancerIPs, *values[i]) + } + return b +} + +// WithServiceExternalIPs adds the given value to the ServiceExternalIPs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ServiceExternalIPs field. +func (b *BGPConfigurationSpecApplyConfiguration) WithServiceExternalIPs(values ...*ServiceExternalIPBlockApplyConfiguration) *BGPConfigurationSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithServiceExternalIPs") + } + b.ServiceExternalIPs = append(b.ServiceExternalIPs, *values[i]) + } + return b +} + +// WithServiceClusterIPs adds the given value to the ServiceClusterIPs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ServiceClusterIPs field. +func (b *BGPConfigurationSpecApplyConfiguration) WithServiceClusterIPs(values ...*ServiceClusterIPBlockApplyConfiguration) *BGPConfigurationSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithServiceClusterIPs") + } + b.ServiceClusterIPs = append(b.ServiceClusterIPs, *values[i]) + } + return b +} + +// WithServiceLoadBalancerAggregation sets the ServiceLoadBalancerAggregation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ServiceLoadBalancerAggregation field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithServiceLoadBalancerAggregation(value projectcalicov3.ServiceLoadBalancerAggregation) *BGPConfigurationSpecApplyConfiguration { + b.ServiceLoadBalancerAggregation = &value + return b +} + +// WithCommunities adds the given value to the Communities field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Communities field. +func (b *BGPConfigurationSpecApplyConfiguration) WithCommunities(values ...*CommunityApplyConfiguration) *BGPConfigurationSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithCommunities") + } + b.Communities = append(b.Communities, *values[i]) + } + return b +} + +// WithPrefixAdvertisements adds the given value to the PrefixAdvertisements field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the PrefixAdvertisements field. +func (b *BGPConfigurationSpecApplyConfiguration) WithPrefixAdvertisements(values ...*PrefixAdvertisementApplyConfiguration) *BGPConfigurationSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithPrefixAdvertisements") + } + b.PrefixAdvertisements = append(b.PrefixAdvertisements, *values[i]) + } + return b +} + +// WithListenPort sets the ListenPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ListenPort field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithListenPort(value uint16) *BGPConfigurationSpecApplyConfiguration { + b.ListenPort = &value + return b +} + +// WithNodeMeshPassword sets the NodeMeshPassword field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NodeMeshPassword field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithNodeMeshPassword(value *BGPPasswordApplyConfiguration) *BGPConfigurationSpecApplyConfiguration { + b.NodeMeshPassword = value + return b +} + +// WithNodeMeshMaxRestartTime sets the NodeMeshMaxRestartTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NodeMeshMaxRestartTime field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithNodeMeshMaxRestartTime(value v1.Duration) *BGPConfigurationSpecApplyConfiguration { + b.NodeMeshMaxRestartTime = &value + return b +} + +// WithBindMode sets the BindMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BindMode field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithBindMode(value projectcalicov3.BindMode) *BGPConfigurationSpecApplyConfiguration { + b.BindMode = &value + return b +} + +// WithIgnoredInterfaces adds the given value to the IgnoredInterfaces field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IgnoredInterfaces field. +func (b *BGPConfigurationSpecApplyConfiguration) WithIgnoredInterfaces(values ...string) *BGPConfigurationSpecApplyConfiguration { + for i := range values { + b.IgnoredInterfaces = append(b.IgnoredInterfaces, values[i]) + } + return b +} + +// WithLocalWorkloadPeeringIPV4 sets the LocalWorkloadPeeringIPV4 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LocalWorkloadPeeringIPV4 field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithLocalWorkloadPeeringIPV4(value string) *BGPConfigurationSpecApplyConfiguration { + b.LocalWorkloadPeeringIPV4 = &value + return b +} + +// WithLocalWorkloadPeeringIPV6 sets the LocalWorkloadPeeringIPV6 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LocalWorkloadPeeringIPV6 field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithLocalWorkloadPeeringIPV6(value string) *BGPConfigurationSpecApplyConfiguration { + b.LocalWorkloadPeeringIPV6 = &value + return b +} + +// WithProgramClusterRoutes sets the ProgramClusterRoutes field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ProgramClusterRoutes field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithProgramClusterRoutes(value string) *BGPConfigurationSpecApplyConfiguration { + b.ProgramClusterRoutes = &value + return b +} + +// WithIPv4NormalRoutePriority sets the IPv4NormalRoutePriority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPv4NormalRoutePriority field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithIPv4NormalRoutePriority(value int) *BGPConfigurationSpecApplyConfiguration { + b.IPv4NormalRoutePriority = &value + return b +} + +// WithIPv6NormalRoutePriority sets the IPv6NormalRoutePriority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPv6NormalRoutePriority field is set to the value of the last call. +func (b *BGPConfigurationSpecApplyConfiguration) WithIPv6NormalRoutePriority(value int) *BGPConfigurationSpecApplyConfiguration { + b.IPv6NormalRoutePriority = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpdaemonstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpdaemonstatus.go new file mode 100644 index 00000000..8d663596 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpdaemonstatus.go @@ -0,0 +1,72 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// BGPDaemonStatusApplyConfiguration represents a declarative configuration of the BGPDaemonStatus type for use +// with apply. +// +// BGPDaemonStatus defines the observed state of BGP daemon. +type BGPDaemonStatusApplyConfiguration struct { + // The state of the BGP Daemon. + State *projectcalicov3.BGPDaemonState `json:"state,omitempty"` + // Version of the BGP daemon + Version *string `json:"version,omitempty"` + // Router ID used by bird. + RouterID *string `json:"routerID,omitempty"` + // LastBootTime holds the value of lastBootTime from bird.ctl output. + LastBootTime *string `json:"lastBootTime,omitempty"` + // LastReconfigurationTime holds the value of lastReconfigTime from bird.ctl output. + LastReconfigurationTime *string `json:"lastReconfigurationTime,omitempty"` +} + +// BGPDaemonStatusApplyConfiguration constructs a declarative configuration of the BGPDaemonStatus type for use with +// apply. +func BGPDaemonStatus() *BGPDaemonStatusApplyConfiguration { + return &BGPDaemonStatusApplyConfiguration{} +} + +// WithState sets the State field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the State field is set to the value of the last call. +func (b *BGPDaemonStatusApplyConfiguration) WithState(value projectcalicov3.BGPDaemonState) *BGPDaemonStatusApplyConfiguration { + b.State = &value + return b +} + +// WithVersion sets the Version field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Version field is set to the value of the last call. +func (b *BGPDaemonStatusApplyConfiguration) WithVersion(value string) *BGPDaemonStatusApplyConfiguration { + b.Version = &value + return b +} + +// WithRouterID sets the RouterID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RouterID field is set to the value of the last call. +func (b *BGPDaemonStatusApplyConfiguration) WithRouterID(value string) *BGPDaemonStatusApplyConfiguration { + b.RouterID = &value + return b +} + +// WithLastBootTime sets the LastBootTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastBootTime field is set to the value of the last call. +func (b *BGPDaemonStatusApplyConfiguration) WithLastBootTime(value string) *BGPDaemonStatusApplyConfiguration { + b.LastBootTime = &value + return b +} + +// WithLastReconfigurationTime sets the LastReconfigurationTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastReconfigurationTime field is set to the value of the last call. +func (b *BGPDaemonStatusApplyConfiguration) WithLastReconfigurationTime(value string) *BGPDaemonStatusApplyConfiguration { + b.LastReconfigurationTime = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilter.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilter.go new file mode 100644 index 00000000..72c19ee5 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilter.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// BGPFilterApplyConfiguration represents a declarative configuration of the BGPFilter type for use +// with apply. +type BGPFilterApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *BGPFilterSpecApplyConfiguration `json:"spec,omitempty"` +} + +// BGPFilter constructs a declarative configuration of the BGPFilter type for use with +// apply. +func BGPFilter(name string) *BGPFilterApplyConfiguration { + b := &BGPFilterApplyConfiguration{} + b.WithName(name) + b.WithKind("BGPFilter") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractBGPFilterFrom extracts the applied configuration owned by fieldManager from +// bGPFilter for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// bGPFilter must be a unmodified BGPFilter API object that was retrieved from the Kubernetes API. +// ExtractBGPFilterFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractBGPFilterFrom(bGPFilter *projectcalicov3.BGPFilter, fieldManager string, subresource string) (*BGPFilterApplyConfiguration, error) { + b := &BGPFilterApplyConfiguration{} + err := managedfields.ExtractInto(bGPFilter, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.BGPFilter"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(bGPFilter.Name) + + b.WithKind("BGPFilter") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractBGPFilter extracts the applied configuration owned by fieldManager from +// bGPFilter. If no managedFields are found in bGPFilter for fieldManager, a +// BGPFilterApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// bGPFilter must be a unmodified BGPFilter API object that was retrieved from the Kubernetes API. +// ExtractBGPFilter provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractBGPFilter(bGPFilter *projectcalicov3.BGPFilter, fieldManager string) (*BGPFilterApplyConfiguration, error) { + return ExtractBGPFilterFrom(bGPFilter, fieldManager, "") +} + +func (b BGPFilterApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithKind(value string) *BGPFilterApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithAPIVersion(value string) *BGPFilterApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithName(value string) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithGenerateName(value string) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithNamespace(value string) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithUID(value types.UID) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithResourceVersion(value string) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithGeneration(value int64) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithCreationTimestamp(value metav1.Time) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *BGPFilterApplyConfiguration) WithLabels(entries map[string]string) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *BGPFilterApplyConfiguration) WithAnnotations(entries map[string]string) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *BGPFilterApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *BGPFilterApplyConfiguration) WithFinalizers(values ...string) *BGPFilterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *BGPFilterApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *BGPFilterApplyConfiguration) WithSpec(value *BGPFilterSpecApplyConfiguration) *BGPFilterApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *BGPFilterApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *BGPFilterApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *BGPFilterApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *BGPFilterApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilteraddcommunity.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilteraddcommunity.go new file mode 100644 index 00000000..92c4db39 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilteraddcommunity.go @@ -0,0 +1,32 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// BGPFilterAddCommunityApplyConfiguration represents a declarative configuration of the BGPFilterAddCommunity type for use +// with apply. +// +// BGPFilterAddCommunity specifies a BGP community to add to a route. +type BGPFilterAddCommunityApplyConfiguration struct { + // Value is the BGP community to add. + Value *projectcalicov3.BGPCommunityValue `json:"value,omitempty"` +} + +// BGPFilterAddCommunityApplyConfiguration constructs a declarative configuration of the BGPFilterAddCommunity type for use with +// apply. +func BGPFilterAddCommunity() *BGPFilterAddCommunityApplyConfiguration { + return &BGPFilterAddCommunityApplyConfiguration{} +} + +// WithValue sets the Value field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Value field is set to the value of the last call. +func (b *BGPFilterAddCommunityApplyConfiguration) WithValue(value projectcalicov3.BGPCommunityValue) *BGPFilterAddCommunityApplyConfiguration { + b.Value = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfiltercommunitymatch.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfiltercommunitymatch.go new file mode 100644 index 00000000..d43235ed --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfiltercommunitymatch.go @@ -0,0 +1,36 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// BGPFilterCommunityMatchApplyConfiguration represents a declarative configuration of the BGPFilterCommunityMatch type for use +// with apply. +// +// BGPFilterCommunityMatch specifies community-based match criteria for a BGP filter rule. +// Currently only a single community value is supported. A MatchOperator field may be +// introduced in the future to support anyOf/allOf semantics with multiple values. +type BGPFilterCommunityMatchApplyConfiguration struct { + // Values is a list of BGP community values to match against. + Values []projectcalicov3.BGPCommunityValue `json:"values,omitempty"` +} + +// BGPFilterCommunityMatchApplyConfiguration constructs a declarative configuration of the BGPFilterCommunityMatch type for use with +// apply. +func BGPFilterCommunityMatch() *BGPFilterCommunityMatchApplyConfiguration { + return &BGPFilterCommunityMatchApplyConfiguration{} +} + +// WithValues adds the given value to the Values field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Values field. +func (b *BGPFilterCommunityMatchApplyConfiguration) WithValues(values ...projectcalicov3.BGPCommunityValue) *BGPFilterCommunityMatchApplyConfiguration { + for i := range values { + b.Values = append(b.Values, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilteroperation.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilteroperation.go new file mode 100644 index 00000000..23a6d9e6 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilteroperation.go @@ -0,0 +1,50 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// BGPFilterOperationApplyConfiguration represents a declarative configuration of the BGPFilterOperation type for use +// with apply. +// +// BGPFilterOperation is a discriminated union representing a single route modification. +// Exactly one field must be set. +type BGPFilterOperationApplyConfiguration struct { + // AddCommunity adds the specified BGP community to the route. + AddCommunity *BGPFilterAddCommunityApplyConfiguration `json:"addCommunity,omitempty"` + // PrependASPath prepends the specified AS numbers to the route's AS path. + PrependASPath *BGPFilterPrependASPathApplyConfiguration `json:"prependASPath,omitempty"` + // SetPriority sets the route's priority (metric), in the same units as the + // ...RoutePriority fields in FelixConfiguration. + SetPriority *BGPFilterSetPriorityApplyConfiguration `json:"setPriority,omitempty"` +} + +// BGPFilterOperationApplyConfiguration constructs a declarative configuration of the BGPFilterOperation type for use with +// apply. +func BGPFilterOperation() *BGPFilterOperationApplyConfiguration { + return &BGPFilterOperationApplyConfiguration{} +} + +// WithAddCommunity sets the AddCommunity field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AddCommunity field is set to the value of the last call. +func (b *BGPFilterOperationApplyConfiguration) WithAddCommunity(value *BGPFilterAddCommunityApplyConfiguration) *BGPFilterOperationApplyConfiguration { + b.AddCommunity = value + return b +} + +// WithPrependASPath sets the PrependASPath field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrependASPath field is set to the value of the last call. +func (b *BGPFilterOperationApplyConfiguration) WithPrependASPath(value *BGPFilterPrependASPathApplyConfiguration) *BGPFilterOperationApplyConfiguration { + b.PrependASPath = value + return b +} + +// WithSetPriority sets the SetPriority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SetPriority field is set to the value of the last call. +func (b *BGPFilterOperationApplyConfiguration) WithSetPriority(value *BGPFilterSetPriorityApplyConfiguration) *BGPFilterOperationApplyConfiguration { + b.SetPriority = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprefixlengthv4.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprefixlengthv4.go new file mode 100644 index 00000000..43f2fc03 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprefixlengthv4.go @@ -0,0 +1,34 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// BGPFilterPrefixLengthV4ApplyConfiguration represents a declarative configuration of the BGPFilterPrefixLengthV4 type for use +// with apply. +type BGPFilterPrefixLengthV4ApplyConfiguration struct { + Min *int32 `json:"min,omitempty"` + Max *int32 `json:"max,omitempty"` +} + +// BGPFilterPrefixLengthV4ApplyConfiguration constructs a declarative configuration of the BGPFilterPrefixLengthV4 type for use with +// apply. +func BGPFilterPrefixLengthV4() *BGPFilterPrefixLengthV4ApplyConfiguration { + return &BGPFilterPrefixLengthV4ApplyConfiguration{} +} + +// WithMin sets the Min field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Min field is set to the value of the last call. +func (b *BGPFilterPrefixLengthV4ApplyConfiguration) WithMin(value int32) *BGPFilterPrefixLengthV4ApplyConfiguration { + b.Min = &value + return b +} + +// WithMax sets the Max field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Max field is set to the value of the last call. +func (b *BGPFilterPrefixLengthV4ApplyConfiguration) WithMax(value int32) *BGPFilterPrefixLengthV4ApplyConfiguration { + b.Max = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprefixlengthv6.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprefixlengthv6.go new file mode 100644 index 00000000..2fe601ac --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprefixlengthv6.go @@ -0,0 +1,34 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// BGPFilterPrefixLengthV6ApplyConfiguration represents a declarative configuration of the BGPFilterPrefixLengthV6 type for use +// with apply. +type BGPFilterPrefixLengthV6ApplyConfiguration struct { + Min *int32 `json:"min,omitempty"` + Max *int32 `json:"max,omitempty"` +} + +// BGPFilterPrefixLengthV6ApplyConfiguration constructs a declarative configuration of the BGPFilterPrefixLengthV6 type for use with +// apply. +func BGPFilterPrefixLengthV6() *BGPFilterPrefixLengthV6ApplyConfiguration { + return &BGPFilterPrefixLengthV6ApplyConfiguration{} +} + +// WithMin sets the Min field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Min field is set to the value of the last call. +func (b *BGPFilterPrefixLengthV6ApplyConfiguration) WithMin(value int32) *BGPFilterPrefixLengthV6ApplyConfiguration { + b.Min = &value + return b +} + +// WithMax sets the Max field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Max field is set to the value of the last call. +func (b *BGPFilterPrefixLengthV6ApplyConfiguration) WithMax(value int32) *BGPFilterPrefixLengthV6ApplyConfiguration { + b.Max = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprependaspath.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprependaspath.go new file mode 100644 index 00000000..05c45f32 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterprependaspath.go @@ -0,0 +1,36 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + numorstring "github.com/tigera/api/pkg/lib/numorstring" +) + +// BGPFilterPrependASPathApplyConfiguration represents a declarative configuration of the BGPFilterPrependASPath type for use +// with apply. +// +// BGPFilterPrependASPath specifies AS numbers to prepend to a route's AS path. +type BGPFilterPrependASPathApplyConfiguration struct { + // Prefix is the sequence of AS numbers to prepend to the route's AS path. + // The resulting path starts with these AS numbers in the order listed; + // e.g. [65000, 65001] produces the path "65000 65001 ". + Prefix []numorstring.ASNumber `json:"prefix,omitempty"` +} + +// BGPFilterPrependASPathApplyConfiguration constructs a declarative configuration of the BGPFilterPrependASPath type for use with +// apply. +func BGPFilterPrependASPath() *BGPFilterPrependASPathApplyConfiguration { + return &BGPFilterPrependASPathApplyConfiguration{} +} + +// WithPrefix adds the given value to the Prefix field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Prefix field. +func (b *BGPFilterPrependASPathApplyConfiguration) WithPrefix(values ...numorstring.ASNumber) *BGPFilterPrependASPathApplyConfiguration { + for i := range values { + b.Prefix = append(b.Prefix, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterrulev4.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterrulev4.go new file mode 100644 index 00000000..7b3b0934 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterrulev4.go @@ -0,0 +1,164 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + numorstring "github.com/tigera/api/pkg/lib/numorstring" +) + +// BGPFilterRuleV4ApplyConfiguration represents a declarative configuration of the BGPFilterRuleV4 type for use +// with apply. +// +// BGPFilterRuleV4 defines a BGP filter rule consisting of match criteria, a terminal action, +// and optional operations to apply to matching routes. +type BGPFilterRuleV4ApplyConfiguration struct { + // If non-empty, this filter rule will only apply when the route being exported or imported + // "matches" the given CIDR - where the definition of "matches" is according to + // MatchOperator and PrefixLength. CIDR should be in conventional CIDR notation, + // /. + CIDR *string `json:"cidr,omitempty"` + // PrefixLength further constrains the CIDR match by restricting the range of allowed + // prefix lengths. For example, CIDR "10.0.0.0/8" with MatchOperator "In" and + // PrefixLength {min: 16, max: 24} matches any route within 10.0.0.0/8 whose prefix + // length is between /16 and /24. Requires CIDR to be set; if CIDR is omitted, + // PrefixLength is ignored. If PrefixLength is nil and CIDR is set, the CIDR's own + // prefix length is used as the minimum and /32 (for V4) as the maximum. + PrefixLength *BGPFilterPrefixLengthV4ApplyConfiguration `json:"prefixLength,omitempty"` + // If set to "RemotePeers": for export rules, this filter rule will only apply to routes + // learned from BGP peers (i.e. re-advertised routes), not locally originated routes. + // For import rules, this field is redundant because imported routes are by definition + // from BGP peers. + Source *projectcalicov3.BGPFilterMatchSource `json:"source,omitempty"` + // If non-empty, this filter rule will only apply to routes with an outgoing interface that + // matches Interface. + Interface *string `json:"interface,omitempty"` + // MatchOperator defines how the route's prefix is compared against CIDR. "Equal" requires + // an exact prefix match, "In" requires the route to be contained within the CIDR (or equal), + // "NotEqual" and "NotIn" are their negations. Only meaningful when CIDR is also specified. + // Required when CIDR is set. + MatchOperator *projectcalicov3.BGPFilterMatchOperator `json:"matchOperator,omitempty"` + // If non-empty, this filter rule will only apply to routes being imported from or exported + // to a BGP peer of the specified type. If empty, the rule applies to all peers. + PeerType *projectcalicov3.BGPFilterPeerType `json:"peerType,omitempty"` + // If set, this filter rule will only apply to routes that carry the specified BGP + // community. On import, this matches communities set by the remote peer. On export, + // this matches communities already present on the route, whether received from a BGP + // peer (e.g. on a route reflector re-advertising to an eBGP peer) or added locally + // by an import filter or an earlier export rule's AddCommunity operation. + Communities *BGPFilterCommunityMatchApplyConfiguration `json:"communities,omitempty"` + // If non-empty, this filter rule will only apply to routes whose AS path begins with the + // specified sequence of AS numbers. + ASPathPrefix []numorstring.ASNumber `json:"asPathPrefix,omitempty"` + // If set, this filter rule will only apply to routes with the given priority, in the + // same units as the ...RoutePriority fields in FelixConfiguration. + Priority *int `json:"priority,omitempty"` + Action *projectcalicov3.BGPFilterAction `json:"action,omitempty"` + // Operations is an ordered list of route modifications to apply to matching routes before + // accepting them. Only valid when Action is "Accept"; specifying operations with "Reject" + // is rejected by validation. Each entry must set exactly one operation field. + Operations []BGPFilterOperationApplyConfiguration `json:"operations,omitempty"` +} + +// BGPFilterRuleV4ApplyConfiguration constructs a declarative configuration of the BGPFilterRuleV4 type for use with +// apply. +func BGPFilterRuleV4() *BGPFilterRuleV4ApplyConfiguration { + return &BGPFilterRuleV4ApplyConfiguration{} +} + +// WithCIDR sets the CIDR field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CIDR field is set to the value of the last call. +func (b *BGPFilterRuleV4ApplyConfiguration) WithCIDR(value string) *BGPFilterRuleV4ApplyConfiguration { + b.CIDR = &value + return b +} + +// WithPrefixLength sets the PrefixLength field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrefixLength field is set to the value of the last call. +func (b *BGPFilterRuleV4ApplyConfiguration) WithPrefixLength(value *BGPFilterPrefixLengthV4ApplyConfiguration) *BGPFilterRuleV4ApplyConfiguration { + b.PrefixLength = value + return b +} + +// WithSource sets the Source field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Source field is set to the value of the last call. +func (b *BGPFilterRuleV4ApplyConfiguration) WithSource(value projectcalicov3.BGPFilterMatchSource) *BGPFilterRuleV4ApplyConfiguration { + b.Source = &value + return b +} + +// WithInterface sets the Interface field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Interface field is set to the value of the last call. +func (b *BGPFilterRuleV4ApplyConfiguration) WithInterface(value string) *BGPFilterRuleV4ApplyConfiguration { + b.Interface = &value + return b +} + +// WithMatchOperator sets the MatchOperator field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MatchOperator field is set to the value of the last call. +func (b *BGPFilterRuleV4ApplyConfiguration) WithMatchOperator(value projectcalicov3.BGPFilterMatchOperator) *BGPFilterRuleV4ApplyConfiguration { + b.MatchOperator = &value + return b +} + +// WithPeerType sets the PeerType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PeerType field is set to the value of the last call. +func (b *BGPFilterRuleV4ApplyConfiguration) WithPeerType(value projectcalicov3.BGPFilterPeerType) *BGPFilterRuleV4ApplyConfiguration { + b.PeerType = &value + return b +} + +// WithCommunities sets the Communities field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Communities field is set to the value of the last call. +func (b *BGPFilterRuleV4ApplyConfiguration) WithCommunities(value *BGPFilterCommunityMatchApplyConfiguration) *BGPFilterRuleV4ApplyConfiguration { + b.Communities = value + return b +} + +// WithASPathPrefix adds the given value to the ASPathPrefix field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ASPathPrefix field. +func (b *BGPFilterRuleV4ApplyConfiguration) WithASPathPrefix(values ...numorstring.ASNumber) *BGPFilterRuleV4ApplyConfiguration { + for i := range values { + b.ASPathPrefix = append(b.ASPathPrefix, values[i]) + } + return b +} + +// WithPriority sets the Priority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Priority field is set to the value of the last call. +func (b *BGPFilterRuleV4ApplyConfiguration) WithPriority(value int) *BGPFilterRuleV4ApplyConfiguration { + b.Priority = &value + return b +} + +// WithAction sets the Action field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Action field is set to the value of the last call. +func (b *BGPFilterRuleV4ApplyConfiguration) WithAction(value projectcalicov3.BGPFilterAction) *BGPFilterRuleV4ApplyConfiguration { + b.Action = &value + return b +} + +// WithOperations adds the given value to the Operations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Operations field. +func (b *BGPFilterRuleV4ApplyConfiguration) WithOperations(values ...*BGPFilterOperationApplyConfiguration) *BGPFilterRuleV4ApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOperations") + } + b.Operations = append(b.Operations, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterrulev6.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterrulev6.go new file mode 100644 index 00000000..8539903d --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterrulev6.go @@ -0,0 +1,164 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + numorstring "github.com/tigera/api/pkg/lib/numorstring" +) + +// BGPFilterRuleV6ApplyConfiguration represents a declarative configuration of the BGPFilterRuleV6 type for use +// with apply. +// +// BGPFilterRuleV6 defines a BGP filter rule consisting of match criteria, a terminal action, +// and optional operations to apply to matching routes. +type BGPFilterRuleV6ApplyConfiguration struct { + // If non-empty, this filter rule will only apply when the route being exported or imported + // "matches" the given CIDR - where the definition of "matches" is according to + // MatchOperator and PrefixLength. CIDR should be in conventional CIDR notation, + // /. + CIDR *string `json:"cidr,omitempty"` + // PrefixLength further constrains the CIDR match by restricting the range of allowed + // prefix lengths. For example, CIDR "fd00::/8" with MatchOperator "In" and + // PrefixLength {min: 48, max: 64} matches any route within fd00::/8 whose prefix + // length is between /48 and /64. Requires CIDR to be set; if CIDR is omitted, + // PrefixLength is ignored. If PrefixLength is nil and CIDR is set, the CIDR's own + // prefix length is used as the minimum and /128 (for V6) as the maximum. + PrefixLength *BGPFilterPrefixLengthV6ApplyConfiguration `json:"prefixLength,omitempty"` + // If set to "RemotePeers": for export rules, this filter rule will only apply to routes + // learned from BGP peers (i.e. re-advertised routes), not locally originated routes. + // For import rules, this field is redundant because imported routes are by definition + // from BGP peers. + Source *projectcalicov3.BGPFilterMatchSource `json:"source,omitempty"` + // If non-empty, this filter rule will only apply to routes with an outgoing interface that + // matches Interface. + Interface *string `json:"interface,omitempty"` + // MatchOperator defines how the route's prefix is compared against CIDR. "Equal" requires + // an exact prefix match, "In" requires the route to be contained within the CIDR (or equal), + // "NotEqual" and "NotIn" are their negations. Only meaningful when CIDR is also specified. + // Required when CIDR is set. + MatchOperator *projectcalicov3.BGPFilterMatchOperator `json:"matchOperator,omitempty"` + // If non-empty, this filter rule will only apply to routes being imported from or exported + // to a BGP peer of the specified type. If empty, the rule applies to all peers. + PeerType *projectcalicov3.BGPFilterPeerType `json:"peerType,omitempty"` + // If set, this filter rule will only apply to routes that carry the specified BGP + // community. On import, this matches communities set by the remote peer. On export, + // this matches communities already present on the route, whether received from a BGP + // peer (e.g. on a route reflector re-advertising to an eBGP peer) or added locally + // by an import filter or an earlier export rule's AddCommunity operation. + Communities *BGPFilterCommunityMatchApplyConfiguration `json:"communities,omitempty"` + // If non-empty, this filter rule will only apply to routes whose AS path begins with the + // specified sequence of AS numbers. + ASPathPrefix []numorstring.ASNumber `json:"asPathPrefix,omitempty"` + // If set, this filter rule will only apply to routes with the given priority, in the + // same units as the ...RoutePriority fields in FelixConfiguration. + Priority *int `json:"priority,omitempty"` + Action *projectcalicov3.BGPFilterAction `json:"action,omitempty"` + // Operations is an ordered list of route modifications to apply to matching routes before + // accepting them. Only valid when Action is "Accept"; specifying operations with "Reject" + // is rejected by validation. Each entry must set exactly one operation field. + Operations []BGPFilterOperationApplyConfiguration `json:"operations,omitempty"` +} + +// BGPFilterRuleV6ApplyConfiguration constructs a declarative configuration of the BGPFilterRuleV6 type for use with +// apply. +func BGPFilterRuleV6() *BGPFilterRuleV6ApplyConfiguration { + return &BGPFilterRuleV6ApplyConfiguration{} +} + +// WithCIDR sets the CIDR field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CIDR field is set to the value of the last call. +func (b *BGPFilterRuleV6ApplyConfiguration) WithCIDR(value string) *BGPFilterRuleV6ApplyConfiguration { + b.CIDR = &value + return b +} + +// WithPrefixLength sets the PrefixLength field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrefixLength field is set to the value of the last call. +func (b *BGPFilterRuleV6ApplyConfiguration) WithPrefixLength(value *BGPFilterPrefixLengthV6ApplyConfiguration) *BGPFilterRuleV6ApplyConfiguration { + b.PrefixLength = value + return b +} + +// WithSource sets the Source field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Source field is set to the value of the last call. +func (b *BGPFilterRuleV6ApplyConfiguration) WithSource(value projectcalicov3.BGPFilterMatchSource) *BGPFilterRuleV6ApplyConfiguration { + b.Source = &value + return b +} + +// WithInterface sets the Interface field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Interface field is set to the value of the last call. +func (b *BGPFilterRuleV6ApplyConfiguration) WithInterface(value string) *BGPFilterRuleV6ApplyConfiguration { + b.Interface = &value + return b +} + +// WithMatchOperator sets the MatchOperator field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MatchOperator field is set to the value of the last call. +func (b *BGPFilterRuleV6ApplyConfiguration) WithMatchOperator(value projectcalicov3.BGPFilterMatchOperator) *BGPFilterRuleV6ApplyConfiguration { + b.MatchOperator = &value + return b +} + +// WithPeerType sets the PeerType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PeerType field is set to the value of the last call. +func (b *BGPFilterRuleV6ApplyConfiguration) WithPeerType(value projectcalicov3.BGPFilterPeerType) *BGPFilterRuleV6ApplyConfiguration { + b.PeerType = &value + return b +} + +// WithCommunities sets the Communities field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Communities field is set to the value of the last call. +func (b *BGPFilterRuleV6ApplyConfiguration) WithCommunities(value *BGPFilterCommunityMatchApplyConfiguration) *BGPFilterRuleV6ApplyConfiguration { + b.Communities = value + return b +} + +// WithASPathPrefix adds the given value to the ASPathPrefix field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ASPathPrefix field. +func (b *BGPFilterRuleV6ApplyConfiguration) WithASPathPrefix(values ...numorstring.ASNumber) *BGPFilterRuleV6ApplyConfiguration { + for i := range values { + b.ASPathPrefix = append(b.ASPathPrefix, values[i]) + } + return b +} + +// WithPriority sets the Priority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Priority field is set to the value of the last call. +func (b *BGPFilterRuleV6ApplyConfiguration) WithPriority(value int) *BGPFilterRuleV6ApplyConfiguration { + b.Priority = &value + return b +} + +// WithAction sets the Action field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Action field is set to the value of the last call. +func (b *BGPFilterRuleV6ApplyConfiguration) WithAction(value projectcalicov3.BGPFilterAction) *BGPFilterRuleV6ApplyConfiguration { + b.Action = &value + return b +} + +// WithOperations adds the given value to the Operations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Operations field. +func (b *BGPFilterRuleV6ApplyConfiguration) WithOperations(values ...*BGPFilterOperationApplyConfiguration) *BGPFilterRuleV6ApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOperations") + } + b.Operations = append(b.Operations, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfiltersetpriority.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfiltersetpriority.go new file mode 100644 index 00000000..323ea0a7 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfiltersetpriority.go @@ -0,0 +1,29 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// BGPFilterSetPriorityApplyConfiguration represents a declarative configuration of the BGPFilterSetPriority type for use +// with apply. +// +// BGPFilterSetPriority specifies a route priority to set. +type BGPFilterSetPriorityApplyConfiguration struct { + // Value is the priority to set, in the same units as FelixConfiguration's + // ...RoutePriority fields. + Value *int `json:"value,omitempty"` +} + +// BGPFilterSetPriorityApplyConfiguration constructs a declarative configuration of the BGPFilterSetPriority type for use with +// apply. +func BGPFilterSetPriority() *BGPFilterSetPriorityApplyConfiguration { + return &BGPFilterSetPriorityApplyConfiguration{} +} + +// WithValue sets the Value field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Value field is set to the value of the last call. +func (b *BGPFilterSetPriorityApplyConfiguration) WithValue(value int) *BGPFilterSetPriorityApplyConfiguration { + b.Value = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterspec.go new file mode 100644 index 00000000..104b4913 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgpfilterspec.go @@ -0,0 +1,78 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// BGPFilterSpecApplyConfiguration represents a declarative configuration of the BGPFilterSpec type for use +// with apply. +// +// BGPFilterSpec contains the IPv4 and IPv6 filter rules of the BGP Filter. +type BGPFilterSpecApplyConfiguration struct { + // The ordered set of IPv4 BGPFilter rules acting on exporting routes to a peer. + ExportV4 []BGPFilterRuleV4ApplyConfiguration `json:"exportV4,omitempty"` + // The ordered set of IPv4 BGPFilter rules acting on importing routes from a peer. + ImportV4 []BGPFilterRuleV4ApplyConfiguration `json:"importV4,omitempty"` + // The ordered set of IPv6 BGPFilter rules acting on exporting routes to a peer. + ExportV6 []BGPFilterRuleV6ApplyConfiguration `json:"exportV6,omitempty"` + // The ordered set of IPv6 BGPFilter rules acting on importing routes from a peer. + ImportV6 []BGPFilterRuleV6ApplyConfiguration `json:"importV6,omitempty"` +} + +// BGPFilterSpecApplyConfiguration constructs a declarative configuration of the BGPFilterSpec type for use with +// apply. +func BGPFilterSpec() *BGPFilterSpecApplyConfiguration { + return &BGPFilterSpecApplyConfiguration{} +} + +// WithExportV4 adds the given value to the ExportV4 field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExportV4 field. +func (b *BGPFilterSpecApplyConfiguration) WithExportV4(values ...*BGPFilterRuleV4ApplyConfiguration) *BGPFilterSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithExportV4") + } + b.ExportV4 = append(b.ExportV4, *values[i]) + } + return b +} + +// WithImportV4 adds the given value to the ImportV4 field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ImportV4 field. +func (b *BGPFilterSpecApplyConfiguration) WithImportV4(values ...*BGPFilterRuleV4ApplyConfiguration) *BGPFilterSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithImportV4") + } + b.ImportV4 = append(b.ImportV4, *values[i]) + } + return b +} + +// WithExportV6 adds the given value to the ExportV6 field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExportV6 field. +func (b *BGPFilterSpecApplyConfiguration) WithExportV6(values ...*BGPFilterRuleV6ApplyConfiguration) *BGPFilterSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithExportV6") + } + b.ExportV6 = append(b.ExportV6, *values[i]) + } + return b +} + +// WithImportV6 adds the given value to the ImportV6 field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ImportV6 field. +func (b *BGPFilterSpecApplyConfiguration) WithImportV6(values ...*BGPFilterRuleV6ApplyConfiguration) *BGPFilterSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithImportV6") + } + b.ImportV6 = append(b.ImportV6, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgppassword.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgppassword.go new file mode 100644 index 00000000..d2b06069 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgppassword.go @@ -0,0 +1,32 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/api/core/v1" +) + +// BGPPasswordApplyConfiguration represents a declarative configuration of the BGPPassword type for use +// with apply. +// +// BGPPassword contains ways to specify a BGP password. +type BGPPasswordApplyConfiguration struct { + // Selects a key of a secret in the node pod's namespace. + SecretKeyRef *v1.SecretKeySelector `json:"secretKeyRef,omitempty"` +} + +// BGPPasswordApplyConfiguration constructs a declarative configuration of the BGPPassword type for use with +// apply. +func BGPPassword() *BGPPasswordApplyConfiguration { + return &BGPPasswordApplyConfiguration{} +} + +// WithSecretKeyRef sets the SecretKeyRef field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SecretKeyRef field is set to the value of the last call. +func (b *BGPPasswordApplyConfiguration) WithSecretKeyRef(value v1.SecretKeySelector) *BGPPasswordApplyConfiguration { + b.SecretKeyRef = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgppeer.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgppeer.go new file mode 100644 index 00000000..752c9426 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgppeer.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// BGPPeerApplyConfiguration represents a declarative configuration of the BGPPeer type for use +// with apply. +type BGPPeerApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *BGPPeerSpecApplyConfiguration `json:"spec,omitempty"` +} + +// BGPPeer constructs a declarative configuration of the BGPPeer type for use with +// apply. +func BGPPeer(name string) *BGPPeerApplyConfiguration { + b := &BGPPeerApplyConfiguration{} + b.WithName(name) + b.WithKind("BGPPeer") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractBGPPeerFrom extracts the applied configuration owned by fieldManager from +// bGPPeer for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// bGPPeer must be a unmodified BGPPeer API object that was retrieved from the Kubernetes API. +// ExtractBGPPeerFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractBGPPeerFrom(bGPPeer *projectcalicov3.BGPPeer, fieldManager string, subresource string) (*BGPPeerApplyConfiguration, error) { + b := &BGPPeerApplyConfiguration{} + err := managedfields.ExtractInto(bGPPeer, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.BGPPeer"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(bGPPeer.Name) + + b.WithKind("BGPPeer") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractBGPPeer extracts the applied configuration owned by fieldManager from +// bGPPeer. If no managedFields are found in bGPPeer for fieldManager, a +// BGPPeerApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// bGPPeer must be a unmodified BGPPeer API object that was retrieved from the Kubernetes API. +// ExtractBGPPeer provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractBGPPeer(bGPPeer *projectcalicov3.BGPPeer, fieldManager string) (*BGPPeerApplyConfiguration, error) { + return ExtractBGPPeerFrom(bGPPeer, fieldManager, "") +} + +func (b BGPPeerApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithKind(value string) *BGPPeerApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithAPIVersion(value string) *BGPPeerApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithName(value string) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithGenerateName(value string) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithNamespace(value string) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithUID(value types.UID) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithResourceVersion(value string) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithGeneration(value int64) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithCreationTimestamp(value metav1.Time) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *BGPPeerApplyConfiguration) WithLabels(entries map[string]string) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *BGPPeerApplyConfiguration) WithAnnotations(entries map[string]string) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *BGPPeerApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *BGPPeerApplyConfiguration) WithFinalizers(values ...string) *BGPPeerApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *BGPPeerApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *BGPPeerApplyConfiguration) WithSpec(value *BGPPeerSpecApplyConfiguration) *BGPPeerApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *BGPPeerApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *BGPPeerApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *BGPPeerApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *BGPPeerApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bgppeerspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgppeerspec.go new file mode 100644 index 00000000..5809c1ea --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bgppeerspec.go @@ -0,0 +1,307 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + numorstring "github.com/tigera/api/pkg/lib/numorstring" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// BGPPeerSpecApplyConfiguration represents a declarative configuration of the BGPPeerSpec type for use +// with apply. +// +// BGPPeerSpec contains the specification for a BGPPeer resource. +type BGPPeerSpecApplyConfiguration struct { + // The node name identifying the Calico node instance that is targeted by this peer. + // If this is not set, and no nodeSelector is specified, then this BGP peer selects all + // nodes in the cluster. + Node *string `json:"node,omitempty"` + // Selector for the nodes that should have this peering. When this is set, the Node + // field must be empty. + NodeSelector *string `json:"nodeSelector,omitempty"` + // The IP address of the peer followed by an optional port number to peer with. + // If port number is given, format should be `[]:port` or `:` for IPv4. + // If optional port number is not set, and this peer IP and ASNumber belongs to a calico/node + // with ListenPort set in BGPConfiguration, then we use that port to peer. + PeerIP *string `json:"peerIP,omitempty"` + // The AS Number of the peer. + ASNumber *numorstring.ASNumber `json:"asNumber,omitempty"` + // The optional Local AS Number to use when peering with this remote peer. + // If not specified, the AS Number defined in default BGPConfiguration will be used. + LocalASNumber *numorstring.ASNumber `json:"localASNumber,omitempty"` + // Extensions is a mapping of keys to values that can be used in custom BGP templates + Extensions map[string]string `json:"extensions,omitempty"` + // Selector for the remote nodes to peer with. When this is set, the PeerIP and + // ASNumber fields must be empty. For each peering between the local node and + // selected remote nodes, we configure an IPv4 peering if both ends have + // NodeBGPSpec.IPv4Address specified, and an IPv6 peering if both ends have + // NodeBGPSpec.IPv6Address specified. The remote AS number comes from the remote + // node's NodeBGPSpec.ASNumber, or the global default if that is not set. + PeerSelector *string `json:"peerSelector,omitempty"` + // Option to keep the original nexthop field when routes are sent to a BGP Peer. + // Setting "true" configures the selected BGP Peers node to use the "next hop keep;" + // instead of "next hop self;"(default) in the specific branch of the Node on "bird.cfg". + // Note: that this field is deprecated. Users should use the NextHopMode field to control + // the next hop attribute for a BGP peer. + KeepOriginalNextHop *bool `json:"keepOriginalNextHop,omitempty"` + // NextHopMode defines the method of calculating the next hop attribute for received routes. + // This replaces and expands the deprecated KeepOriginalNextHop field. + // Users should use this setting to control the next hop attribute for a BGP peer. + // When this is set, the value of the KeepOriginalNextHop field is ignored. + // if neither keepOriginalNextHop or nextHopMode is specified, BGP's default behaviour is used. + // Set it to “Auto” to apply BGP’s default behaviour. + // Set it to "Self" to configure "next hop self;" in "bird.cfg". + // Set it to "Keep" to configure "next hop keep;" in "bird.cfg". + NextHopMode *projectcalicov3.NextHopMode `json:"nextHopMode,omitempty"` + // Optional BGP password for the peerings generated by this BGPPeer resource. + Password *BGPPasswordApplyConfiguration `json:"password,omitempty"` + // Specifies whether and how to configure a source address for the peerings generated by + // this BGPPeer resource. Default value "UseNodeIP" means to configure the node IP as the + // source address. "None" means not to configure a source address. + SourceAddress *projectcalicov3.SourceAddress `json:"sourceAddress,omitempty"` + // Specifies whether and how to detect loss of connectivity on the peerings generated by + // this BGPPeer resource. Default value "None" means nothing beyond BGP's own (slow) hold + // timer. "BFDIfDirectlyConnected" means to use BFD when the peer is directly connected. + FailureDetectionMode *projectcalicov3.FailureDetectionMode `json:"failureDetectionMode,omitempty"` + // Specifies restart behaviour to configure on the peerings generated by this BGPPeer + // resource. Default value "GracefulRestart" means traditional graceful restart. + // "LongLivedGracefulRestart" means LLGR according to draft-uttaro-idr-bgp-persistence-05. + RestartMode *projectcalicov3.RestartMode `json:"restartMode,omitempty"` + // Time to allow for software restart. When specified, this is configured as the graceful + // restart timeout when RestartMode is "GracefulRestart", and as the LLGR stale time when + // RestartMode is "LongLivedGracefulRestart". When not specified, the BIRD defaults are + // used, which are 120s for "GracefulRestart" and 3600s for "LongLivedGracefulRestart". + MaxRestartTime *v1.Duration `json:"maxRestartTime,omitempty"` + // Specifies the BIRD "gateway" mode, i.e. method for computing the immediate next hop for + // each received route, for peerings generated by this BGPPeer resource. Default value + // "Recursive" means "gateway recursive". "DirectIfDirectlyConnected" means to configure + // "gateway direct" when the peer is directly connected. + BIRDGatewayMode *projectcalicov3.BIRDGatewayMode `json:"birdGatewayMode,omitempty"` + // KeepaliveTime specifies the delay in seconds between sending consecutive Keepalive messages. + // When specified, this configures the BGP keepalive timer for the peerings generated by this BGPPeer resource. + // If not specified, BIRD uses its default keepalive time (one third of the hold time). + KeepaliveTime *v1.Duration `json:"keepaliveTime,omitempty"` + // Maximum number of local AS numbers that are allowed in the AS path for received routes. + // This removes BGP loop prevention and should only be used if absolutely necessary. + NumAllowedLocalASNumbers *int32 `json:"numAllowedLocalASNumbers,omitempty"` + // TTLSecurity enables the generalized TTL security mechanism (GTSM) which protects against spoofed packets by + // ignoring received packets with a smaller than expected TTL value. The provided value is the number of hops + // (edges) between the peers. + TTLSecurity *byte `json:"ttlSecurity,omitempty"` + // The ordered set of BGPFilters applied on this BGP peer. + Filters []string `json:"filters,omitempty"` + // Name of the external network to which this peer belongs. + ExternalNetwork *string `json:"externalNetwork,omitempty"` + // Add an exact, i.e. /32, static route toward peer IP in order to prevent route flapping. + // ReachableBy contains the address of the gateway which peer can be reached by. + ReachableBy *string `json:"reachableBy,omitempty"` + // Selector for the local workload that the node should peer with. When this is set, the peerSelector and peerIP fields must be empty, + // and the ASNumber must not be empty. + LocalWorkloadSelector *string `json:"localWorkloadSelector,omitempty"` + // ReversePeering, for peerings between Calico nodes controls whether + // the reverse peering from nodes selected by peerSelector is generated + // automatically. If set to Manual, a separate BGPPeer must be created + // for the reverse peering. [Default: Auto] + ReversePeering *projectcalicov3.ReversePeering `json:"reversePeering,omitempty"` +} + +// BGPPeerSpecApplyConfiguration constructs a declarative configuration of the BGPPeerSpec type for use with +// apply. +func BGPPeerSpec() *BGPPeerSpecApplyConfiguration { + return &BGPPeerSpecApplyConfiguration{} +} + +// WithNode sets the Node field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Node field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithNode(value string) *BGPPeerSpecApplyConfiguration { + b.Node = &value + return b +} + +// WithNodeSelector sets the NodeSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NodeSelector field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithNodeSelector(value string) *BGPPeerSpecApplyConfiguration { + b.NodeSelector = &value + return b +} + +// WithPeerIP sets the PeerIP field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PeerIP field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithPeerIP(value string) *BGPPeerSpecApplyConfiguration { + b.PeerIP = &value + return b +} + +// WithASNumber sets the ASNumber field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ASNumber field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithASNumber(value numorstring.ASNumber) *BGPPeerSpecApplyConfiguration { + b.ASNumber = &value + return b +} + +// WithLocalASNumber sets the LocalASNumber field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LocalASNumber field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithLocalASNumber(value numorstring.ASNumber) *BGPPeerSpecApplyConfiguration { + b.LocalASNumber = &value + return b +} + +// WithExtensions puts the entries into the Extensions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Extensions field, +// overwriting an existing map entries in Extensions field with the same key. +func (b *BGPPeerSpecApplyConfiguration) WithExtensions(entries map[string]string) *BGPPeerSpecApplyConfiguration { + if b.Extensions == nil && len(entries) > 0 { + b.Extensions = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Extensions[k] = v + } + return b +} + +// WithPeerSelector sets the PeerSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PeerSelector field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithPeerSelector(value string) *BGPPeerSpecApplyConfiguration { + b.PeerSelector = &value + return b +} + +// WithKeepOriginalNextHop sets the KeepOriginalNextHop field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the KeepOriginalNextHop field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithKeepOriginalNextHop(value bool) *BGPPeerSpecApplyConfiguration { + b.KeepOriginalNextHop = &value + return b +} + +// WithNextHopMode sets the NextHopMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NextHopMode field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithNextHopMode(value projectcalicov3.NextHopMode) *BGPPeerSpecApplyConfiguration { + b.NextHopMode = &value + return b +} + +// WithPassword sets the Password field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Password field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithPassword(value *BGPPasswordApplyConfiguration) *BGPPeerSpecApplyConfiguration { + b.Password = value + return b +} + +// WithSourceAddress sets the SourceAddress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SourceAddress field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithSourceAddress(value projectcalicov3.SourceAddress) *BGPPeerSpecApplyConfiguration { + b.SourceAddress = &value + return b +} + +// WithFailureDetectionMode sets the FailureDetectionMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FailureDetectionMode field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithFailureDetectionMode(value projectcalicov3.FailureDetectionMode) *BGPPeerSpecApplyConfiguration { + b.FailureDetectionMode = &value + return b +} + +// WithRestartMode sets the RestartMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RestartMode field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithRestartMode(value projectcalicov3.RestartMode) *BGPPeerSpecApplyConfiguration { + b.RestartMode = &value + return b +} + +// WithMaxRestartTime sets the MaxRestartTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MaxRestartTime field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithMaxRestartTime(value v1.Duration) *BGPPeerSpecApplyConfiguration { + b.MaxRestartTime = &value + return b +} + +// WithBIRDGatewayMode sets the BIRDGatewayMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BIRDGatewayMode field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithBIRDGatewayMode(value projectcalicov3.BIRDGatewayMode) *BGPPeerSpecApplyConfiguration { + b.BIRDGatewayMode = &value + return b +} + +// WithKeepaliveTime sets the KeepaliveTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the KeepaliveTime field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithKeepaliveTime(value v1.Duration) *BGPPeerSpecApplyConfiguration { + b.KeepaliveTime = &value + return b +} + +// WithNumAllowedLocalASNumbers sets the NumAllowedLocalASNumbers field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NumAllowedLocalASNumbers field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithNumAllowedLocalASNumbers(value int32) *BGPPeerSpecApplyConfiguration { + b.NumAllowedLocalASNumbers = &value + return b +} + +// WithTTLSecurity sets the TTLSecurity field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TTLSecurity field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithTTLSecurity(value byte) *BGPPeerSpecApplyConfiguration { + b.TTLSecurity = &value + return b +} + +// WithFilters adds the given value to the Filters field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Filters field. +func (b *BGPPeerSpecApplyConfiguration) WithFilters(values ...string) *BGPPeerSpecApplyConfiguration { + for i := range values { + b.Filters = append(b.Filters, values[i]) + } + return b +} + +// WithExternalNetwork sets the ExternalNetwork field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ExternalNetwork field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithExternalNetwork(value string) *BGPPeerSpecApplyConfiguration { + b.ExternalNetwork = &value + return b +} + +// WithReachableBy sets the ReachableBy field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ReachableBy field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithReachableBy(value string) *BGPPeerSpecApplyConfiguration { + b.ReachableBy = &value + return b +} + +// WithLocalWorkloadSelector sets the LocalWorkloadSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LocalWorkloadSelector field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithLocalWorkloadSelector(value string) *BGPPeerSpecApplyConfiguration { + b.LocalWorkloadSelector = &value + return b +} + +// WithReversePeering sets the ReversePeering field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ReversePeering field is set to the value of the last call. +func (b *BGPPeerSpecApplyConfiguration) WithReversePeering(value projectcalicov3.ReversePeering) *BGPPeerSpecApplyConfiguration { + b.ReversePeering = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/blockaffinity.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/blockaffinity.go new file mode 100644 index 00000000..7dc9780e --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/blockaffinity.go @@ -0,0 +1,258 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// BlockAffinityApplyConfiguration represents a declarative configuration of the BlockAffinity type for use +// with apply. +// +// BlockAffinity maintains a block affinity's state +type BlockAffinityApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *BlockAffinitySpecApplyConfiguration `json:"spec,omitempty"` +} + +// BlockAffinity constructs a declarative configuration of the BlockAffinity type for use with +// apply. +func BlockAffinity(name string) *BlockAffinityApplyConfiguration { + b := &BlockAffinityApplyConfiguration{} + b.WithName(name) + b.WithKind("BlockAffinity") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractBlockAffinityFrom extracts the applied configuration owned by fieldManager from +// blockAffinity for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// blockAffinity must be a unmodified BlockAffinity API object that was retrieved from the Kubernetes API. +// ExtractBlockAffinityFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractBlockAffinityFrom(blockAffinity *projectcalicov3.BlockAffinity, fieldManager string, subresource string) (*BlockAffinityApplyConfiguration, error) { + b := &BlockAffinityApplyConfiguration{} + err := managedfields.ExtractInto(blockAffinity, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.BlockAffinity"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(blockAffinity.Name) + + b.WithKind("BlockAffinity") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractBlockAffinity extracts the applied configuration owned by fieldManager from +// blockAffinity. If no managedFields are found in blockAffinity for fieldManager, a +// BlockAffinityApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// blockAffinity must be a unmodified BlockAffinity API object that was retrieved from the Kubernetes API. +// ExtractBlockAffinity provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractBlockAffinity(blockAffinity *projectcalicov3.BlockAffinity, fieldManager string) (*BlockAffinityApplyConfiguration, error) { + return ExtractBlockAffinityFrom(blockAffinity, fieldManager, "") +} + +func (b BlockAffinityApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithKind(value string) *BlockAffinityApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithAPIVersion(value string) *BlockAffinityApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithName(value string) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithGenerateName(value string) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithNamespace(value string) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithUID(value types.UID) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithResourceVersion(value string) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithGeneration(value int64) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithCreationTimestamp(value metav1.Time) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *BlockAffinityApplyConfiguration) WithLabels(entries map[string]string) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *BlockAffinityApplyConfiguration) WithAnnotations(entries map[string]string) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *BlockAffinityApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *BlockAffinityApplyConfiguration) WithFinalizers(values ...string) *BlockAffinityApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *BlockAffinityApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *BlockAffinityApplyConfiguration) WithSpec(value *BlockAffinitySpecApplyConfiguration) *BlockAffinityApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *BlockAffinityApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *BlockAffinityApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *BlockAffinityApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *BlockAffinityApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/blockaffinityspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/blockaffinityspec.go new file mode 100644 index 00000000..ea7c6513 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/blockaffinityspec.go @@ -0,0 +1,74 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// BlockAffinitySpecApplyConfiguration represents a declarative configuration of the BlockAffinitySpec type for use +// with apply. +// +// BlockAffinitySpec contains the specification for a BlockAffinity resource. +type BlockAffinitySpecApplyConfiguration struct { + // The state of the block affinity with regard to any referenced IPAM blocks. + State *projectcalicov3.BlockAffinityState `json:"state,omitempty"` + // The node that this block affinity is assigned to. + Node *string `json:"node,omitempty"` + // The type of affinity. + Type *string `json:"type,omitempty"` + // The CIDR range this block affinity references. + CIDR *string `json:"cidr,omitempty"` + // Deleted indicates whether or not this block affinity is disabled and is + // used as part of race-condition prevention. When set to true, clients + // should treat this block as if it does not exist. + Deleted *bool `json:"deleted,omitempty"` +} + +// BlockAffinitySpecApplyConfiguration constructs a declarative configuration of the BlockAffinitySpec type for use with +// apply. +func BlockAffinitySpec() *BlockAffinitySpecApplyConfiguration { + return &BlockAffinitySpecApplyConfiguration{} +} + +// WithState sets the State field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the State field is set to the value of the last call. +func (b *BlockAffinitySpecApplyConfiguration) WithState(value projectcalicov3.BlockAffinityState) *BlockAffinitySpecApplyConfiguration { + b.State = &value + return b +} + +// WithNode sets the Node field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Node field is set to the value of the last call. +func (b *BlockAffinitySpecApplyConfiguration) WithNode(value string) *BlockAffinitySpecApplyConfiguration { + b.Node = &value + return b +} + +// WithType sets the Type field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Type field is set to the value of the last call. +func (b *BlockAffinitySpecApplyConfiguration) WithType(value string) *BlockAffinitySpecApplyConfiguration { + b.Type = &value + return b +} + +// WithCIDR sets the CIDR field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CIDR field is set to the value of the last call. +func (b *BlockAffinitySpecApplyConfiguration) WithCIDR(value string) *BlockAffinitySpecApplyConfiguration { + b.CIDR = &value + return b +} + +// WithDeleted sets the Deleted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Deleted field is set to the value of the last call. +func (b *BlockAffinitySpecApplyConfiguration) WithDeleted(value bool) *BlockAffinitySpecApplyConfiguration { + b.Deleted = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/bpfconntracktimeouts.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/bpfconntracktimeouts.go new file mode 100644 index 00000000..6a7579c2 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/bpfconntracktimeouts.go @@ -0,0 +1,120 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// BPFConntrackTimeoutsApplyConfiguration represents a declarative configuration of the BPFConntrackTimeouts type for use +// with apply. +type BPFConntrackTimeoutsApplyConfiguration struct { + // CreationGracePeriod gives a generic grace period to new connections + // before they are considered for cleanup [Default: 10s]. + CreationGracePeriod *projectcalicov3.BPFConntrackTimeout `json:"creationGracePeriod,omitempty"` + // TCPSynSent controls how long it takes before considering this entry for + // cleanup after the last SYN without a response. If set to 'Auto', the + // value from nf_conntrack_tcp_timeout_syn_sent is used. If nil, Calico uses + // its own default value. [Default: 20s]. + TCPSynSent *projectcalicov3.BPFConntrackTimeout `json:"tcpSynSent,omitempty"` + // TCPEstablished controls how long it takes before considering this entry for + // cleanup after the connection became idle. If set to 'Auto', the + // value from nf_conntrack_tcp_timeout_established is used. If nil, Calico uses + // its own default value. [Default: 1h]. + TCPEstablished *projectcalicov3.BPFConntrackTimeout `json:"tcpEstablished,omitempty"` + // TCPFinsSeen controls how long it takes before considering this entry for + // cleanup after the connection was closed gracefully. If set to 'Auto', the + // value from nf_conntrack_tcp_timeout_time_wait is used. If nil, Calico uses + // its own default value. [Default: Auto]. + TCPFinsSeen *projectcalicov3.BPFConntrackTimeout `json:"tcpFinsSeen,omitempty"` + // TCPResetSeen controls how long it takes before considering this entry for + // cleanup after the connection was aborted. If nil, Calico uses its own + // default value. [Default: 40s]. + TCPResetSeen *projectcalicov3.BPFConntrackTimeout `json:"tcpResetSeen,omitempty"` + // UDPTimeout controls how long it takes before considering this entry for + // cleanup after the connection became idle. If nil, Calico uses its own + // default value. [Default: 60s]. + UDPTimeout *projectcalicov3.BPFConntrackTimeout `json:"udpTimeout,omitempty"` + // GenericTimeout controls how long it takes before considering this + // entry for cleanup after the connection became idle. If set to 'Auto', the + // value from nf_conntrack_generic_timeout is used. If nil, Calico uses its + // own default value. [Default: 10m]. + GenericTimeout *projectcalicov3.BPFConntrackTimeout `json:"genericTimeout,omitempty"` + // ICMPTimeout controls how long it takes before considering this + // entry for cleanup after the connection became idle. If set to 'Auto', the + // value from nf_conntrack_icmp_timeout is used. If nil, Calico uses its + // own default value. [Default: 5s]. + ICMPTimeout *projectcalicov3.BPFConntrackTimeout `json:"icmpTimeout,omitempty"` +} + +// BPFConntrackTimeoutsApplyConfiguration constructs a declarative configuration of the BPFConntrackTimeouts type for use with +// apply. +func BPFConntrackTimeouts() *BPFConntrackTimeoutsApplyConfiguration { + return &BPFConntrackTimeoutsApplyConfiguration{} +} + +// WithCreationGracePeriod sets the CreationGracePeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationGracePeriod field is set to the value of the last call. +func (b *BPFConntrackTimeoutsApplyConfiguration) WithCreationGracePeriod(value projectcalicov3.BPFConntrackTimeout) *BPFConntrackTimeoutsApplyConfiguration { + b.CreationGracePeriod = &value + return b +} + +// WithTCPSynSent sets the TCPSynSent field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TCPSynSent field is set to the value of the last call. +func (b *BPFConntrackTimeoutsApplyConfiguration) WithTCPSynSent(value projectcalicov3.BPFConntrackTimeout) *BPFConntrackTimeoutsApplyConfiguration { + b.TCPSynSent = &value + return b +} + +// WithTCPEstablished sets the TCPEstablished field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TCPEstablished field is set to the value of the last call. +func (b *BPFConntrackTimeoutsApplyConfiguration) WithTCPEstablished(value projectcalicov3.BPFConntrackTimeout) *BPFConntrackTimeoutsApplyConfiguration { + b.TCPEstablished = &value + return b +} + +// WithTCPFinsSeen sets the TCPFinsSeen field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TCPFinsSeen field is set to the value of the last call. +func (b *BPFConntrackTimeoutsApplyConfiguration) WithTCPFinsSeen(value projectcalicov3.BPFConntrackTimeout) *BPFConntrackTimeoutsApplyConfiguration { + b.TCPFinsSeen = &value + return b +} + +// WithTCPResetSeen sets the TCPResetSeen field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TCPResetSeen field is set to the value of the last call. +func (b *BPFConntrackTimeoutsApplyConfiguration) WithTCPResetSeen(value projectcalicov3.BPFConntrackTimeout) *BPFConntrackTimeoutsApplyConfiguration { + b.TCPResetSeen = &value + return b +} + +// WithUDPTimeout sets the UDPTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UDPTimeout field is set to the value of the last call. +func (b *BPFConntrackTimeoutsApplyConfiguration) WithUDPTimeout(value projectcalicov3.BPFConntrackTimeout) *BPFConntrackTimeoutsApplyConfiguration { + b.UDPTimeout = &value + return b +} + +// WithGenericTimeout sets the GenericTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenericTimeout field is set to the value of the last call. +func (b *BPFConntrackTimeoutsApplyConfiguration) WithGenericTimeout(value projectcalicov3.BPFConntrackTimeout) *BPFConntrackTimeoutsApplyConfiguration { + b.GenericTimeout = &value + return b +} + +// WithICMPTimeout sets the ICMPTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ICMPTimeout field is set to the value of the last call. +func (b *BPFConntrackTimeoutsApplyConfiguration) WithICMPTimeout(value projectcalicov3.BPFConntrackTimeout) *BPFConntrackTimeoutsApplyConfiguration { + b.ICMPTimeout = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodeagentstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodeagentstatus.go new file mode 100644 index 00000000..787980ea --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodeagentstatus.go @@ -0,0 +1,38 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// CalicoNodeAgentStatusApplyConfiguration represents a declarative configuration of the CalicoNodeAgentStatus type for use +// with apply. +// +// CalicoNodeAgentStatus defines the observed state of agent status on the node. +type CalicoNodeAgentStatusApplyConfiguration struct { + // BIRDV4 represents the latest observed status of bird4. + BIRDV4 *BGPDaemonStatusApplyConfiguration `json:"birdV4,omitempty"` + // BIRDV6 represents the latest observed status of bird6. + BIRDV6 *BGPDaemonStatusApplyConfiguration `json:"birdV6,omitempty"` +} + +// CalicoNodeAgentStatusApplyConfiguration constructs a declarative configuration of the CalicoNodeAgentStatus type for use with +// apply. +func CalicoNodeAgentStatus() *CalicoNodeAgentStatusApplyConfiguration { + return &CalicoNodeAgentStatusApplyConfiguration{} +} + +// WithBIRDV4 sets the BIRDV4 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BIRDV4 field is set to the value of the last call. +func (b *CalicoNodeAgentStatusApplyConfiguration) WithBIRDV4(value *BGPDaemonStatusApplyConfiguration) *CalicoNodeAgentStatusApplyConfiguration { + b.BIRDV4 = value + return b +} + +// WithBIRDV6 sets the BIRDV6 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BIRDV6 field is set to the value of the last call. +func (b *CalicoNodeAgentStatusApplyConfiguration) WithBIRDV6(value *BGPDaemonStatusApplyConfiguration) *CalicoNodeAgentStatusApplyConfiguration { + b.BIRDV6 = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodebgproutestatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodebgproutestatus.go new file mode 100644 index 00000000..b09216ab --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodebgproutestatus.go @@ -0,0 +1,48 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// CalicoNodeBGPRouteStatusApplyConfiguration represents a declarative configuration of the CalicoNodeBGPRouteStatus type for use +// with apply. +// +// CalicoNodeBGPRouteStatus defines the observed state of routes status on the node. +type CalicoNodeBGPRouteStatusApplyConfiguration struct { + // RoutesV4 represents IPv4 routes on the node. + RoutesV4 []CalicoNodeRouteApplyConfiguration `json:"routesV4,omitempty"` + // RoutesV6 represents IPv6 routes on the node. + RoutesV6 []CalicoNodeRouteApplyConfiguration `json:"routesV6,omitempty"` +} + +// CalicoNodeBGPRouteStatusApplyConfiguration constructs a declarative configuration of the CalicoNodeBGPRouteStatus type for use with +// apply. +func CalicoNodeBGPRouteStatus() *CalicoNodeBGPRouteStatusApplyConfiguration { + return &CalicoNodeBGPRouteStatusApplyConfiguration{} +} + +// WithRoutesV4 adds the given value to the RoutesV4 field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the RoutesV4 field. +func (b *CalicoNodeBGPRouteStatusApplyConfiguration) WithRoutesV4(values ...*CalicoNodeRouteApplyConfiguration) *CalicoNodeBGPRouteStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithRoutesV4") + } + b.RoutesV4 = append(b.RoutesV4, *values[i]) + } + return b +} + +// WithRoutesV6 adds the given value to the RoutesV6 field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the RoutesV6 field. +func (b *CalicoNodeBGPRouteStatusApplyConfiguration) WithRoutesV6(values ...*CalicoNodeRouteApplyConfiguration) *CalicoNodeBGPRouteStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithRoutesV6") + } + b.RoutesV6 = append(b.RoutesV6, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodebgpstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodebgpstatus.go new file mode 100644 index 00000000..c8531eb7 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodebgpstatus.go @@ -0,0 +1,88 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// CalicoNodeBGPStatusApplyConfiguration represents a declarative configuration of the CalicoNodeBGPStatus type for use +// with apply. +// +// CalicoNodeBGPStatus defines the observed state of BGP status on the node. +type CalicoNodeBGPStatusApplyConfiguration struct { + // The total number of IPv4 established bgp sessions. + NumberEstablishedV4 *int `json:"numberEstablishedV4,omitempty"` + // The total number of IPv4 non-established bgp sessions. + NumberNotEstablishedV4 *int `json:"numberNotEstablishedV4,omitempty"` + // The total number of IPv6 established bgp sessions. + NumberEstablishedV6 *int `json:"numberEstablishedV6,omitempty"` + // The total number of IPv6 non-established bgp sessions. + NumberNotEstablishedV6 *int `json:"numberNotEstablishedV6,omitempty"` + // PeersV4 represents IPv4 BGP peers status on the node. + PeersV4 []CalicoNodePeerApplyConfiguration `json:"peersV4,omitempty"` + // PeersV6 represents IPv6 BGP peers status on the node. + PeersV6 []CalicoNodePeerApplyConfiguration `json:"peersV6,omitempty"` +} + +// CalicoNodeBGPStatusApplyConfiguration constructs a declarative configuration of the CalicoNodeBGPStatus type for use with +// apply. +func CalicoNodeBGPStatus() *CalicoNodeBGPStatusApplyConfiguration { + return &CalicoNodeBGPStatusApplyConfiguration{} +} + +// WithNumberEstablishedV4 sets the NumberEstablishedV4 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NumberEstablishedV4 field is set to the value of the last call. +func (b *CalicoNodeBGPStatusApplyConfiguration) WithNumberEstablishedV4(value int) *CalicoNodeBGPStatusApplyConfiguration { + b.NumberEstablishedV4 = &value + return b +} + +// WithNumberNotEstablishedV4 sets the NumberNotEstablishedV4 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NumberNotEstablishedV4 field is set to the value of the last call. +func (b *CalicoNodeBGPStatusApplyConfiguration) WithNumberNotEstablishedV4(value int) *CalicoNodeBGPStatusApplyConfiguration { + b.NumberNotEstablishedV4 = &value + return b +} + +// WithNumberEstablishedV6 sets the NumberEstablishedV6 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NumberEstablishedV6 field is set to the value of the last call. +func (b *CalicoNodeBGPStatusApplyConfiguration) WithNumberEstablishedV6(value int) *CalicoNodeBGPStatusApplyConfiguration { + b.NumberEstablishedV6 = &value + return b +} + +// WithNumberNotEstablishedV6 sets the NumberNotEstablishedV6 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NumberNotEstablishedV6 field is set to the value of the last call. +func (b *CalicoNodeBGPStatusApplyConfiguration) WithNumberNotEstablishedV6(value int) *CalicoNodeBGPStatusApplyConfiguration { + b.NumberNotEstablishedV6 = &value + return b +} + +// WithPeersV4 adds the given value to the PeersV4 field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the PeersV4 field. +func (b *CalicoNodeBGPStatusApplyConfiguration) WithPeersV4(values ...*CalicoNodePeerApplyConfiguration) *CalicoNodeBGPStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithPeersV4") + } + b.PeersV4 = append(b.PeersV4, *values[i]) + } + return b +} + +// WithPeersV6 adds the given value to the PeersV6 field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the PeersV6 field. +func (b *CalicoNodeBGPStatusApplyConfiguration) WithPeersV6(values ...*CalicoNodePeerApplyConfiguration) *CalicoNodeBGPStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithPeersV6") + } + b.PeersV6 = append(b.PeersV6, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodepeer.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodepeer.go new file mode 100644 index 00000000..81987d0a --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodepeer.go @@ -0,0 +1,63 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// CalicoNodePeerApplyConfiguration represents a declarative configuration of the CalicoNodePeer type for use +// with apply. +// +// CalicoNodePeer contains the status of BGP peers on the node. +type CalicoNodePeerApplyConfiguration struct { + // IP address of the peer whose condition we are reporting. + PeerIP *string `json:"peerIP,omitempty"` + // Type indicates whether this peer is configured via the node-to-node mesh, + // or via en explicit global or per-node BGPPeer object. + Type *projectcalicov3.BGPPeerType `json:"type,omitempty"` + // State is the BGP session state. + State *projectcalicov3.BGPSessionState `json:"state,omitempty"` + // Since the state or reason last changed. + Since *string `json:"since,omitempty"` +} + +// CalicoNodePeerApplyConfiguration constructs a declarative configuration of the CalicoNodePeer type for use with +// apply. +func CalicoNodePeer() *CalicoNodePeerApplyConfiguration { + return &CalicoNodePeerApplyConfiguration{} +} + +// WithPeerIP sets the PeerIP field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PeerIP field is set to the value of the last call. +func (b *CalicoNodePeerApplyConfiguration) WithPeerIP(value string) *CalicoNodePeerApplyConfiguration { + b.PeerIP = &value + return b +} + +// WithType sets the Type field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Type field is set to the value of the last call. +func (b *CalicoNodePeerApplyConfiguration) WithType(value projectcalicov3.BGPPeerType) *CalicoNodePeerApplyConfiguration { + b.Type = &value + return b +} + +// WithState sets the State field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the State field is set to the value of the last call. +func (b *CalicoNodePeerApplyConfiguration) WithState(value projectcalicov3.BGPSessionState) *CalicoNodePeerApplyConfiguration { + b.State = &value + return b +} + +// WithSince sets the Since field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Since field is set to the value of the last call. +func (b *CalicoNodePeerApplyConfiguration) WithSince(value string) *CalicoNodePeerApplyConfiguration { + b.Since = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconoderoute.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconoderoute.go new file mode 100644 index 00000000..f542f628 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconoderoute.go @@ -0,0 +1,72 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// CalicoNodeRouteApplyConfiguration represents a declarative configuration of the CalicoNodeRoute type for use +// with apply. +// +// CalicoNodeRoute contains the status of BGP routes on the node. +type CalicoNodeRouteApplyConfiguration struct { + // Type indicates if the route is being used for forwarding or not. + Type *projectcalicov3.CalicoNodeRouteType `json:"type,omitempty"` + // Destination of the route. + Destination *string `json:"destination,omitempty"` + // Gateway for the destination. + Gateway *string `json:"gateway,omitempty"` + // Interface for the destination + Interface *string `json:"interface,omitempty"` + // LearnedFrom contains information regarding where this route originated. + LearnedFrom *CalicoNodeRouteLearnedFromApplyConfiguration `json:"learnedFrom,omitempty"` +} + +// CalicoNodeRouteApplyConfiguration constructs a declarative configuration of the CalicoNodeRoute type for use with +// apply. +func CalicoNodeRoute() *CalicoNodeRouteApplyConfiguration { + return &CalicoNodeRouteApplyConfiguration{} +} + +// WithType sets the Type field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Type field is set to the value of the last call. +func (b *CalicoNodeRouteApplyConfiguration) WithType(value projectcalicov3.CalicoNodeRouteType) *CalicoNodeRouteApplyConfiguration { + b.Type = &value + return b +} + +// WithDestination sets the Destination field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Destination field is set to the value of the last call. +func (b *CalicoNodeRouteApplyConfiguration) WithDestination(value string) *CalicoNodeRouteApplyConfiguration { + b.Destination = &value + return b +} + +// WithGateway sets the Gateway field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Gateway field is set to the value of the last call. +func (b *CalicoNodeRouteApplyConfiguration) WithGateway(value string) *CalicoNodeRouteApplyConfiguration { + b.Gateway = &value + return b +} + +// WithInterface sets the Interface field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Interface field is set to the value of the last call. +func (b *CalicoNodeRouteApplyConfiguration) WithInterface(value string) *CalicoNodeRouteApplyConfiguration { + b.Interface = &value + return b +} + +// WithLearnedFrom sets the LearnedFrom field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LearnedFrom field is set to the value of the last call. +func (b *CalicoNodeRouteApplyConfiguration) WithLearnedFrom(value *CalicoNodeRouteLearnedFromApplyConfiguration) *CalicoNodeRouteApplyConfiguration { + b.LearnedFrom = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconoderoutelearnedfrom.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconoderoutelearnedfrom.go new file mode 100644 index 00000000..6bbe8542 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconoderoutelearnedfrom.go @@ -0,0 +1,42 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// CalicoNodeRouteLearnedFromApplyConfiguration represents a declarative configuration of the CalicoNodeRouteLearnedFrom type for use +// with apply. +// +// CalicoNodeRouteLearnedFrom contains the information of the source from which a routes has been learned. +type CalicoNodeRouteLearnedFromApplyConfiguration struct { + // Type of the source where a route is learned from. + SourceType *projectcalicov3.CalicoNodeRouteSourceType `json:"sourceType,omitempty"` + // If sourceType is NodeMesh or BGPPeer, IP address of the router that sent us this route. + PeerIP *string `json:"peerIP,omitempty"` +} + +// CalicoNodeRouteLearnedFromApplyConfiguration constructs a declarative configuration of the CalicoNodeRouteLearnedFrom type for use with +// apply. +func CalicoNodeRouteLearnedFrom() *CalicoNodeRouteLearnedFromApplyConfiguration { + return &CalicoNodeRouteLearnedFromApplyConfiguration{} +} + +// WithSourceType sets the SourceType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SourceType field is set to the value of the last call. +func (b *CalicoNodeRouteLearnedFromApplyConfiguration) WithSourceType(value projectcalicov3.CalicoNodeRouteSourceType) *CalicoNodeRouteLearnedFromApplyConfiguration { + b.SourceType = &value + return b +} + +// WithPeerIP sets the PeerIP field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PeerIP field is set to the value of the last call. +func (b *CalicoNodeRouteLearnedFromApplyConfiguration) WithPeerIP(value string) *CalicoNodeRouteLearnedFromApplyConfiguration { + b.PeerIP = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatus.go new file mode 100644 index 00000000..dc0e49f7 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatus.go @@ -0,0 +1,271 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// CalicoNodeStatusApplyConfiguration represents a declarative configuration of the CalicoNodeStatus type for use +// with apply. +type CalicoNodeStatusApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *CalicoNodeStatusSpecApplyConfiguration `json:"spec,omitempty"` + Status *CalicoNodeStatusStatusApplyConfiguration `json:"status,omitempty"` +} + +// CalicoNodeStatus constructs a declarative configuration of the CalicoNodeStatus type for use with +// apply. +func CalicoNodeStatus(name string) *CalicoNodeStatusApplyConfiguration { + b := &CalicoNodeStatusApplyConfiguration{} + b.WithName(name) + b.WithKind("CalicoNodeStatus") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractCalicoNodeStatusFrom extracts the applied configuration owned by fieldManager from +// calicoNodeStatus for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// calicoNodeStatus must be a unmodified CalicoNodeStatus API object that was retrieved from the Kubernetes API. +// ExtractCalicoNodeStatusFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractCalicoNodeStatusFrom(calicoNodeStatus *projectcalicov3.CalicoNodeStatus, fieldManager string, subresource string) (*CalicoNodeStatusApplyConfiguration, error) { + b := &CalicoNodeStatusApplyConfiguration{} + err := managedfields.ExtractInto(calicoNodeStatus, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.CalicoNodeStatus"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(calicoNodeStatus.Name) + + b.WithKind("CalicoNodeStatus") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractCalicoNodeStatus extracts the applied configuration owned by fieldManager from +// calicoNodeStatus. If no managedFields are found in calicoNodeStatus for fieldManager, a +// CalicoNodeStatusApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// calicoNodeStatus must be a unmodified CalicoNodeStatus API object that was retrieved from the Kubernetes API. +// ExtractCalicoNodeStatus provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractCalicoNodeStatus(calicoNodeStatus *projectcalicov3.CalicoNodeStatus, fieldManager string) (*CalicoNodeStatusApplyConfiguration, error) { + return ExtractCalicoNodeStatusFrom(calicoNodeStatus, fieldManager, "") +} + +// ExtractCalicoNodeStatusStatus extracts the applied configuration owned by fieldManager from +// calicoNodeStatus for the status subresource. +func ExtractCalicoNodeStatusStatus(calicoNodeStatus *projectcalicov3.CalicoNodeStatus, fieldManager string) (*CalicoNodeStatusApplyConfiguration, error) { + return ExtractCalicoNodeStatusFrom(calicoNodeStatus, fieldManager, "status") +} + +func (b CalicoNodeStatusApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithKind(value string) *CalicoNodeStatusApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithAPIVersion(value string) *CalicoNodeStatusApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithName(value string) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithGenerateName(value string) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithNamespace(value string) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithUID(value types.UID) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithResourceVersion(value string) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithGeneration(value int64) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithCreationTimestamp(value metav1.Time) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *CalicoNodeStatusApplyConfiguration) WithLabels(entries map[string]string) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *CalicoNodeStatusApplyConfiguration) WithAnnotations(entries map[string]string) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *CalicoNodeStatusApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *CalicoNodeStatusApplyConfiguration) WithFinalizers(values ...string) *CalicoNodeStatusApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *CalicoNodeStatusApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithSpec(value *CalicoNodeStatusSpecApplyConfiguration) *CalicoNodeStatusApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *CalicoNodeStatusApplyConfiguration) WithStatus(value *CalicoNodeStatusStatusApplyConfiguration) *CalicoNodeStatusApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *CalicoNodeStatusApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *CalicoNodeStatusApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *CalicoNodeStatusApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *CalicoNodeStatusApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatusspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatusspec.go new file mode 100644 index 00000000..416bc6be --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatusspec.go @@ -0,0 +1,56 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// CalicoNodeStatusSpecApplyConfiguration represents a declarative configuration of the CalicoNodeStatusSpec type for use +// with apply. +// +// CalicoNodeStatusSpec contains the specification for a CalicoNodeStatus resource. +type CalicoNodeStatusSpecApplyConfiguration struct { + // The node name identifies the Calico node instance for node status. + Node *string `json:"node,omitempty"` + // Classes declares the types of information to monitor for this calico/node, + // and allows for selective status reporting about certain subsets of information. + Classes []projectcalicov3.NodeStatusClassType `json:"classes,omitempty"` + // UpdatePeriodSeconds is the period at which CalicoNodeStatus should be updated. + // Set to 0 to disable CalicoNodeStatus refresh. Maximum update period is one day. + UpdatePeriodSeconds *uint32 `json:"updatePeriodSeconds,omitempty"` +} + +// CalicoNodeStatusSpecApplyConfiguration constructs a declarative configuration of the CalicoNodeStatusSpec type for use with +// apply. +func CalicoNodeStatusSpec() *CalicoNodeStatusSpecApplyConfiguration { + return &CalicoNodeStatusSpecApplyConfiguration{} +} + +// WithNode sets the Node field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Node field is set to the value of the last call. +func (b *CalicoNodeStatusSpecApplyConfiguration) WithNode(value string) *CalicoNodeStatusSpecApplyConfiguration { + b.Node = &value + return b +} + +// WithClasses adds the given value to the Classes field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Classes field. +func (b *CalicoNodeStatusSpecApplyConfiguration) WithClasses(values ...projectcalicov3.NodeStatusClassType) *CalicoNodeStatusSpecApplyConfiguration { + for i := range values { + b.Classes = append(b.Classes, values[i]) + } + return b +} + +// WithUpdatePeriodSeconds sets the UpdatePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UpdatePeriodSeconds field is set to the value of the last call. +func (b *CalicoNodeStatusSpecApplyConfiguration) WithUpdatePeriodSeconds(value uint32) *CalicoNodeStatusSpecApplyConfiguration { + b.UpdatePeriodSeconds = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatusstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatusstatus.go new file mode 100644 index 00000000..62f3596a --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/caliconodestatusstatus.go @@ -0,0 +1,64 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// CalicoNodeStatusStatusApplyConfiguration represents a declarative configuration of the CalicoNodeStatusStatus type for use +// with apply. +// +// CalicoNodeStatusStatus defines the observed state of CalicoNodeStatus. +// No validation needed for status since it is updated by Calico. +type CalicoNodeStatusStatusApplyConfiguration struct { + // LastUpdated is a timestamp representing the server time when CalicoNodeStatus object + // last updated. It is represented in RFC3339 form and is in UTC. + LastUpdated *v1.Time `json:"lastUpdated,omitempty"` + // Agent holds agent status on the node. + Agent *CalicoNodeAgentStatusApplyConfiguration `json:"agent,omitempty"` + // BGP holds node BGP status. + BGP *CalicoNodeBGPStatusApplyConfiguration `json:"bgp,omitempty"` + // Routes reports routes known to the Calico BGP daemon on the node. + Routes *CalicoNodeBGPRouteStatusApplyConfiguration `json:"routes,omitempty"` +} + +// CalicoNodeStatusStatusApplyConfiguration constructs a declarative configuration of the CalicoNodeStatusStatus type for use with +// apply. +func CalicoNodeStatusStatus() *CalicoNodeStatusStatusApplyConfiguration { + return &CalicoNodeStatusStatusApplyConfiguration{} +} + +// WithLastUpdated sets the LastUpdated field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastUpdated field is set to the value of the last call. +func (b *CalicoNodeStatusStatusApplyConfiguration) WithLastUpdated(value v1.Time) *CalicoNodeStatusStatusApplyConfiguration { + b.LastUpdated = &value + return b +} + +// WithAgent sets the Agent field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Agent field is set to the value of the last call. +func (b *CalicoNodeStatusStatusApplyConfiguration) WithAgent(value *CalicoNodeAgentStatusApplyConfiguration) *CalicoNodeStatusStatusApplyConfiguration { + b.Agent = value + return b +} + +// WithBGP sets the BGP field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BGP field is set to the value of the last call. +func (b *CalicoNodeStatusStatusApplyConfiguration) WithBGP(value *CalicoNodeBGPStatusApplyConfiguration) *CalicoNodeStatusStatusApplyConfiguration { + b.BGP = value + return b +} + +// WithRoutes sets the Routes field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Routes field is set to the value of the last call. +func (b *CalicoNodeStatusStatusApplyConfiguration) WithRoutes(value *CalicoNodeBGPRouteStatusApplyConfiguration) *CalicoNodeStatusStatusApplyConfiguration { + b.Routes = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkfilter.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkfilter.go new file mode 100644 index 00000000..c8b4ecf6 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkfilter.go @@ -0,0 +1,54 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// CISBenchmarkFilterApplyConfiguration represents a declarative configuration of the CISBenchmarkFilter type for use +// with apply. +// +// CISBenchmarkFilter provides filters for a set of benchmarks that match particular selection criteria. +type CISBenchmarkFilterApplyConfiguration struct { + // BenchmarkSelection specifies which benchmarks this filter applies to. If not specified, applies to all. + BenchmarkSelection *CISBenchmarkSelectionApplyConfiguration `json:"benchmarkSelection,omitempty"` + // Exclude is an array of test indices to exclude from the report. + Exclude []string `json:"exclude,omitempty"` + // Include is an array of test indices to show in the report. + // Is additive if IncludeUnscoredTests is true. + // Takes precedence over Exclude. + Include []string `json:"include,omitempty"` +} + +// CISBenchmarkFilterApplyConfiguration constructs a declarative configuration of the CISBenchmarkFilter type for use with +// apply. +func CISBenchmarkFilter() *CISBenchmarkFilterApplyConfiguration { + return &CISBenchmarkFilterApplyConfiguration{} +} + +// WithBenchmarkSelection sets the BenchmarkSelection field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BenchmarkSelection field is set to the value of the last call. +func (b *CISBenchmarkFilterApplyConfiguration) WithBenchmarkSelection(value *CISBenchmarkSelectionApplyConfiguration) *CISBenchmarkFilterApplyConfiguration { + b.BenchmarkSelection = value + return b +} + +// WithExclude adds the given value to the Exclude field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Exclude field. +func (b *CISBenchmarkFilterApplyConfiguration) WithExclude(values ...string) *CISBenchmarkFilterApplyConfiguration { + for i := range values { + b.Exclude = append(b.Exclude, values[i]) + } + return b +} + +// WithInclude adds the given value to the Include field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Include field. +func (b *CISBenchmarkFilterApplyConfiguration) WithInclude(values ...string) *CISBenchmarkFilterApplyConfiguration { + for i := range values { + b.Include = append(b.Include, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkparams.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkparams.go new file mode 100644 index 00000000..0e9e67e1 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkparams.go @@ -0,0 +1,77 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// CISBenchmarkParamsApplyConfiguration represents a declarative configuration of the CISBenchmarkParams type for use +// with apply. +// +// CISBenchmarkParams contains the parameters for configuring a CIS benchmark report. +type CISBenchmarkParamsApplyConfiguration struct { + // Specifies if the report should also show results for scored/not-scored tests. + IncludeUnscoredTests *bool `json:"includeUnscoredTests,omitempty"` + // Configure the number of top failed tests to show up on the report. + NumFailedTests *int `json:"numFailedTests,omitempty"` + // Benchmark results filters. The first matching set of filters is applied to each set of benchmark results. + // If there are no matching filters, the full set of benchmark results will be included in the report. + ResultsFilters []CISBenchmarkFilterApplyConfiguration `json:"resultsFilters,omitempty"` + // Interpretted as a percentage to indicate at what levels of passing tests a node should be considered + // HIGH, MED, and LOW. + // - If >= HighThreshold flag as high + // - Otherwise, if > MedThreshold flag as med + // - Otherwise flag as low. + HighThreshold *int `json:"highThreshold,omitempty"` + MedThreshold *int `json:"medThreshold,omitempty"` +} + +// CISBenchmarkParamsApplyConfiguration constructs a declarative configuration of the CISBenchmarkParams type for use with +// apply. +func CISBenchmarkParams() *CISBenchmarkParamsApplyConfiguration { + return &CISBenchmarkParamsApplyConfiguration{} +} + +// WithIncludeUnscoredTests sets the IncludeUnscoredTests field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IncludeUnscoredTests field is set to the value of the last call. +func (b *CISBenchmarkParamsApplyConfiguration) WithIncludeUnscoredTests(value bool) *CISBenchmarkParamsApplyConfiguration { + b.IncludeUnscoredTests = &value + return b +} + +// WithNumFailedTests sets the NumFailedTests field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NumFailedTests field is set to the value of the last call. +func (b *CISBenchmarkParamsApplyConfiguration) WithNumFailedTests(value int) *CISBenchmarkParamsApplyConfiguration { + b.NumFailedTests = &value + return b +} + +// WithResultsFilters adds the given value to the ResultsFilters field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ResultsFilters field. +func (b *CISBenchmarkParamsApplyConfiguration) WithResultsFilters(values ...*CISBenchmarkFilterApplyConfiguration) *CISBenchmarkParamsApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithResultsFilters") + } + b.ResultsFilters = append(b.ResultsFilters, *values[i]) + } + return b +} + +// WithHighThreshold sets the HighThreshold field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HighThreshold field is set to the value of the last call. +func (b *CISBenchmarkParamsApplyConfiguration) WithHighThreshold(value int) *CISBenchmarkParamsApplyConfiguration { + b.HighThreshold = &value + return b +} + +// WithMedThreshold sets the MedThreshold field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MedThreshold field is set to the value of the last call. +func (b *CISBenchmarkParamsApplyConfiguration) WithMedThreshold(value int) *CISBenchmarkParamsApplyConfiguration { + b.MedThreshold = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkselection.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkselection.go new file mode 100644 index 00000000..8ab16ca6 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/cisbenchmarkselection.go @@ -0,0 +1,31 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// CISBenchmarkSelectionApplyConfiguration represents a declarative configuration of the CISBenchmarkSelection type for use +// with apply. +// +// CISBenchmarkSelection selects a particular set of benchmarks. +type CISBenchmarkSelectionApplyConfiguration struct { + // KubernetesVersion is used select nodes that are running a specific version of kubelet. The full version need not + // be fully specified down to the patch level, in which case the significant parts of the version are matched. + // e.g. "1.0" will match versions "1.0.1" and "1.0.2" + // If not specified, matches all versions. + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` +} + +// CISBenchmarkSelectionApplyConfiguration constructs a declarative configuration of the CISBenchmarkSelection type for use with +// apply. +func CISBenchmarkSelection() *CISBenchmarkSelectionApplyConfiguration { + return &CISBenchmarkSelectionApplyConfiguration{} +} + +// WithKubernetesVersion sets the KubernetesVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the KubernetesVersion field is set to the value of the last call. +func (b *CISBenchmarkSelectionApplyConfiguration) WithKubernetesVersion(value string) *CISBenchmarkSelectionApplyConfiguration { + b.KubernetesVersion = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/clusterinformation.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/clusterinformation.go new file mode 100644 index 00000000..c8c04f66 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/clusterinformation.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// ClusterInformationApplyConfiguration represents a declarative configuration of the ClusterInformation type for use +// with apply. +type ClusterInformationApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *ClusterInformationSpecApplyConfiguration `json:"spec,omitempty"` +} + +// ClusterInformation constructs a declarative configuration of the ClusterInformation type for use with +// apply. +func ClusterInformation(name string) *ClusterInformationApplyConfiguration { + b := &ClusterInformationApplyConfiguration{} + b.WithName(name) + b.WithKind("ClusterInformation") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractClusterInformationFrom extracts the applied configuration owned by fieldManager from +// clusterInformation for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// clusterInformation must be a unmodified ClusterInformation API object that was retrieved from the Kubernetes API. +// ExtractClusterInformationFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractClusterInformationFrom(clusterInformation *projectcalicov3.ClusterInformation, fieldManager string, subresource string) (*ClusterInformationApplyConfiguration, error) { + b := &ClusterInformationApplyConfiguration{} + err := managedfields.ExtractInto(clusterInformation, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.ClusterInformation"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(clusterInformation.Name) + + b.WithKind("ClusterInformation") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractClusterInformation extracts the applied configuration owned by fieldManager from +// clusterInformation. If no managedFields are found in clusterInformation for fieldManager, a +// ClusterInformationApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// clusterInformation must be a unmodified ClusterInformation API object that was retrieved from the Kubernetes API. +// ExtractClusterInformation provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractClusterInformation(clusterInformation *projectcalicov3.ClusterInformation, fieldManager string) (*ClusterInformationApplyConfiguration, error) { + return ExtractClusterInformationFrom(clusterInformation, fieldManager, "") +} + +func (b ClusterInformationApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithKind(value string) *ClusterInformationApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithAPIVersion(value string) *ClusterInformationApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithName(value string) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithGenerateName(value string) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithNamespace(value string) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithUID(value types.UID) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithResourceVersion(value string) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithGeneration(value int64) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithCreationTimestamp(value metav1.Time) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *ClusterInformationApplyConfiguration) WithLabels(entries map[string]string) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *ClusterInformationApplyConfiguration) WithAnnotations(entries map[string]string) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *ClusterInformationApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *ClusterInformationApplyConfiguration) WithFinalizers(values ...string) *ClusterInformationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *ClusterInformationApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *ClusterInformationApplyConfiguration) WithSpec(value *ClusterInformationSpecApplyConfiguration) *ClusterInformationApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *ClusterInformationApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *ClusterInformationApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *ClusterInformationApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *ClusterInformationApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/clusterinformationspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/clusterinformationspec.go new file mode 100644 index 00000000..bdf709d0 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/clusterinformationspec.go @@ -0,0 +1,90 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ClusterInformationSpecApplyConfiguration represents a declarative configuration of the ClusterInformationSpec type for use +// with apply. +// +// ClusterInformationSpec contains the values of describing the cluster. +type ClusterInformationSpecApplyConfiguration struct { + // ClusterGUID is the GUID of the cluster + ClusterGUID *string `json:"clusterGUID,omitempty"` + // ClusterType describes the type of the cluster + ClusterType *string `json:"clusterType,omitempty"` + // CalicoVersion is the version of Calico that the cluster is running + CalicoVersion *string `json:"calicoVersion,omitempty"` + // CNXVersion is the version of Calico Enterprise that the cluster is running + // Deprecated: Use CalicoEnterpriseVersion instead. + CNXVersion *string `json:"cnxVersion,omitempty"` + // CalicoEnterpriseVersion is the version of Calico Enterprise that the cluster is running + CalicoEnterpriseVersion *string `json:"calicoEnterpriseVersion,omitempty"` + // DatastoreReady is used during significant datastore migrations to signal to components + // such as Felix that it should wait before accessing the datastore. + DatastoreReady *bool `json:"datastoreReady,omitempty"` + // Variant declares which variant of Calico should be active. + Variant *string `json:"variant,omitempty"` +} + +// ClusterInformationSpecApplyConfiguration constructs a declarative configuration of the ClusterInformationSpec type for use with +// apply. +func ClusterInformationSpec() *ClusterInformationSpecApplyConfiguration { + return &ClusterInformationSpecApplyConfiguration{} +} + +// WithClusterGUID sets the ClusterGUID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ClusterGUID field is set to the value of the last call. +func (b *ClusterInformationSpecApplyConfiguration) WithClusterGUID(value string) *ClusterInformationSpecApplyConfiguration { + b.ClusterGUID = &value + return b +} + +// WithClusterType sets the ClusterType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ClusterType field is set to the value of the last call. +func (b *ClusterInformationSpecApplyConfiguration) WithClusterType(value string) *ClusterInformationSpecApplyConfiguration { + b.ClusterType = &value + return b +} + +// WithCalicoVersion sets the CalicoVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CalicoVersion field is set to the value of the last call. +func (b *ClusterInformationSpecApplyConfiguration) WithCalicoVersion(value string) *ClusterInformationSpecApplyConfiguration { + b.CalicoVersion = &value + return b +} + +// WithCNXVersion sets the CNXVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CNXVersion field is set to the value of the last call. +func (b *ClusterInformationSpecApplyConfiguration) WithCNXVersion(value string) *ClusterInformationSpecApplyConfiguration { + b.CNXVersion = &value + return b +} + +// WithCalicoEnterpriseVersion sets the CalicoEnterpriseVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CalicoEnterpriseVersion field is set to the value of the last call. +func (b *ClusterInformationSpecApplyConfiguration) WithCalicoEnterpriseVersion(value string) *ClusterInformationSpecApplyConfiguration { + b.CalicoEnterpriseVersion = &value + return b +} + +// WithDatastoreReady sets the DatastoreReady field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DatastoreReady field is set to the value of the last call. +func (b *ClusterInformationSpecApplyConfiguration) WithDatastoreReady(value bool) *ClusterInformationSpecApplyConfiguration { + b.DatastoreReady = &value + return b +} + +// WithVariant sets the Variant field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Variant field is set to the value of the last call. +func (b *ClusterInformationSpecApplyConfiguration) WithVariant(value string) *ClusterInformationSpecApplyConfiguration { + b.Variant = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/community.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/community.go new file mode 100644 index 00000000..84c3b3a1 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/community.go @@ -0,0 +1,41 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// CommunityApplyConfiguration represents a declarative configuration of the Community type for use +// with apply. +// +// Community contains standard or large community value and its name. +type CommunityApplyConfiguration struct { + // Name given to community value. + Name *string `json:"name,omitempty"` + // Value must be of format `aa:nn` or `aa:nn:mm`. + // For standard community use `aa:nn` format, where `aa` and `nn` are 16 bit number. + // For large community use `aa:nn:mm` format, where `aa`, `nn` and `mm` are 32 bit number. + // Where, `aa` is an AS Number, `nn` and `mm` are per-AS identifier. + Value *string `json:"value,omitempty"` +} + +// CommunityApplyConfiguration constructs a declarative configuration of the Community type for use with +// apply. +func Community() *CommunityApplyConfiguration { + return &CommunityApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *CommunityApplyConfiguration) WithName(value string) *CommunityApplyConfiguration { + b.Name = &value + return b +} + +// WithValue sets the Value field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Value field is set to the value of the last call. +func (b *CommunityApplyConfiguration) WithValue(value string) *CommunityApplyConfiguration { + b.Value = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/completedreportjob.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/completedreportjob.go new file mode 100644 index 00000000..4cf03122 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/completedreportjob.go @@ -0,0 +1,58 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + corev1 "k8s.io/api/core/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// CompletedReportJobApplyConfiguration represents a declarative configuration of the CompletedReportJob type for use +// with apply. +// +// CompletedReportJob augments the ReportJob with completion details. +type CompletedReportJobApplyConfiguration struct { + ReportJobApplyConfiguration `json:",inline"` + // The time the report job completed. + JobCompletionTime *v1.Time `json:"jobCompletionTime,omitempty"` +} + +// CompletedReportJobApplyConfiguration constructs a declarative configuration of the CompletedReportJob type for use with +// apply. +func CompletedReportJob() *CompletedReportJobApplyConfiguration { + return &CompletedReportJobApplyConfiguration{} +} + +// WithStart sets the Start field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Start field is set to the value of the last call. +func (b *CompletedReportJobApplyConfiguration) WithStart(value v1.Time) *CompletedReportJobApplyConfiguration { + b.ReportJobApplyConfiguration.Start = &value + return b +} + +// WithEnd sets the End field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the End field is set to the value of the last call. +func (b *CompletedReportJobApplyConfiguration) WithEnd(value v1.Time) *CompletedReportJobApplyConfiguration { + b.ReportJobApplyConfiguration.End = &value + return b +} + +// WithJob sets the Job field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Job field is set to the value of the last call. +func (b *CompletedReportJobApplyConfiguration) WithJob(value corev1.ObjectReference) *CompletedReportJobApplyConfiguration { + b.ReportJobApplyConfiguration.Job = &value + return b +} + +// WithJobCompletionTime sets the JobCompletionTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the JobCompletionTime field is set to the value of the last call. +func (b *CompletedReportJobApplyConfiguration) WithJobCompletionTime(value v1.Time) *CompletedReportJobApplyConfiguration { + b.JobCompletionTime = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/controllersconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/controllersconfig.go new file mode 100644 index 00000000..66b79df8 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/controllersconfig.go @@ -0,0 +1,98 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ControllersConfigApplyConfiguration represents a declarative configuration of the ControllersConfig type for use +// with apply. +// +// ControllersConfig enables and configures individual Kubernetes controllers +type ControllersConfigApplyConfiguration struct { + // Node enables and configures the node controller. Enabled by default, set to nil to disable. + Node *NodeControllerConfigApplyConfiguration `json:"node,omitempty"` + // Policy enables and configures the policy controller. Enabled by default, set to nil to disable. + Policy *PolicyControllerConfigApplyConfiguration `json:"policy,omitempty"` + // WorkloadEndpoint enables and configures the workload endpoint controller. Enabled by default, set to nil to disable. + WorkloadEndpoint *WorkloadEndpointControllerConfigApplyConfiguration `json:"workloadEndpoint,omitempty"` + // ServiceAccount enables and configures the service account controller. Enabled by default, set to nil to disable. + ServiceAccount *ServiceAccountControllerConfigApplyConfiguration `json:"serviceAccount,omitempty"` + // Namespace enables and configures the namespace controller. Enabled by default, set to nil to disable. + Namespace *NamespaceControllerConfigApplyConfiguration `json:"namespace,omitempty"` + // FederatedServices enables and configures the federatedservices controller. Disabled by default. + FederatedServices *FederatedServicesControllerConfigApplyConfiguration `json:"federatedServices,omitempty"` + // LoadBalancer enables and configures the LoadBalancer controller. Enabled by default, set to nil to disable. + LoadBalancer *LoadBalancerControllerConfigApplyConfiguration `json:"loadBalancer,omitempty"` + // Migration enables and configures migration controllers. + Migration *MigrationControllerConfigApplyConfiguration `json:"policyMigration,omitempty"` +} + +// ControllersConfigApplyConfiguration constructs a declarative configuration of the ControllersConfig type for use with +// apply. +func ControllersConfig() *ControllersConfigApplyConfiguration { + return &ControllersConfigApplyConfiguration{} +} + +// WithNode sets the Node field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Node field is set to the value of the last call. +func (b *ControllersConfigApplyConfiguration) WithNode(value *NodeControllerConfigApplyConfiguration) *ControllersConfigApplyConfiguration { + b.Node = value + return b +} + +// WithPolicy sets the Policy field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Policy field is set to the value of the last call. +func (b *ControllersConfigApplyConfiguration) WithPolicy(value *PolicyControllerConfigApplyConfiguration) *ControllersConfigApplyConfiguration { + b.Policy = value + return b +} + +// WithWorkloadEndpoint sets the WorkloadEndpoint field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WorkloadEndpoint field is set to the value of the last call. +func (b *ControllersConfigApplyConfiguration) WithWorkloadEndpoint(value *WorkloadEndpointControllerConfigApplyConfiguration) *ControllersConfigApplyConfiguration { + b.WorkloadEndpoint = value + return b +} + +// WithServiceAccount sets the ServiceAccount field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ServiceAccount field is set to the value of the last call. +func (b *ControllersConfigApplyConfiguration) WithServiceAccount(value *ServiceAccountControllerConfigApplyConfiguration) *ControllersConfigApplyConfiguration { + b.ServiceAccount = value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *ControllersConfigApplyConfiguration) WithNamespace(value *NamespaceControllerConfigApplyConfiguration) *ControllersConfigApplyConfiguration { + b.Namespace = value + return b +} + +// WithFederatedServices sets the FederatedServices field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FederatedServices field is set to the value of the last call. +func (b *ControllersConfigApplyConfiguration) WithFederatedServices(value *FederatedServicesControllerConfigApplyConfiguration) *ControllersConfigApplyConfiguration { + b.FederatedServices = value + return b +} + +// WithLoadBalancer sets the LoadBalancer field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LoadBalancer field is set to the value of the last call. +func (b *ControllersConfigApplyConfiguration) WithLoadBalancer(value *LoadBalancerControllerConfigApplyConfiguration) *ControllersConfigApplyConfiguration { + b.LoadBalancer = value + return b +} + +// WithMigration sets the Migration field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Migration field is set to the value of the last call. +func (b *ControllersConfigApplyConfiguration) WithMigration(value *MigrationControllerConfigApplyConfiguration) *ControllersConfigApplyConfiguration { + b.Migration = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/dashboarddata.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/dashboarddata.go new file mode 100644 index 00000000..8db6d2f1 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/dashboarddata.go @@ -0,0 +1,46 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// DashboardDataApplyConfiguration represents a declarative configuration of the DashboardData type for use +// with apply. +type DashboardDataApplyConfiguration struct { + // Namespace user selected for the dashboard + SelectedNamespace *string `json:"selectedNamespace,omitempty"` + // Type of the dashboard + Type *string `json:"type,omitempty"` + // Layout information of the dashboard card + Layout *DashboardLayoutApplyConfiguration `json:"layout,omitempty"` +} + +// DashboardDataApplyConfiguration constructs a declarative configuration of the DashboardData type for use with +// apply. +func DashboardData() *DashboardDataApplyConfiguration { + return &DashboardDataApplyConfiguration{} +} + +// WithSelectedNamespace sets the SelectedNamespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SelectedNamespace field is set to the value of the last call. +func (b *DashboardDataApplyConfiguration) WithSelectedNamespace(value string) *DashboardDataApplyConfiguration { + b.SelectedNamespace = &value + return b +} + +// WithType sets the Type field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Type field is set to the value of the last call. +func (b *DashboardDataApplyConfiguration) WithType(value string) *DashboardDataApplyConfiguration { + b.Type = &value + return b +} + +// WithLayout sets the Layout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Layout field is set to the value of the last call. +func (b *DashboardDataApplyConfiguration) WithLayout(value *DashboardLayoutApplyConfiguration) *DashboardDataApplyConfiguration { + b.Layout = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/dashboardlayout.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/dashboardlayout.go new file mode 100644 index 00000000..132082b2 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/dashboardlayout.go @@ -0,0 +1,136 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// DashboardLayoutApplyConfiguration represents a declarative configuration of the DashboardLayout type for use +// with apply. +type DashboardLayoutApplyConfiguration struct { + // Index of the dashboard + Index *string `json:"index,omitempty"` + // X coordinate of the top-left corner of the dashboard card + XPos *uint32 `json:"xPos,omitempty"` + // Y coordinate of the top-left corner of the dashboard card + YPos *uint32 `json:"yPos,omitempty"` + // Width of the dashboard card + Width *uint32 `json:"width,omitempty"` + // Height of the dashboard card + Height *uint32 `json:"height,omitempty"` + // Minimum limit set for the size of the dashboard card width + MinWidth *uint32 `json:"minWidth,omitempty"` + // Maximum limit set for the size of the dashboard card width + MaxWidth *uint32 `json:"maxWidth,omitempty"` + // Minimum limit set for the size of the dashboard card height + MinHeight *uint32 `json:"minHeight,omitempty"` + // Maximum limit set for the size of the dashboard card height + MaxHeight *uint32 `json:"maxHeight,omitempty"` + // Whether this dashboard card should be re-sizeable or not + IsResizable *bool `json:"isResizable,omitempty"` + // Whether this dashboard card should be visible or not + IsVisible *bool `json:"isVisible,omitempty"` + // Whether this dashboard is in namespace view or not + IsInNamespaceView *bool `json:"isInNamespaceView,omitempty"` +} + +// DashboardLayoutApplyConfiguration constructs a declarative configuration of the DashboardLayout type for use with +// apply. +func DashboardLayout() *DashboardLayoutApplyConfiguration { + return &DashboardLayoutApplyConfiguration{} +} + +// WithIndex sets the Index field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Index field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithIndex(value string) *DashboardLayoutApplyConfiguration { + b.Index = &value + return b +} + +// WithXPos sets the XPos field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the XPos field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithXPos(value uint32) *DashboardLayoutApplyConfiguration { + b.XPos = &value + return b +} + +// WithYPos sets the YPos field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the YPos field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithYPos(value uint32) *DashboardLayoutApplyConfiguration { + b.YPos = &value + return b +} + +// WithWidth sets the Width field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Width field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithWidth(value uint32) *DashboardLayoutApplyConfiguration { + b.Width = &value + return b +} + +// WithHeight sets the Height field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Height field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithHeight(value uint32) *DashboardLayoutApplyConfiguration { + b.Height = &value + return b +} + +// WithMinWidth sets the MinWidth field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MinWidth field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithMinWidth(value uint32) *DashboardLayoutApplyConfiguration { + b.MinWidth = &value + return b +} + +// WithMaxWidth sets the MaxWidth field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MaxWidth field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithMaxWidth(value uint32) *DashboardLayoutApplyConfiguration { + b.MaxWidth = &value + return b +} + +// WithMinHeight sets the MinHeight field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MinHeight field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithMinHeight(value uint32) *DashboardLayoutApplyConfiguration { + b.MinHeight = &value + return b +} + +// WithMaxHeight sets the MaxHeight field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MaxHeight field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithMaxHeight(value uint32) *DashboardLayoutApplyConfiguration { + b.MaxHeight = &value + return b +} + +// WithIsResizable sets the IsResizable field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IsResizable field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithIsResizable(value bool) *DashboardLayoutApplyConfiguration { + b.IsResizable = &value + return b +} + +// WithIsVisible sets the IsVisible field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IsVisible field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithIsVisible(value bool) *DashboardLayoutApplyConfiguration { + b.IsVisible = &value + return b +} + +// WithIsInNamespaceView sets the IsInNamespaceView field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IsInNamespaceView field is set to the value of the last call. +func (b *DashboardLayoutApplyConfiguration) WithIsInNamespaceView(value bool) *DashboardLayoutApplyConfiguration { + b.IsInNamespaceView = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspection.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspection.go new file mode 100644 index 00000000..561d653e --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspection.go @@ -0,0 +1,276 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// DeepPacketInspectionApplyConfiguration represents a declarative configuration of the DeepPacketInspection type for use +// with apply. +type DeepPacketInspectionApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + // Standard object's metadata. + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + // Specification of the DeepPacketInspection. + Spec *DeepPacketInspectionSpecApplyConfiguration `json:"spec,omitempty"` + // Status of the DeepPacketInspection. + Status *DeepPacketInspectionStatusApplyConfiguration `json:"status,omitempty"` +} + +// DeepPacketInspection constructs a declarative configuration of the DeepPacketInspection type for use with +// apply. +func DeepPacketInspection(name, namespace string) *DeepPacketInspectionApplyConfiguration { + b := &DeepPacketInspectionApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("DeepPacketInspection") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractDeepPacketInspectionFrom extracts the applied configuration owned by fieldManager from +// deepPacketInspection for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// deepPacketInspection must be a unmodified DeepPacketInspection API object that was retrieved from the Kubernetes API. +// ExtractDeepPacketInspectionFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractDeepPacketInspectionFrom(deepPacketInspection *projectcalicov3.DeepPacketInspection, fieldManager string, subresource string) (*DeepPacketInspectionApplyConfiguration, error) { + b := &DeepPacketInspectionApplyConfiguration{} + err := managedfields.ExtractInto(deepPacketInspection, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.DeepPacketInspection"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(deepPacketInspection.Name) + b.WithNamespace(deepPacketInspection.Namespace) + + b.WithKind("DeepPacketInspection") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractDeepPacketInspection extracts the applied configuration owned by fieldManager from +// deepPacketInspection. If no managedFields are found in deepPacketInspection for fieldManager, a +// DeepPacketInspectionApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// deepPacketInspection must be a unmodified DeepPacketInspection API object that was retrieved from the Kubernetes API. +// ExtractDeepPacketInspection provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractDeepPacketInspection(deepPacketInspection *projectcalicov3.DeepPacketInspection, fieldManager string) (*DeepPacketInspectionApplyConfiguration, error) { + return ExtractDeepPacketInspectionFrom(deepPacketInspection, fieldManager, "") +} + +// ExtractDeepPacketInspectionStatus extracts the applied configuration owned by fieldManager from +// deepPacketInspection for the status subresource. +func ExtractDeepPacketInspectionStatus(deepPacketInspection *projectcalicov3.DeepPacketInspection, fieldManager string) (*DeepPacketInspectionApplyConfiguration, error) { + return ExtractDeepPacketInspectionFrom(deepPacketInspection, fieldManager, "status") +} + +func (b DeepPacketInspectionApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithKind(value string) *DeepPacketInspectionApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithAPIVersion(value string) *DeepPacketInspectionApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithName(value string) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithGenerateName(value string) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithNamespace(value string) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithUID(value types.UID) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithResourceVersion(value string) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithGeneration(value int64) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithCreationTimestamp(value metav1.Time) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *DeepPacketInspectionApplyConfiguration) WithLabels(entries map[string]string) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *DeepPacketInspectionApplyConfiguration) WithAnnotations(entries map[string]string) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *DeepPacketInspectionApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *DeepPacketInspectionApplyConfiguration) WithFinalizers(values ...string) *DeepPacketInspectionApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *DeepPacketInspectionApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithSpec(value *DeepPacketInspectionSpecApplyConfiguration) *DeepPacketInspectionApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *DeepPacketInspectionApplyConfiguration) WithStatus(value *DeepPacketInspectionStatusApplyConfiguration) *DeepPacketInspectionApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *DeepPacketInspectionApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *DeepPacketInspectionApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *DeepPacketInspectionApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *DeepPacketInspectionApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspectionspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspectionspec.go new file mode 100644 index 00000000..df234089 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspectionspec.go @@ -0,0 +1,53 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// DeepPacketInspectionSpecApplyConfiguration represents a declarative configuration of the DeepPacketInspectionSpec type for use +// with apply. +// +// DeepPacketInspectionSpec contains the values of the deep packet inspection. +type DeepPacketInspectionSpecApplyConfiguration struct { + // The selector is an expression used to pick out the endpoints for which deep packet inspection should + // be performed on. The selector will only match endpoints in the same namespace as the + // DeepPacketInspection resource. + // + // Selector expressions follow this syntax: + // + // label == "string_literal" -> comparison, e.g. my_label == "foo bar" + // label != "string_literal" -> not equal; also matches if label is not present + // label in { "a", "b", "c", ... } -> true if the value of label X is one of "a", "b", "c" + // label not in { "a", "b", "c", ... } -> true if the value of label X is not one of "a", "b", "c" + // has(label_name) -> True if that label is present + // ! expr -> negation of expr + // expr && expr -> Short-circuit and + // expr || expr -> Short-circuit or + // ( expr ) -> parens for grouping + // all() or the empty selector -> matches all endpoints. + // + // Label names are allowed to contain alphanumerics, -, _ and /. String literals are more permissive + // but they do not support escape characters. + // + // Examples (with made-up labels): + // + // type == "webserver" && deployment == "prod" + // type in {"frontend", "backend"} + // deployment != "dev" + // ! has(label_name) + Selector *string `json:"selector,omitempty"` +} + +// DeepPacketInspectionSpecApplyConfiguration constructs a declarative configuration of the DeepPacketInspectionSpec type for use with +// apply. +func DeepPacketInspectionSpec() *DeepPacketInspectionSpecApplyConfiguration { + return &DeepPacketInspectionSpecApplyConfiguration{} +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *DeepPacketInspectionSpecApplyConfiguration) WithSelector(value string) *DeepPacketInspectionSpecApplyConfiguration { + b.Selector = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspectionstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspectionstatus.go new file mode 100644 index 00000000..229e59bd --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/deeppacketinspectionstatus.go @@ -0,0 +1,32 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// DeepPacketInspectionStatusApplyConfiguration represents a declarative configuration of the DeepPacketInspectionStatus type for use +// with apply. +// +// DeepPacketInspectionStatus contains status of deep packet inspection in each node. +type DeepPacketInspectionStatusApplyConfiguration struct { + Nodes []DPINodeApplyConfiguration `json:"nodes,omitempty"` +} + +// DeepPacketInspectionStatusApplyConfiguration constructs a declarative configuration of the DeepPacketInspectionStatus type for use with +// apply. +func DeepPacketInspectionStatus() *DeepPacketInspectionStatusApplyConfiguration { + return &DeepPacketInspectionStatusApplyConfiguration{} +} + +// WithNodes adds the given value to the Nodes field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Nodes field. +func (b *DeepPacketInspectionStatusApplyConfiguration) WithNodes(values ...*DPINodeApplyConfiguration) *DeepPacketInspectionStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithNodes") + } + b.Nodes = append(b.Nodes, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/detectorparams.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/detectorparams.go new file mode 100644 index 00000000..37db933c --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/detectorparams.go @@ -0,0 +1,26 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// DetectorParamsApplyConfiguration represents a declarative configuration of the DetectorParams type for use +// with apply. +type DetectorParamsApplyConfiguration struct { + // Name specifies the AnomalyDetection Detector to run. + Name *string `json:"name,omitempty"` +} + +// DetectorParamsApplyConfiguration constructs a declarative configuration of the DetectorParams type for use with +// apply. +func DetectorParams() *DetectorParamsApplyConfiguration { + return &DetectorParamsApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *DetectorParamsApplyConfiguration) WithName(value string) *DetectorParamsApplyConfiguration { + b.Name = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/dpiactive.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/dpiactive.go new file mode 100644 index 00000000..8be3253f --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/dpiactive.go @@ -0,0 +1,40 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// DPIActiveApplyConfiguration represents a declarative configuration of the DPIActive type for use +// with apply. +type DPIActiveApplyConfiguration struct { + // Success indicates if deep packet inspection is running on all workloads matching the selector. + Success *bool `json:"success,omitempty"` + // Timestamp of when the active status was last updated. + LastUpdated *v1.Time `json:"lastUpdated,omitempty"` +} + +// DPIActiveApplyConfiguration constructs a declarative configuration of the DPIActive type for use with +// apply. +func DPIActive() *DPIActiveApplyConfiguration { + return &DPIActiveApplyConfiguration{} +} + +// WithSuccess sets the Success field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Success field is set to the value of the last call. +func (b *DPIActiveApplyConfiguration) WithSuccess(value bool) *DPIActiveApplyConfiguration { + b.Success = &value + return b +} + +// WithLastUpdated sets the LastUpdated field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastUpdated field is set to the value of the last call. +func (b *DPIActiveApplyConfiguration) WithLastUpdated(value v1.Time) *DPIActiveApplyConfiguration { + b.LastUpdated = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/dpierrorcondition.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/dpierrorcondition.go new file mode 100644 index 00000000..533b1786 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/dpierrorcondition.go @@ -0,0 +1,40 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// DPIErrorConditionApplyConfiguration represents a declarative configuration of the DPIErrorCondition type for use +// with apply. +type DPIErrorConditionApplyConfiguration struct { + // Message from deep packet inspection error. + Message *string `json:"message,omitempty"` + // Timestamp of when this error message was added. + LastUpdated *v1.Time `json:"lastUpdated,omitempty"` +} + +// DPIErrorConditionApplyConfiguration constructs a declarative configuration of the DPIErrorCondition type for use with +// apply. +func DPIErrorCondition() *DPIErrorConditionApplyConfiguration { + return &DPIErrorConditionApplyConfiguration{} +} + +// WithMessage sets the Message field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Message field is set to the value of the last call. +func (b *DPIErrorConditionApplyConfiguration) WithMessage(value string) *DPIErrorConditionApplyConfiguration { + b.Message = &value + return b +} + +// WithLastUpdated sets the LastUpdated field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastUpdated field is set to the value of the last call. +func (b *DPIErrorConditionApplyConfiguration) WithLastUpdated(value v1.Time) *DPIErrorConditionApplyConfiguration { + b.LastUpdated = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/dpinode.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/dpinode.go new file mode 100644 index 00000000..5baab260 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/dpinode.go @@ -0,0 +1,49 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// DPINodeApplyConfiguration represents a declarative configuration of the DPINode type for use +// with apply. +type DPINodeApplyConfiguration struct { + // Node identifies with a physical node from the cluster via its hostname. + Node *string `json:"node,omitempty"` + Active *DPIActiveApplyConfiguration `json:"active,omitempty"` + ErrorConditions []DPIErrorConditionApplyConfiguration `json:"errorConditions,omitempty"` +} + +// DPINodeApplyConfiguration constructs a declarative configuration of the DPINode type for use with +// apply. +func DPINode() *DPINodeApplyConfiguration { + return &DPINodeApplyConfiguration{} +} + +// WithNode sets the Node field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Node field is set to the value of the last call. +func (b *DPINodeApplyConfiguration) WithNode(value string) *DPINodeApplyConfiguration { + b.Node = &value + return b +} + +// WithActive sets the Active field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Active field is set to the value of the last call. +func (b *DPINodeApplyConfiguration) WithActive(value *DPIActiveApplyConfiguration) *DPINodeApplyConfiguration { + b.Active = value + return b +} + +// WithErrorConditions adds the given value to the ErrorConditions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ErrorConditions field. +func (b *DPINodeApplyConfiguration) WithErrorConditions(values ...*DPIErrorConditionApplyConfiguration) *DPINodeApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithErrorConditions") + } + b.ErrorConditions = append(b.ErrorConditions, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicy.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicy.go new file mode 100644 index 00000000..1b933f00 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicy.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// EgressGatewayPolicyApplyConfiguration represents a declarative configuration of the EgressGatewayPolicy type for use +// with apply. +type EgressGatewayPolicyApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *EgressGatewayPolicySpecApplyConfiguration `json:"spec,omitempty"` +} + +// EgressGatewayPolicy constructs a declarative configuration of the EgressGatewayPolicy type for use with +// apply. +func EgressGatewayPolicy(name string) *EgressGatewayPolicyApplyConfiguration { + b := &EgressGatewayPolicyApplyConfiguration{} + b.WithName(name) + b.WithKind("EgressGatewayPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractEgressGatewayPolicyFrom extracts the applied configuration owned by fieldManager from +// egressGatewayPolicy for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// egressGatewayPolicy must be a unmodified EgressGatewayPolicy API object that was retrieved from the Kubernetes API. +// ExtractEgressGatewayPolicyFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractEgressGatewayPolicyFrom(egressGatewayPolicy *projectcalicov3.EgressGatewayPolicy, fieldManager string, subresource string) (*EgressGatewayPolicyApplyConfiguration, error) { + b := &EgressGatewayPolicyApplyConfiguration{} + err := managedfields.ExtractInto(egressGatewayPolicy, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.EgressGatewayPolicy"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(egressGatewayPolicy.Name) + + b.WithKind("EgressGatewayPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractEgressGatewayPolicy extracts the applied configuration owned by fieldManager from +// egressGatewayPolicy. If no managedFields are found in egressGatewayPolicy for fieldManager, a +// EgressGatewayPolicyApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// egressGatewayPolicy must be a unmodified EgressGatewayPolicy API object that was retrieved from the Kubernetes API. +// ExtractEgressGatewayPolicy provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractEgressGatewayPolicy(egressGatewayPolicy *projectcalicov3.EgressGatewayPolicy, fieldManager string) (*EgressGatewayPolicyApplyConfiguration, error) { + return ExtractEgressGatewayPolicyFrom(egressGatewayPolicy, fieldManager, "") +} + +func (b EgressGatewayPolicyApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithKind(value string) *EgressGatewayPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithAPIVersion(value string) *EgressGatewayPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithName(value string) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithGenerateName(value string) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithNamespace(value string) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithUID(value types.UID) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithResourceVersion(value string) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithGeneration(value int64) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithCreationTimestamp(value metav1.Time) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *EgressGatewayPolicyApplyConfiguration) WithLabels(entries map[string]string) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *EgressGatewayPolicyApplyConfiguration) WithAnnotations(entries map[string]string) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *EgressGatewayPolicyApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *EgressGatewayPolicyApplyConfiguration) WithFinalizers(values ...string) *EgressGatewayPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *EgressGatewayPolicyApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *EgressGatewayPolicyApplyConfiguration) WithSpec(value *EgressGatewayPolicySpecApplyConfiguration) *EgressGatewayPolicyApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *EgressGatewayPolicyApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *EgressGatewayPolicyApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *EgressGatewayPolicyApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *EgressGatewayPolicyApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicydestinationspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicydestinationspec.go new file mode 100644 index 00000000..2c6c9cba --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicydestinationspec.go @@ -0,0 +1,28 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// EgressGatewayPolicyDestinationSpecApplyConfiguration represents a declarative configuration of the EgressGatewayPolicyDestinationSpec type for use +// with apply. +// +// DestinationSpec define a destination network that can be reached via an egress gateway +type EgressGatewayPolicyDestinationSpecApplyConfiguration struct { + // The destination network CIDR. + CIDR *string `json:"cidr,omitempty"` +} + +// EgressGatewayPolicyDestinationSpecApplyConfiguration constructs a declarative configuration of the EgressGatewayPolicyDestinationSpec type for use with +// apply. +func EgressGatewayPolicyDestinationSpec() *EgressGatewayPolicyDestinationSpecApplyConfiguration { + return &EgressGatewayPolicyDestinationSpecApplyConfiguration{} +} + +// WithCIDR sets the CIDR field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CIDR field is set to the value of the last call. +func (b *EgressGatewayPolicyDestinationSpecApplyConfiguration) WithCIDR(value string) *EgressGatewayPolicyDestinationSpecApplyConfiguration { + b.CIDR = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicyspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicyspec.go new file mode 100644 index 00000000..c64cee75 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewaypolicyspec.go @@ -0,0 +1,33 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// EgressGatewayPolicySpecApplyConfiguration represents a declarative configuration of the EgressGatewayPolicySpec type for use +// with apply. +// +// EgressGatewayPolicySpec contains the egress policy rules for each destination network +type EgressGatewayPolicySpecApplyConfiguration struct { + // The ordered set of Egress Gateway Policies to define how traffic exit a cluster + Rules []EgressGatewayRuleApplyConfiguration `json:"rules,omitempty"` +} + +// EgressGatewayPolicySpecApplyConfiguration constructs a declarative configuration of the EgressGatewayPolicySpec type for use with +// apply. +func EgressGatewayPolicySpec() *EgressGatewayPolicySpecApplyConfiguration { + return &EgressGatewayPolicySpecApplyConfiguration{} +} + +// WithRules adds the given value to the Rules field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Rules field. +func (b *EgressGatewayPolicySpecApplyConfiguration) WithRules(values ...*EgressGatewayRuleApplyConfiguration) *EgressGatewayPolicySpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithRules") + } + b.Rules = append(b.Rules, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewayrule.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewayrule.go new file mode 100644 index 00000000..8fb25b19 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewayrule.go @@ -0,0 +1,65 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// EgressGatewayRuleApplyConfiguration represents a declarative configuration of the EgressGatewayRule type for use +// with apply. +// +// EgressGatewayRule defines an Egress Gateway to reach a destination network +type EgressGatewayRuleApplyConfiguration struct { + // The destination network that can be reached via egress gateway. + // If no destination is set, the default route, 0.0.0.0/0, is used instead. + Destination *EgressGatewayPolicyDestinationSpecApplyConfiguration `json:"destination,omitempty"` + // The description of the EgressGatewayPolicy rule. + Description *string `json:"description,omitempty"` + // Gateway specifies the egress gateway that should be used for the specified destination. + // If no gateway is set then the destination is routed normally rather than via an egress gateway. + Gateway *EgressSpecApplyConfiguration `json:"gateway,omitempty"` + // GatewayPreference specifies which egress gateways to use. If set to PreferNodeLocal, egress gateways in the same node as + // the client will be used if available. Otherwise all the active egress gateways will be used. + GatewayPreference *projectcalicov3.GatewayPreferenceType `json:"gatewayPreference,omitempty"` +} + +// EgressGatewayRuleApplyConfiguration constructs a declarative configuration of the EgressGatewayRule type for use with +// apply. +func EgressGatewayRule() *EgressGatewayRuleApplyConfiguration { + return &EgressGatewayRuleApplyConfiguration{} +} + +// WithDestination sets the Destination field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Destination field is set to the value of the last call. +func (b *EgressGatewayRuleApplyConfiguration) WithDestination(value *EgressGatewayPolicyDestinationSpecApplyConfiguration) *EgressGatewayRuleApplyConfiguration { + b.Destination = value + return b +} + +// WithDescription sets the Description field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Description field is set to the value of the last call. +func (b *EgressGatewayRuleApplyConfiguration) WithDescription(value string) *EgressGatewayRuleApplyConfiguration { + b.Description = &value + return b +} + +// WithGateway sets the Gateway field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Gateway field is set to the value of the last call. +func (b *EgressGatewayRuleApplyConfiguration) WithGateway(value *EgressSpecApplyConfiguration) *EgressGatewayRuleApplyConfiguration { + b.Gateway = value + return b +} + +// WithGatewayPreference sets the GatewayPreference field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GatewayPreference field is set to the value of the last call. +func (b *EgressGatewayRuleApplyConfiguration) WithGatewayPreference(value projectcalicov3.GatewayPreferenceType) *EgressGatewayRuleApplyConfiguration { + b.GatewayPreference = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewayspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewayspec.go new file mode 100644 index 00000000..241dd71c --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressgatewayspec.go @@ -0,0 +1,40 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// EgressGatewaySpecApplyConfiguration represents a declarative configuration of the EgressGatewaySpec type for use +// with apply. +// +// EgressGatewaySpec allows to define an egress gateway directly, or to refer to +// an egress gateway policy resource. +type EgressGatewaySpecApplyConfiguration struct { + // Only one of these may be set. + // Reference to an EgressGatewayPolicy to use. + Policy *string `json:"policy,omitempty"` + // Reference to a specific EgressGateway to use. + Gateway *EgressSpecApplyConfiguration `json:"gateway,omitempty"` +} + +// EgressGatewaySpecApplyConfiguration constructs a declarative configuration of the EgressGatewaySpec type for use with +// apply. +func EgressGatewaySpec() *EgressGatewaySpecApplyConfiguration { + return &EgressGatewaySpecApplyConfiguration{} +} + +// WithPolicy sets the Policy field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Policy field is set to the value of the last call. +func (b *EgressGatewaySpecApplyConfiguration) WithPolicy(value string) *EgressGatewaySpecApplyConfiguration { + b.Policy = &value + return b +} + +// WithGateway sets the Gateway field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Gateway field is set to the value of the last call. +func (b *EgressGatewaySpecApplyConfiguration) WithGateway(value *EgressSpecApplyConfiguration) *EgressGatewaySpecApplyConfiguration { + b.Gateway = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/egressspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressspec.go new file mode 100644 index 00000000..241f9c0d --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/egressspec.go @@ -0,0 +1,50 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// EgressSpecApplyConfiguration represents a declarative configuration of the EgressSpec type for use +// with apply. +// +// EgressSpec defines which egress gateway should be used. +type EgressSpecApplyConfiguration struct { + // NamespaceSelector selects one or more namespaces containing an egress gateway deployment. + NamespaceSelector *string `json:"namespaceSelector,omitempty"` + // Selector is an expression used to pick out the egress gateway that the destination can + // be reached via. + Selector *string `json:"selector,omitempty"` + // MaxNextHops specifies the maximum number of egress gateway replicas from the selected + // deployment that a pod should depend on. + MaxNextHops *int `json:"maxNextHops,omitempty"` +} + +// EgressSpecApplyConfiguration constructs a declarative configuration of the EgressSpec type for use with +// apply. +func EgressSpec() *EgressSpecApplyConfiguration { + return &EgressSpecApplyConfiguration{} +} + +// WithNamespaceSelector sets the NamespaceSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NamespaceSelector field is set to the value of the last call. +func (b *EgressSpecApplyConfiguration) WithNamespaceSelector(value string) *EgressSpecApplyConfiguration { + b.NamespaceSelector = &value + return b +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *EgressSpecApplyConfiguration) WithSelector(value string) *EgressSpecApplyConfiguration { + b.Selector = &value + return b +} + +// WithMaxNextHops sets the MaxNextHops field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MaxNextHops field is set to the value of the last call. +func (b *EgressSpecApplyConfiguration) WithMaxNextHops(value int) *EgressSpecApplyConfiguration { + b.MaxNextHops = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/endpointport.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/endpointport.go new file mode 100644 index 00000000..d84eb259 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/endpointport.go @@ -0,0 +1,47 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + numorstring "github.com/tigera/api/pkg/lib/numorstring" +) + +// EndpointPortApplyConfiguration represents a declarative configuration of the EndpointPort type for use +// with apply. +type EndpointPortApplyConfiguration struct { + Name *string `json:"name,omitempty"` + Protocol *numorstring.Protocol `json:"protocol,omitempty"` + Port *uint16 `json:"port,omitempty"` +} + +// EndpointPortApplyConfiguration constructs a declarative configuration of the EndpointPort type for use with +// apply. +func EndpointPort() *EndpointPortApplyConfiguration { + return &EndpointPortApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *EndpointPortApplyConfiguration) WithName(value string) *EndpointPortApplyConfiguration { + b.Name = &value + return b +} + +// WithProtocol sets the Protocol field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Protocol field is set to the value of the last call. +func (b *EndpointPortApplyConfiguration) WithProtocol(value numorstring.Protocol) *EndpointPortApplyConfiguration { + b.Protocol = &value + return b +} + +// WithPort sets the Port field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Port field is set to the value of the last call. +func (b *EndpointPortApplyConfiguration) WithPort(value uint16) *EndpointPortApplyConfiguration { + b.Port = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/endpointsselection.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/endpointsselection.go new file mode 100644 index 00000000..269f4e86 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/endpointsselection.go @@ -0,0 +1,50 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// EndpointsSelectionApplyConfiguration represents a declarative configuration of the EndpointsSelection type for use +// with apply. +// +// EndpointsSelection is a set of selectors used to select the endpoints that are considered to be in-scope for the +// report. An empty selector is equivalent to all(). All three selectors are ANDed together. +type EndpointsSelectionApplyConfiguration struct { + // Selector, selects endpoints by endpoint labels. If omitted, all endpoints are included in the report + // data. + Selector *string `json:"selector,omitempty"` + // Namespace match restricts endpoint selection to those in the selected namespaces. + Namespaces *NamesAndLabelsMatchApplyConfiguration `json:"namespaces,omitempty"` + // ServiceAccount match restricts endpoint selection to those in the selected service accounts. + ServiceAccounts *NamesAndLabelsMatchApplyConfiguration `json:"serviceAccounts,omitempty"` +} + +// EndpointsSelectionApplyConfiguration constructs a declarative configuration of the EndpointsSelection type for use with +// apply. +func EndpointsSelection() *EndpointsSelectionApplyConfiguration { + return &EndpointsSelectionApplyConfiguration{} +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *EndpointsSelectionApplyConfiguration) WithSelector(value string) *EndpointsSelectionApplyConfiguration { + b.Selector = &value + return b +} + +// WithNamespaces sets the Namespaces field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespaces field is set to the value of the last call. +func (b *EndpointsSelectionApplyConfiguration) WithNamespaces(value *NamesAndLabelsMatchApplyConfiguration) *EndpointsSelectionApplyConfiguration { + b.Namespaces = value + return b +} + +// WithServiceAccounts sets the ServiceAccounts field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ServiceAccounts field is set to the value of the last call. +func (b *EndpointsSelectionApplyConfiguration) WithServiceAccounts(value *NamesAndLabelsMatchApplyConfiguration) *EndpointsSelectionApplyConfiguration { + b.ServiceAccounts = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/entityrule.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/entityrule.go new file mode 100644 index 00000000..c1ca85c4 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/entityrule.go @@ -0,0 +1,183 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + numorstring "github.com/tigera/api/pkg/lib/numorstring" +) + +// EntityRuleApplyConfiguration represents a declarative configuration of the EntityRule type for use +// with apply. +// +// An EntityRule is a sub-component of a Rule comprising the match criteria specific +// to a particular entity (that is either the source or destination). +// +// A source EntityRule matches the source endpoint and originating traffic. +// A destination EntityRule matches the destination endpoint and terminating traffic. +type EntityRuleApplyConfiguration struct { + // Nets is an optional field that restricts the rule to only apply to traffic that + // originates from (or terminates at) IP addresses in any of the given subnets. + Nets []string `json:"nets,omitempty"` + // Selector is an optional field that contains a selector expression (see Policy for + // sample syntax). Only traffic that originates from (terminates at) endpoints matching + // the selector will be matched. + // + // Note that: in addition to the negated version of the Selector (see NotSelector below), the + // selector expression syntax itself supports negation. The two types of negation are subtly + // different. One negates the set of matched endpoints, the other negates the whole match: + // + // Selector = "!has(my_label)" matches packets that are from other Calico-controlled + // endpoints that do not have the label "my_label". + // + // NotSelector = "has(my_label)" matches packets that are not from Calico-controlled + // endpoints that do have the label "my_label". + // + // The effect is that the latter will accept packets from non-Calico sources whereas the + // former is limited to packets from Calico-controlled endpoints. + Selector *string `json:"selector,omitempty"` + // NamespaceSelector is an optional field that contains a selector expression. Only traffic + // that originates from (or terminates at) endpoints within the selected namespaces will be + // matched. When both NamespaceSelector and another selector are defined on the same rule, then only + // workload endpoints that are matched by both selectors will be selected by the rule. + // + // For NetworkPolicy, an empty NamespaceSelector implies that the Selector is limited to selecting + // only workload endpoints in the same namespace as the NetworkPolicy. + // + // For NetworkPolicy, `global()` NamespaceSelector implies that the Selector is limited to selecting + // only GlobalNetworkSet or HostEndpoint. + // + // For GlobalNetworkPolicy, an empty NamespaceSelector implies the Selector applies to workload + // endpoints across all namespaces. + NamespaceSelector *string `json:"namespaceSelector,omitempty"` + // Services is an optional field that contains options for matching Kubernetes Services. + // If specified, only traffic that originates from or terminates at endpoints within the selected + // service(s) will be matched, and only to/from each endpoint's port. + // + // Services cannot be specified on the same rule as Selector, NotSelector, NamespaceSelector, Nets, + // NotNets or ServiceAccounts. + // + // Ports and NotPorts can only be specified with Services on ingress rules. + Services *ServiceMatchApplyConfiguration `json:"services,omitempty"` + // Ports is an optional field that restricts the rule to only apply to traffic that has a + // source (destination) port that matches one of these ranges/values. This value is a + // list of integers or strings that represent ranges of ports. + // + // Since only some protocols have ports, if any ports are specified it requires the + // Protocol match in the Rule to be set to "TCP" or "UDP". + Ports []numorstring.Port `json:"ports,omitempty"` + // Domains is an optional field, valid for egress Allow rules only, that restricts the rule + // to apply only to traffic to one of the specified domains. If this field is specified, + // Action must be Allow, and Nets and Selector must both be left empty. + Domains []string `json:"domains,omitempty"` + // NotNets is the negated version of the Nets field. + // listType=set + NotNets []string `json:"notNets,omitempty"` + // NotSelector is the negated version of the Selector field. See Selector field for + // subtleties with negated selectors. + NotSelector *string `json:"notSelector,omitempty"` + // NotPorts is the negated version of the Ports field. + // Since only some protocols have ports, if any ports are specified it requires the + // Protocol match in the Rule to be set to "TCP" or "UDP". + NotPorts []numorstring.Port `json:"notPorts,omitempty"` + // ServiceAccounts is an optional field that restricts the rule to only apply to traffic that originates from (or + // terminates at) a pod running as a matching service account. + ServiceAccounts *ServiceAccountMatchApplyConfiguration `json:"serviceAccounts,omitempty"` +} + +// EntityRuleApplyConfiguration constructs a declarative configuration of the EntityRule type for use with +// apply. +func EntityRule() *EntityRuleApplyConfiguration { + return &EntityRuleApplyConfiguration{} +} + +// WithNets adds the given value to the Nets field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Nets field. +func (b *EntityRuleApplyConfiguration) WithNets(values ...string) *EntityRuleApplyConfiguration { + for i := range values { + b.Nets = append(b.Nets, values[i]) + } + return b +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *EntityRuleApplyConfiguration) WithSelector(value string) *EntityRuleApplyConfiguration { + b.Selector = &value + return b +} + +// WithNamespaceSelector sets the NamespaceSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NamespaceSelector field is set to the value of the last call. +func (b *EntityRuleApplyConfiguration) WithNamespaceSelector(value string) *EntityRuleApplyConfiguration { + b.NamespaceSelector = &value + return b +} + +// WithServices sets the Services field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Services field is set to the value of the last call. +func (b *EntityRuleApplyConfiguration) WithServices(value *ServiceMatchApplyConfiguration) *EntityRuleApplyConfiguration { + b.Services = value + return b +} + +// WithPorts adds the given value to the Ports field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Ports field. +func (b *EntityRuleApplyConfiguration) WithPorts(values ...numorstring.Port) *EntityRuleApplyConfiguration { + for i := range values { + b.Ports = append(b.Ports, values[i]) + } + return b +} + +// WithDomains adds the given value to the Domains field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Domains field. +func (b *EntityRuleApplyConfiguration) WithDomains(values ...string) *EntityRuleApplyConfiguration { + for i := range values { + b.Domains = append(b.Domains, values[i]) + } + return b +} + +// WithNotNets adds the given value to the NotNets field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the NotNets field. +func (b *EntityRuleApplyConfiguration) WithNotNets(values ...string) *EntityRuleApplyConfiguration { + for i := range values { + b.NotNets = append(b.NotNets, values[i]) + } + return b +} + +// WithNotSelector sets the NotSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NotSelector field is set to the value of the last call. +func (b *EntityRuleApplyConfiguration) WithNotSelector(value string) *EntityRuleApplyConfiguration { + b.NotSelector = &value + return b +} + +// WithNotPorts adds the given value to the NotPorts field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the NotPorts field. +func (b *EntityRuleApplyConfiguration) WithNotPorts(values ...numorstring.Port) *EntityRuleApplyConfiguration { + for i := range values { + b.NotPorts = append(b.NotPorts, values[i]) + } + return b +} + +// WithServiceAccounts sets the ServiceAccounts field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ServiceAccounts field is set to the value of the last call. +func (b *EntityRuleApplyConfiguration) WithServiceAccounts(value *ServiceAccountMatchApplyConfiguration) *EntityRuleApplyConfiguration { + b.ServiceAccounts = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/errorcondition.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/errorcondition.go new file mode 100644 index 00000000..904e43ee --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/errorcondition.go @@ -0,0 +1,34 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ErrorConditionApplyConfiguration represents a declarative configuration of the ErrorCondition type for use +// with apply. +type ErrorConditionApplyConfiguration struct { + Type *string `json:"type,omitempty"` + Message *string `json:"message,omitempty"` +} + +// ErrorConditionApplyConfiguration constructs a declarative configuration of the ErrorCondition type for use with +// apply. +func ErrorCondition() *ErrorConditionApplyConfiguration { + return &ErrorConditionApplyConfiguration{} +} + +// WithType sets the Type field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Type field is set to the value of the last call. +func (b *ErrorConditionApplyConfiguration) WithType(value string) *ErrorConditionApplyConfiguration { + b.Type = &value + return b +} + +// WithMessage sets the Message field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Message field is set to the value of the last call. +func (b *ErrorConditionApplyConfiguration) WithMessage(value string) *ErrorConditionApplyConfiguration { + b.Message = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/etcdconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/etcdconfig.go new file mode 100644 index 00000000..24fb38ee --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/etcdconfig.go @@ -0,0 +1,104 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// EtcdConfigApplyConfiguration represents a declarative configuration of the EtcdConfig type for use +// with apply. +type EtcdConfigApplyConfiguration struct { + // A comma separated list of etcd endpoints. Valid if DatastoreType is etcdv3. [Default: ] + EtcdEndpoints *string `json:"etcdEndpoints,omitempty"` + // User name for RBAC. Valid if DatastoreType is etcdv3. + EtcdUsername *string `json:"etcdUsername,omitempty"` + // Password for the given user name. Valid if DatastoreType is etcdv3. + EtcdPassword *string `json:"etcdPassword,omitempty"` + // Path to the etcd key file. Valid if DatastoreType is etcdv3. + EtcdKeyFile *string `json:"etcdKeyFile,omitempty"` + // Path to the etcd client certificate. Valid if DatastoreType is etcdv3. + EtcdCertFile *string `json:"etcdCertFile,omitempty"` + // Path to the etcd Certificate Authority file. Valid if DatastoreType is etcdv3. + EtcdCACertFile *string `json:"etcdCACertFile,omitempty"` + // These config file parameters are to support inline certificates, keys and CA / Trusted certificate. + EtcdKey *string `json:"etcdKey,omitempty"` + EtcdCert *string `json:"etcdCert,omitempty"` + EtcdCACert *string `json:"etcdCACert,omitempty"` +} + +// EtcdConfigApplyConfiguration constructs a declarative configuration of the EtcdConfig type for use with +// apply. +func EtcdConfig() *EtcdConfigApplyConfiguration { + return &EtcdConfigApplyConfiguration{} +} + +// WithEtcdEndpoints sets the EtcdEndpoints field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdEndpoints field is set to the value of the last call. +func (b *EtcdConfigApplyConfiguration) WithEtcdEndpoints(value string) *EtcdConfigApplyConfiguration { + b.EtcdEndpoints = &value + return b +} + +// WithEtcdUsername sets the EtcdUsername field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdUsername field is set to the value of the last call. +func (b *EtcdConfigApplyConfiguration) WithEtcdUsername(value string) *EtcdConfigApplyConfiguration { + b.EtcdUsername = &value + return b +} + +// WithEtcdPassword sets the EtcdPassword field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdPassword field is set to the value of the last call. +func (b *EtcdConfigApplyConfiguration) WithEtcdPassword(value string) *EtcdConfigApplyConfiguration { + b.EtcdPassword = &value + return b +} + +// WithEtcdKeyFile sets the EtcdKeyFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdKeyFile field is set to the value of the last call. +func (b *EtcdConfigApplyConfiguration) WithEtcdKeyFile(value string) *EtcdConfigApplyConfiguration { + b.EtcdKeyFile = &value + return b +} + +// WithEtcdCertFile sets the EtcdCertFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdCertFile field is set to the value of the last call. +func (b *EtcdConfigApplyConfiguration) WithEtcdCertFile(value string) *EtcdConfigApplyConfiguration { + b.EtcdCertFile = &value + return b +} + +// WithEtcdCACertFile sets the EtcdCACertFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdCACertFile field is set to the value of the last call. +func (b *EtcdConfigApplyConfiguration) WithEtcdCACertFile(value string) *EtcdConfigApplyConfiguration { + b.EtcdCACertFile = &value + return b +} + +// WithEtcdKey sets the EtcdKey field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdKey field is set to the value of the last call. +func (b *EtcdConfigApplyConfiguration) WithEtcdKey(value string) *EtcdConfigApplyConfiguration { + b.EtcdKey = &value + return b +} + +// WithEtcdCert sets the EtcdCert field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdCert field is set to the value of the last call. +func (b *EtcdConfigApplyConfiguration) WithEtcdCert(value string) *EtcdConfigApplyConfiguration { + b.EtcdCert = &value + return b +} + +// WithEtcdCACert sets the EtcdCACert field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdCACert field is set to the value of the last call. +func (b *EtcdConfigApplyConfiguration) WithEtcdCACert(value string) *EtcdConfigApplyConfiguration { + b.EtcdCACert = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/externalnetwork.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/externalnetwork.go new file mode 100644 index 00000000..5b1c5f9f --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/externalnetwork.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// ExternalNetworkApplyConfiguration represents a declarative configuration of the ExternalNetwork type for use +// with apply. +type ExternalNetworkApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *ExternalNetworkSpecApplyConfiguration `json:"spec,omitempty"` +} + +// ExternalNetwork constructs a declarative configuration of the ExternalNetwork type for use with +// apply. +func ExternalNetwork(name string) *ExternalNetworkApplyConfiguration { + b := &ExternalNetworkApplyConfiguration{} + b.WithName(name) + b.WithKind("ExternalNetwork") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractExternalNetworkFrom extracts the applied configuration owned by fieldManager from +// externalNetwork for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// externalNetwork must be a unmodified ExternalNetwork API object that was retrieved from the Kubernetes API. +// ExtractExternalNetworkFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractExternalNetworkFrom(externalNetwork *projectcalicov3.ExternalNetwork, fieldManager string, subresource string) (*ExternalNetworkApplyConfiguration, error) { + b := &ExternalNetworkApplyConfiguration{} + err := managedfields.ExtractInto(externalNetwork, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.ExternalNetwork"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(externalNetwork.Name) + + b.WithKind("ExternalNetwork") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractExternalNetwork extracts the applied configuration owned by fieldManager from +// externalNetwork. If no managedFields are found in externalNetwork for fieldManager, a +// ExternalNetworkApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// externalNetwork must be a unmodified ExternalNetwork API object that was retrieved from the Kubernetes API. +// ExtractExternalNetwork provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractExternalNetwork(externalNetwork *projectcalicov3.ExternalNetwork, fieldManager string) (*ExternalNetworkApplyConfiguration, error) { + return ExtractExternalNetworkFrom(externalNetwork, fieldManager, "") +} + +func (b ExternalNetworkApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithKind(value string) *ExternalNetworkApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithAPIVersion(value string) *ExternalNetworkApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithName(value string) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithGenerateName(value string) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithNamespace(value string) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithUID(value types.UID) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithResourceVersion(value string) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithGeneration(value int64) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithCreationTimestamp(value metav1.Time) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *ExternalNetworkApplyConfiguration) WithLabels(entries map[string]string) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *ExternalNetworkApplyConfiguration) WithAnnotations(entries map[string]string) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *ExternalNetworkApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *ExternalNetworkApplyConfiguration) WithFinalizers(values ...string) *ExternalNetworkApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *ExternalNetworkApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *ExternalNetworkApplyConfiguration) WithSpec(value *ExternalNetworkSpecApplyConfiguration) *ExternalNetworkApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *ExternalNetworkApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *ExternalNetworkApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *ExternalNetworkApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *ExternalNetworkApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/externalnetworkspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/externalnetworkspec.go new file mode 100644 index 00000000..6315a966 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/externalnetworkspec.go @@ -0,0 +1,31 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ExternalNetworkSpecApplyConfiguration represents a declarative configuration of the ExternalNetworkSpec type for use +// with apply. +// +// ExternalNetworkSpec contains the specification for a external network resource. +type ExternalNetworkSpecApplyConfiguration struct { + // The index of a linux kernel routing table that should be used for the routes associated with the external network. + // The value should be unique for each external network. + // The value should not be in the range of `RouteTableRanges` field in FelixConfiguration. + // The kernel routing table index should not be used by other processes on the node. + RouteTableIndex *uint32 `json:"routeTableIndex,omitempty"` +} + +// ExternalNetworkSpecApplyConfiguration constructs a declarative configuration of the ExternalNetworkSpec type for use with +// apply. +func ExternalNetworkSpec() *ExternalNetworkSpecApplyConfiguration { + return &ExternalNetworkSpecApplyConfiguration{} +} + +// WithRouteTableIndex sets the RouteTableIndex field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RouteTableIndex field is set to the value of the last call. +func (b *ExternalNetworkSpecApplyConfiguration) WithRouteTableIndex(value uint32) *ExternalNetworkSpecApplyConfiguration { + b.RouteTableIndex = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/federatedservicescontrollerconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/federatedservicescontrollerconfig.go new file mode 100644 index 00000000..1421a10f --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/federatedservicescontrollerconfig.go @@ -0,0 +1,33 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// FederatedServicesControllerConfigApplyConfiguration represents a declarative configuration of the FederatedServicesControllerConfig type for use +// with apply. +// +// FederatedServicesControllerConfig configures the federated services controller, which syncs Kubernetes +// services from remote clusters. +type FederatedServicesControllerConfigApplyConfiguration struct { + // ReconcilerPeriod is the period to perform reconciliation. [Default: 5m] + ReconcilerPeriod *v1.Duration `json:"reconcilerPeriod,omitempty"` +} + +// FederatedServicesControllerConfigApplyConfiguration constructs a declarative configuration of the FederatedServicesControllerConfig type for use with +// apply. +func FederatedServicesControllerConfig() *FederatedServicesControllerConfigApplyConfiguration { + return &FederatedServicesControllerConfigApplyConfiguration{} +} + +// WithReconcilerPeriod sets the ReconcilerPeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ReconcilerPeriod field is set to the value of the last call. +func (b *FederatedServicesControllerConfigApplyConfiguration) WithReconcilerPeriod(value v1.Duration) *FederatedServicesControllerConfigApplyConfiguration { + b.ReconcilerPeriod = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/felixconfiguration.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/felixconfiguration.go new file mode 100644 index 00000000..bf1f7eea --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/felixconfiguration.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// FelixConfigurationApplyConfiguration represents a declarative configuration of the FelixConfiguration type for use +// with apply. +type FelixConfigurationApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *FelixConfigurationSpecApplyConfiguration `json:"spec,omitempty"` +} + +// FelixConfiguration constructs a declarative configuration of the FelixConfiguration type for use with +// apply. +func FelixConfiguration(name string) *FelixConfigurationApplyConfiguration { + b := &FelixConfigurationApplyConfiguration{} + b.WithName(name) + b.WithKind("FelixConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractFelixConfigurationFrom extracts the applied configuration owned by fieldManager from +// felixConfiguration for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// felixConfiguration must be a unmodified FelixConfiguration API object that was retrieved from the Kubernetes API. +// ExtractFelixConfigurationFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractFelixConfigurationFrom(felixConfiguration *projectcalicov3.FelixConfiguration, fieldManager string, subresource string) (*FelixConfigurationApplyConfiguration, error) { + b := &FelixConfigurationApplyConfiguration{} + err := managedfields.ExtractInto(felixConfiguration, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.FelixConfiguration"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(felixConfiguration.Name) + + b.WithKind("FelixConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractFelixConfiguration extracts the applied configuration owned by fieldManager from +// felixConfiguration. If no managedFields are found in felixConfiguration for fieldManager, a +// FelixConfigurationApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// felixConfiguration must be a unmodified FelixConfiguration API object that was retrieved from the Kubernetes API. +// ExtractFelixConfiguration provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractFelixConfiguration(felixConfiguration *projectcalicov3.FelixConfiguration, fieldManager string) (*FelixConfigurationApplyConfiguration, error) { + return ExtractFelixConfigurationFrom(felixConfiguration, fieldManager, "") +} + +func (b FelixConfigurationApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithKind(value string) *FelixConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithAPIVersion(value string) *FelixConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithName(value string) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithGenerateName(value string) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithNamespace(value string) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithUID(value types.UID) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithResourceVersion(value string) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithGeneration(value int64) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithCreationTimestamp(value metav1.Time) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *FelixConfigurationApplyConfiguration) WithLabels(entries map[string]string) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *FelixConfigurationApplyConfiguration) WithAnnotations(entries map[string]string) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *FelixConfigurationApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *FelixConfigurationApplyConfiguration) WithFinalizers(values ...string) *FelixConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *FelixConfigurationApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *FelixConfigurationApplyConfiguration) WithSpec(value *FelixConfigurationSpecApplyConfiguration) *FelixConfigurationApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *FelixConfigurationApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *FelixConfigurationApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *FelixConfigurationApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *FelixConfigurationApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/felixconfigurationspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/felixconfigurationspec.go new file mode 100644 index 00000000..3a18739c --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/felixconfigurationspec.go @@ -0,0 +1,3565 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + numorstring "github.com/tigera/api/pkg/lib/numorstring" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// FelixConfigurationSpecApplyConfiguration represents a declarative configuration of the FelixConfigurationSpec type for use +// with apply. +// +// FelixConfigurationSpec contains the values of the Felix configuration. +type FelixConfigurationSpecApplyConfiguration struct { + // UseInternalDataplaneDriver, if true, Felix will use its internal dataplane programming logic. If false, it + // will launch an external dataplane driver and communicate with it over protobuf. + UseInternalDataplaneDriver *bool `json:"useInternalDataplaneDriver,omitempty"` + // DataplaneDriver filename of the external dataplane driver to use. Only used if UseInternalDataplaneDriver + // is set to false. + DataplaneDriver *string `json:"dataplaneDriver,omitempty"` + // DataplaneWatchdogTimeout is the readiness/liveness timeout used for Felix's (internal) dataplane driver. + // Deprecated: replaced by the generic HealthTimeoutOverrides. + DataplaneWatchdogTimeout *v1.Duration `json:"dataplaneWatchdogTimeout,omitempty"` + // IPv6Support controls whether Felix enables support for IPv6 (if supported by the in-use dataplane). + IPv6Support *bool `json:"ipv6Support,omitempty"` + // RouteRefreshInterval is the period at which Felix re-checks the routes + // in the dataplane to ensure that no other process has accidentally broken Calico's rules. + // Set to 0 to disable route refresh. [Default: 90s] + RouteRefreshInterval *v1.Duration `json:"routeRefreshInterval,omitempty"` + // InterfaceRefreshInterval is the period at which Felix rescans local interfaces to verify their state. + // The rescan can be disabled by setting the interval to 0. + InterfaceRefreshInterval *v1.Duration `json:"interfaceRefreshInterval,omitempty"` + // IptablesRefreshInterval is the period at which Felix re-checks the IP sets + // in the dataplane to ensure that no other process has accidentally broken Calico's rules. + // Set to 0 to disable IP sets refresh. Note: the default for this value is lower than the + // other refresh intervals as a workaround for a Linux kernel bug that was fixed in kernel + // version 4.11. If you are using v4.11 or greater you may want to set this to, a higher value + // to reduce Felix CPU usage. [Default: 10s] + IptablesRefreshInterval *v1.Duration `json:"iptablesRefreshInterval,omitempty"` + // IptablesPostWriteCheckInterval is the period after Felix has done a write + // to the dataplane that it schedules an extra read back in order to check the write was not + // clobbered by another process. This should only occur if another application on the system + // doesn't respect the iptables lock. [Default: 1s] + IptablesPostWriteCheckInterval *v1.Duration `json:"iptablesPostWriteCheckInterval,omitempty"` + // IptablesLockProbeInterval configures the interval between attempts to claim + // the xtables lock. Shorter intervals are more responsive but use more CPU. [Default: 50ms] + IptablesLockProbeInterval *v1.Duration `json:"iptablesLockProbeInterval,omitempty"` + // FeatureDetectOverride is used to override feature detection based on auto-detected platform + // capabilities. Values are specified in a comma separated list with no spaces, example; + // "SNATFullyRandom=true,MASQFullyRandom=false,RestoreSupportsLock=". A value of "true" or "false" will + // force enable/disable feature, empty or omitted values fall back to auto-detection. + FeatureDetectOverride *string `json:"featureDetectOverride,omitempty"` + // FeatureGates is used to enable or disable tech-preview Calico features. + // Values are specified in a comma separated list with no spaces, example; + // "BPFConnectTimeLoadBalancingWorkaround=enabled,XyZ=false". This is + // used to enable features that are not fully production ready. + FeatureGates *string `json:"featureGates,omitempty"` + // IpsetsRefreshInterval controls the period at which Felix re-checks all IP sets to look for discrepancies. + // Set to 0 to disable the periodic refresh. [Default: 90s] + IpsetsRefreshInterval *v1.Duration `json:"ipsetsRefreshInterval,omitempty"` + // MaxIpsetSize is the maximum number of IP addresses that can be stored in an IP set. Not applicable + // if using the nftables backend. + MaxIpsetSize *int `json:"maxIpsetSize,omitempty"` + // IptablesBackend controls which backend of iptables will be used. The default is `Auto`. + // + // Warning: changing this on a running system can leave "orphaned" rules in the "other" backend. These + // should be cleaned up to avoid confusing interactions. + IptablesBackend *projectcalicov3.IptablesBackend `json:"iptablesBackend,omitempty"` + // XDPRefreshInterval is the period at which Felix re-checks all XDP state to ensure that no + // other process has accidentally broken Calico's BPF maps or attached programs. Set to 0 to + // disable XDP refresh. [Default: 90s] + XDPRefreshInterval *v1.Duration `json:"xdpRefreshInterval,omitempty"` + // NetlinkTimeout is the timeout when talking to the kernel over the netlink protocol, used for programming + // routes, rules, and other kernel objects. [Default: 10s] + NetlinkTimeout *v1.Duration `json:"netlinkTimeout,omitempty"` + // MetadataAddr is the IP address or domain name of the server that can answer VM queries for + // cloud-init metadata. In OpenStack, this corresponds to the machine running nova-api (or in + // Ubuntu, nova-api-metadata). A value of none (case-insensitive) means that Felix should not + // set up any NAT rule for the metadata path. [Default: 127.0.0.1] + MetadataAddr *string `json:"metadataAddr,omitempty"` + // MetadataPort is the port of the metadata server. This, combined with global.MetadataAddr (if + // not 'None'), is used to set up a NAT rule, from 169.254.169.254:80 to MetadataAddr:MetadataPort. + // In most cases this should not need to be changed [Default: 8775]. + MetadataPort *int `json:"metadataPort,omitempty"` + // OpenstackRegion is the name of the region that a particular Felix belongs to. In a multi-region + // Calico/OpenStack deployment, this must be configured somehow for each Felix (here in the datamodel, + // or in felix.cfg or the environment on each compute node), and must match the [calico] + // openstack_region value configured in neutron.conf on each node. [Default: Empty] + OpenstackRegion *string `json:"openstackRegion,omitempty"` + // InterfacePrefix is the interface name prefix that identifies workload endpoints and so distinguishes + // them from host endpoint interfaces. Note: in environments other than bare metal, the orchestrators + // configure this appropriately. For example our Kubernetes and Docker integrations set the 'cali' value, + // and our OpenStack integration sets the 'tap' value. [Default: cali] + InterfacePrefix *string `json:"interfacePrefix,omitempty"` + // InterfaceExclude A comma-separated list of interface names that should be excluded when Felix is resolving + // host endpoints. The default value ensures that Felix ignores Kubernetes' internal `kube-ipvs0` device. If you + // want to exclude multiple interface names using a single value, the list supports regular expressions. For + // regular expressions you must wrap the value with `/`. For example having values `/^kube/,veth1` will exclude + // all interfaces that begin with `kube` and also the interface `veth1`. [Default: kube-ipvs0] + InterfaceExclude *string `json:"interfaceExclude,omitempty"` + // ChainInsertMode controls whether Felix hooks the kernel's top-level iptables chains by inserting a rule + // at the top of the chain or by appending a rule at the bottom. insert is the safe default since it prevents + // Calico's rules from being bypassed. If you switch to append mode, be sure that the other rules in the chains + // signal acceptance by falling through to the Calico rules, otherwise the Calico policy will be bypassed. + // [Default: insert] + ChainInsertMode *string `json:"chainInsertMode,omitempty"` + // DefaultEndpointToHostAction controls what happens to traffic that goes from a workload endpoint to the host + // itself (after the endpoint's egress policy is applied). By default, Calico blocks traffic from workload + // endpoints to the host itself with an iptables "DROP" action. If you want to allow some or all traffic from + // endpoint to host, set this parameter to RETURN or ACCEPT. Use RETURN if you have your own rules in the iptables + // "INPUT" chain; Calico will insert its rules at the top of that chain, then "RETURN" packets to the "INPUT" chain + // once it has completed processing workload endpoint egress policy. Use ACCEPT to unconditionally accept packets + // from workloads after processing workload endpoint egress policy. [Default: Drop] + DefaultEndpointToHostAction *string `json:"defaultEndpointToHostAction,omitempty"` + // IptablesFilterAllowAction controls what happens to traffic that is accepted by a Felix policy chain in the + // iptables filter table (which is used for "normal" policy). The default will immediately `Accept` the traffic. Use + // `Return` to send the traffic back up to the system chains for further processing. + IptablesFilterAllowAction *string `json:"iptablesFilterAllowAction,omitempty"` + // IptablesMangleAllowAction controls what happens to traffic that is accepted by a Felix policy chain in the + // iptables mangle table (which is used for "pre-DNAT" policy). The default will immediately `Accept` the traffic. + // Use `Return` to send the traffic back up to the system chains for further processing. + IptablesMangleAllowAction *string `json:"iptablesMangleAllowAction,omitempty"` + // IptablesFilterDenyAction controls what happens to traffic that is denied by network policy. By default Calico blocks traffic + // with an iptables "DROP" action. If you want to use "REJECT" action instead you can configure it in here. + IptablesFilterDenyAction *string `json:"iptablesFilterDenyAction,omitempty"` + // LogPrefix is the log prefix that Felix uses when rendering LOG rules. It is possible to use the following specifiers + // to include extra information in the log prefix. + // - %t: Tier name. + // - %k: Kind (short names). + // - %n: Policy or profile name. + // - %p: Policy or profile name (namespace/name for namespaced kinds or just name for non namespaced kinds). + // Calico includes ": " characters at the end of the generated log prefix. + // Note that iptables shows up to 29 characters for the log prefix and nftables up to 127 characters. Extra characters are truncated. + // [Default: calico-packet] + LogPrefix *string `json:"logPrefix,omitempty"` + // LogDropActionOverride specifies whether or not to include the DropActionOverride in the logs when it is triggered. + LogDropActionOverride *bool `json:"logDropActionOverride,omitempty"` + // LogActionRateLimit sets the rate of hitting a Log action. The value must be in the format "N/unit", + // where N is a number and unit is one of: second, minute, hour, or day. For example: "10/second" or "100/hour". + LogActionRateLimit *string `json:"logActionRateLimit,omitempty"` + // LogActionRateLimitBurst sets the rate limit burst of hitting a Log action when LogActionRateLimit is enabled. + LogActionRateLimitBurst *int `json:"logActionRateLimitBurst,omitempty"` + // LogFilePath is the full path to the Felix log. Set to none to disable file logging. [Default: /var/log/calico/felix.log] + LogFilePath *string `json:"logFilePath,omitempty"` + // LogSeverityFile is the log severity above which logs are sent to the log file. [Default: Info] + LogSeverityFile *string `json:"logSeverityFile,omitempty"` + // LogSeverityScreen is the log severity above which logs are sent to the stdout. [Default: Info] + LogSeverityScreen *string `json:"logSeverityScreen,omitempty"` + // LogSeveritySys is the log severity above which logs are sent to the syslog. Set to None for no logging to syslog. + // [Default: Info] + LogSeveritySys *string `json:"logSeveritySys,omitempty"` + // LogDebugFilenameRegex controls which source code files have their Debug log output included in the logs. + // Only logs from files with names that match the given regular expression are included. The filter only applies + // to Debug level logs. + LogDebugFilenameRegex *string `json:"logDebugFilenameRegex,omitempty"` + // IPIPEnabled overrides whether Felix should configure an IPIP interface on the host. Optional as Felix + // determines this based on the existing IP pools. [Default: nil (unset)] + IPIPEnabled *bool `json:"ipipEnabled,omitempty"` + // IPIPMTU controls the MTU to set on the IPIP tunnel device. Optional as Felix auto-detects the MTU based on the + // MTU of the host's interfaces. [Default: 0 (auto-detect)] + IPIPMTU *int `json:"ipipMTU,omitempty"` + // VXLANEnabled overrides whether Felix should create the VXLAN tunnel device for IPv4 VXLAN networking. + // Optional as Felix determines this based on the existing IP pools. [Default: nil (unset)] + VXLANEnabled *bool `json:"vxlanEnabled,omitempty"` + // VXLANMTU is the MTU to set on the IPv4 VXLAN tunnel device. Optional as Felix auto-detects the MTU based on the + // MTU of the host's interfaces. [Default: 0 (auto-detect)] + VXLANMTU *int `json:"vxlanMTU,omitempty"` + // VXLANMTUV6 is the MTU to set on the IPv6 VXLAN tunnel device. Optional as Felix auto-detects the MTU based on the + // MTU of the host's interfaces. [Default: 0 (auto-detect)] + VXLANMTUV6 *int `json:"vxlanMTUV6,omitempty"` + // VXLANPort is the UDP port number to use for VXLAN traffic. [Default: 4789] + VXLANPort *int `json:"vxlanPort,omitempty"` + // VXLANVNI is the VXLAN VNI to use for VXLAN traffic. You may need to change this if the default value is + // in use on your system. [Default: 4096] + VXLANVNI *int `json:"vxlanVNI,omitempty"` + // AllowVXLANPacketsFromWorkloads controls whether Felix will add a rule to drop VXLAN encapsulated traffic + // from workloads. [Default: false] + AllowVXLANPacketsFromWorkloads *bool `json:"allowVXLANPacketsFromWorkloads,omitempty"` + // AllowIPIPPacketsFromWorkloads controls whether Felix will add a rule to drop IPIP encapsulated traffic + // from workloads. [Default: false] + AllowIPIPPacketsFromWorkloads *bool `json:"allowIPIPPacketsFromWorkloads,omitempty"` + // ReportingInterval is the interval at which Felix reports its status into the datastore or 0 to disable. + // Must be non-zero in OpenStack deployments. [Default: 30s] + ReportingInterval *v1.Duration `json:"reportingInterval,omitempty"` + // ReportingTTL is the time-to-live setting for process-wide status reports. [Default: 90s] + ReportingTTL *v1.Duration `json:"reportingTTL,omitempty"` + // EndpointReportingEnabled controls whether Felix reports endpoint status to the datastore. This is only used + // by the OpenStack integration. [Default: false] + EndpointReportingEnabled *bool `json:"endpointReportingEnabled,omitempty"` + // EndpointReportingDelay is the delay before Felix reports endpoint status to the datastore. This is only used + // by the OpenStack integration. [Default: 1s] + EndpointReportingDelay *v1.Duration `json:"endpointReportingDelay,omitempty"` + // EndpointStatusPathPrefix is the path to the directory where endpoint status will be written. Endpoint status + // file reporting is disabled if field is left empty. + // + // Chosen directory should match the directory used by the CNI plugin for PodStartupDelay. + // [Default: /var/run/calico] + EndpointStatusPathPrefix *string `json:"endpointStatusPathPrefix,omitempty"` + // IptablesMarkMask is the mask that Felix selects its IPTables Mark bits from. Should be a 32 bit hexadecimal + // number with at least 8 bits set, none of which clash with any other mark bits in use on the system. + // [Default: 0xffff0000] + IptablesMarkMask *uint32 `json:"iptablesMarkMask,omitempty"` + // DisableConntrackInvalidCheck disables the check for invalid connections in conntrack. While the conntrack + // invalid check helps to detect malicious traffic, it can also cause issues with certain multi-NIC scenarios. + DisableConntrackInvalidCheck *bool `json:"disableConntrackInvalidCheck,omitempty"` + // HealthEnabled if set to true, enables Felix's health port, which provides readiness and liveness endpoints. + // [Default: false] + HealthEnabled *bool `json:"healthEnabled,omitempty"` + // HealthHost is the host that the health server should bind to. [Default: localhost] + HealthHost *string `json:"healthHost,omitempty"` + // HealthPort is the TCP port that the health server should bind to. [Default: 9099] + HealthPort *int `json:"healthPort,omitempty"` + // HealthTimeoutOverrides allows the internal watchdog timeouts of individual subcomponents to be + // overridden. This is useful for working around "false positive" liveness timeouts that can occur + // in particularly stressful workloads or if CPU is constrained. For a list of active + // subcomponents, see Felix's logs. + HealthTimeoutOverrides []HealthTimeoutOverrideApplyConfiguration `json:"healthTimeoutOverrides,omitempty"` + // PrometheusMetricsEnabled enables the Prometheus metrics server in Felix if set to true. [Default: false] + PrometheusMetricsEnabled *bool `json:"prometheusMetricsEnabled,omitempty"` + // PrometheusGoMetricsEnabled disables Go runtime metrics collection, which the Prometheus client does by default, when + // set to false. This reduces the number of metrics reported, reducing Prometheus load. [Default: true] + PrometheusGoMetricsEnabled *bool `json:"prometheusGoMetricsEnabled,omitempty"` + // PrometheusProcessMetricsEnabled disables process metrics collection, which the Prometheus client does by default, when + // set to false. This reduces the number of metrics reported, reducing Prometheus load. [Default: true] + PrometheusProcessMetricsEnabled *bool `json:"prometheusProcessMetricsEnabled,omitempty"` + // PrometheusWireGuardMetricsEnabled disables wireguard metrics collection, which the Prometheus client does by default, when + // set to false. This reduces the number of metrics reported, reducing Prometheus load. [Default: true] + PrometheusWireGuardMetricsEnabled *bool `json:"prometheusWireGuardMetricsEnabled,omitempty"` + // PrometheusMetricsHost is the host that the Prometheus metrics server should bind to. [Default: empty] + PrometheusMetricsHost *string `json:"prometheusMetricsHost,omitempty"` + // PrometheusMetricsPort is the TCP port that the Prometheus metrics server should bind to. [Default: 9091] + PrometheusMetricsPort *int `json:"prometheusMetricsPort,omitempty"` + // PrometheusMetricsCAFile defines the absolute path to the TLS CA certificate file used for securing the /metrics endpoint. + // This certificate must be valid and accessible by the calico-node process. + PrometheusMetricsCAFile *string `json:"prometheusMetricsCAFile,omitempty"` + // PrometheusMetricsCertFile defines the absolute path to the TLS certificate file used for securing the /metrics endpoint. + // This certificate must be valid and accessible by the calico-node process. + PrometheusMetricsCertFile *string `json:"prometheusMetricsCertFile,omitempty"` + // PrometheusMetricsKeyFile defines the absolute path to the private key file corresponding to the TLS certificate + // used for securing the /metrics endpoint. The private key must be valid and accessible by the calico-node process. + PrometheusMetricsKeyFile *string `json:"prometheusMetricsKeyFile,omitempty"` + // PrometheusMetricsClientAuth specifies the client authentication type for the /metrics endpoint. + // This determines how the server validates client certificates. Default is "RequireAndVerifyClientCert". + PrometheusMetricsClientAuth *projectcalicov3.PrometheusMetricsClientAuthType `json:"prometheusMetricsClientAuth,omitempty"` + // FailsafeInboundHostPorts is a list of ProtoPort struct objects including UDP/TCP/SCTP ports and CIDRs that Felix will + // allow incoming traffic to host endpoints on irrespective of the security policy. This is useful to avoid accidentally + // cutting off a host with incorrect configuration. For backwards compatibility, if the protocol is not specified, + // it defaults to "tcp". If a CIDR is not specified, it will allow traffic from all addresses. To disable all inbound host ports, + // use the value "[]". The default value allows ssh access, DHCP, BGP, etcd and the Kubernetes API. + // [Default: tcp:22, udp:68, tcp:179, tcp:2379, tcp:2380, tcp:5473, tcp:6443, tcp:6666, tcp:6667 ] + FailsafeInboundHostPorts *[]ProtoPortApplyConfiguration `json:"failsafeInboundHostPorts,omitempty"` + // FailsafeOutboundHostPorts is a list of PortProto struct objects including UDP/TCP/SCTP ports and CIDRs that Felix + // will allow outgoing traffic from host endpoints to irrespective of the security policy. This is useful to avoid accidentally + // cutting off a host with incorrect configuration. For backwards compatibility, if the protocol is not specified, it defaults + // to "tcp". If a CIDR is not specified, it will allow traffic from all addresses. To disable all outbound host ports, + // use the value "[]". The default value opens etcd's standard ports to ensure that Felix does not get cut off from etcd + // as well as allowing DHCP, DNS, BGP and the Kubernetes API. + // [Default: udp:53, udp:67, tcp:179, tcp:2379, tcp:2380, tcp:5473, tcp:6443, tcp:6666, tcp:6667 ] + FailsafeOutboundHostPorts *[]ProtoPortApplyConfiguration `json:"failsafeOutboundHostPorts,omitempty"` + // KubeMasqueradeBit should be set to the same value as --iptables-masquerade-bit of kube-proxy + // when TPROXY is used. The default is the same as kube-proxy default thus only needs a change + // if kube-proxy is using a non-standard setting. Must be within the range of 0-31. [Default: 14] + KubeMasqueradeBit *int `json:"kubeMasqueradeBit,omitempty"` + // KubeNodePortRanges holds list of port ranges used for service node ports. Only used if felix detects kube-proxy running in ipvs mode. + // Felix uses these ranges to separate host and workload traffic. [Default: 30000:32767]. + KubeNodePortRanges *[]numorstring.Port `json:"kubeNodePortRanges,omitempty"` + // PolicySyncPathPrefix is used to by Felix to communicate policy changes to external services, + // like Application layer policy. [Default: Empty] + PolicySyncPathPrefix *string `json:"policySyncPathPrefix,omitempty"` + // UsageReportingEnabled is unused in Calico Enterprise, usage reporting is permanently disabled. + UsageReportingEnabled *bool `json:"usageReportingEnabled,omitempty"` + // UsageReportingInitialDelay is unused in Calico Enterprise, usage reporting is permanently disabled. [Default: 300s] + UsageReportingInitialDelay *v1.Duration `json:"usageReportingInitialDelay,omitempty"` + // UsageReportingInterval is unused in Calico Enterprise, usage reporting is permanently disabled. [Default: 86400s] + UsageReportingInterval *v1.Duration `json:"usageReportingInterval,omitempty"` + // NATPortRange specifies the range of ports that is used for port mapping when doing outgoing NAT. When unset the default behavior of the + // network stack is used. + NATPortRange *numorstring.Port `json:"natPortRange,omitempty"` + // NATOutgoingAddress specifies an address to use when performing source NAT for traffic in a natOutgoing pool that + // is leaving the network. By default the address used is an address on the interface the traffic is leaving on + // (i.e. it uses the iptables MASQUERADE target). + NATOutgoingAddress *string `json:"natOutgoingAddress,omitempty"` + // When a IP pool setting `natOutgoing` is true, packets sent from Calico networked containers in this IP pool to destinations will be masqueraded. + // Configure which type of destinations is excluded from being masqueraded. + // - IPPoolsOnly: destinations outside of this IP pool will be masqueraded. + // - IPPoolsAndHostIPs: destinations outside of this IP pool and all hosts will be masqueraded. + // [Default: IPPoolsOnly] + NATOutgoingExclusions *projectcalicov3.NATOutgoingExclusionsType `json:"natOutgoingExclusions,omitempty"` + // DeviceRouteSourceAddress IPv4 address to set as the source hint for routes programmed by Felix. When not set + // the source address for local traffic from host to workload will be determined by the kernel. + DeviceRouteSourceAddress *string `json:"deviceRouteSourceAddress,omitempty"` + // DeviceRouteSourceAddressIPv6 IPv6 address to set as the source hint for routes programmed by Felix. When not set + // the source address for local traffic from host to workload will be determined by the kernel. + DeviceRouteSourceAddressIPv6 *string `json:"deviceRouteSourceAddressIPv6,omitempty"` + // DeviceRouteProtocol controls the protocol to set on routes programmed by Felix. The protocol is an 8-bit label + // used to identify the owner of the route. + DeviceRouteProtocol *int `json:"deviceRouteProtocol,omitempty"` + // RemoveExternalRoutes Controls whether Felix will remove unexpected routes to workload interfaces. Felix will + // always clean up expected routes that use the configured DeviceRouteProtocol. To add your own routes, you must + // use a distinct protocol (in addition to setting this field to false). + RemoveExternalRoutes *bool `json:"removeExternalRoutes,omitempty"` + // ProgramClusterRoutes controls how a cluster node gets a route to a workload on another node, + // when that workload's IP comes from an IP Pool with vxlanMode: Never. When ProgramClusterRoutes is Disabled, + // it is expected that confd and BIRD will program that route. When ProgramClusterRoutes is Enabled, Felix program that route. + // Felix always programs such routes for IP Pools with vxlanMode: Always or vxlanMode: CrossSubnet. [Default: Disabled] + ProgramClusterRoutes *string `json:"programClusterRoutes,omitempty"` + // IPForwarding controls whether Felix sets the host sysctls to enable IP forwarding. IP forwarding is required + // when using Calico for workload networking. This should be disabled only on hosts where Calico is used solely for + // host protection. In BPF mode, due to a kernel interaction, either IPForwarding must be enabled or BPFEnforceRPF + // must be disabled. [Default: Enabled] + IPForwarding *string `json:"ipForwarding,omitempty"` + // ExternalNodesCIDRList is a list of CIDR's of external, non-Calico nodes from which VXLAN/IPIP overlay traffic + // will be allowed. By default, external tunneled traffic is blocked to reduce attack surface. + ExternalNodesCIDRList *[]string `json:"externalNodesList,omitempty"` + // NfNetlinkBufSize controls the size of NFLOG messages that the kernel will try to send to Felix. NFLOG messages + // are used to report flow verdicts from the kernel. Warning: currently increasing the value may cause errors + // due to a bug in the netlink library. + NfNetlinkBufSize *string `json:"nfNetlinkBufSize,omitempty"` + // StatsDumpFilePath is the path to write a diagnostic flow logs statistics dump to when triggered by signal. + StatsDumpFilePath *string `json:"statsDumpFilePath,omitempty"` + // PrometheusReporterEnabled controls whether the Prometheus per-flow metrics reporter is enabled. This is + // used to show real-time flow metrics in the UI. + PrometheusReporterEnabled *bool `json:"prometheusReporterEnabled,omitempty"` + // PrometheusReporterPort is the port that the Prometheus per-flow metrics reporter should bind to. + PrometheusReporterPort *int `json:"prometheusReporterPort,omitempty"` + // PrometheusReporterCertFile is the path to the TLS certificate file for the Prometheus per-flow metrics reporter. + PrometheusReporterCertFile *string `json:"prometheusReporterCertFile,omitempty"` + // PrometheusReporterKeyFile is the path to the TLS private key file for the Prometheus per-flow metrics reporter. + PrometheusReporterKeyFile *string `json:"prometheusReporterKeyFile,omitempty"` + // PrometheusReporterCAFile is the path to the TLS CA file for the Prometheus per-flow metrics reporter. + PrometheusReporterCAFile *string `json:"prometheusReporterCAFile,omitempty"` + // DeletedMetricsRetentionSecs controls how long metrics are retianed after the flow is gone. + DeletedMetricsRetentionSecs *int `json:"deletedMetricsRetentionSecs,omitempty"` + // DropActionOverride overrides the Drop action in Felix, optionally changing the behavior to Accept, and optionally adding Log. + // Possible values are Drop, LogAndDrop, Accept, LogAndAccept. [Default: Drop] + DropActionOverride *string `json:"dropActionOverride,omitempty"` + // DebugMemoryProfilePath is the path to write the memory profile to when triggered by signal. + DebugMemoryProfilePath *string `json:"debugMemoryProfilePath,omitempty"` + // DebugDisableLogDropping disables the dropping of log messages when the log buffer is full. This can + // significantly impact performance if log write-out is a bottleneck. [Default: false] + DebugDisableLogDropping *bool `json:"debugDisableLogDropping,omitempty"` + // DebugSimulateCalcGraphHangAfter is used to simulate a hang in the calculation graph after the specified duration. + // This is useful in tests of the watchdog system only! + DebugSimulateCalcGraphHangAfter *v1.Duration `json:"debugSimulateCalcGraphHangAfter,omitempty"` + // DebugSimulateDataplaneHangAfter is used to simulate a hang in the dataplane after the specified duration. + // This is useful in tests of the watchdog system only! + DebugSimulateDataplaneHangAfter *v1.Duration `json:"debugSimulateDataplaneHangAfter,omitempty"` + // DebugSimulateDataplaneApplyDelay adds an artificial delay to every dataplane operation. This is useful for + // simulating a heavily loaded system for test purposes only. + DebugSimulateDataplaneApplyDelay *v1.Duration `json:"debugSimulateDataplaneApplyDelay,omitempty"` + // DebugHost is the host IP or hostname to bind the debug port to. Only used + // if DebugPort is set. [Default:localhost] + DebugHost *string `json:"debugHost,omitempty"` + // DebugPort if set, enables Felix's debug HTTP port, which allows memory and CPU profiles + // to be retrieved. The debug port is not secure, it should not be exposed to the internet. + DebugPort *int `json:"debugPort,omitempty"` + // This parameter can be used to limit the host interfaces on which Calico will apply SNAT to traffic leaving a + // Calico IPAM pool with "NAT outgoing" enabled. This can be useful if you have a main data interface, where + // traffic should be SNATted and a secondary device (such as the docker bridge) which is local to the host and + // doesn't require SNAT. This parameter uses the iptables interface matching syntax, which allows + as a + // wildcard. Most users will not need to set this. Example: if your data interfaces are eth0 and eth1 and you + // want to exclude the docker bridge, you could set this to eth+ + IptablesNATOutgoingInterfaceFilter *string `json:"iptablesNATOutgoingInterfaceFilter,omitempty"` + // SidecarAccelerationEnabled enables experimental sidecar acceleration [Default: false] + SidecarAccelerationEnabled *bool `json:"sidecarAccelerationEnabled,omitempty"` + // XDPEnabled enables XDP acceleration for suitable untracked incoming deny rules. [Default: true] + XDPEnabled *bool `json:"xdpEnabled,omitempty"` + // GenericXDPEnabled enables Generic XDP so network cards that don't support XDP offload or driver + // modes can use XDP. This is not recommended since it doesn't provide better performance than + // iptables. [Default: false] + GenericXDPEnabled *bool `json:"genericXDPEnabled,omitempty"` + // NFTablesMode configures nftables support in Felix. [Default: Auto] + NFTablesMode *projectcalicov3.NFTablesMode `json:"nftablesMode,omitempty"` + // NftablesRefreshInterval controls the interval at which Felix periodically refreshes the nftables rules. [Default: 90s] + NftablesRefreshInterval *v1.Duration `json:"nftablesRefreshInterval,omitempty"` + // NftablesFilterAllowAction controls the nftables action that Felix uses to represent the "allow" policy verdict + // in the filter table. The default is to `ACCEPT` the traffic, which is a terminal action. Alternatively, + // `RETURN` can be used to return the traffic back to the top-level chain for further processing by your rules. + NftablesFilterAllowAction *string `json:"nftablesFilterAllowAction,omitempty"` + // NftablesMangleAllowAction controls the nftables action that Felix uses to represent the "allow" policy verdict + // in the mangle table. The default is to `ACCEPT` the traffic, which is a terminal action. Alternatively, + // `RETURN` can be used to return the traffic back to the top-level chain for further processing by your rules. + NftablesMangleAllowAction *string `json:"nftablesMangleAllowAction,omitempty"` + // NftablesFilterDenyAction controls what happens to traffic that is denied by network policy. By default, Calico + // blocks traffic with a "drop" action. If you want to use a "reject" action instead you can configure it here. + NftablesFilterDenyAction *string `json:"nftablesFilterDenyAction,omitempty"` + // NftablesMarkMask is the mask that Felix selects its nftables Mark bits from. Should be a 32 bit hexadecimal + // number with at least 8 bits set, none of which clash with any other mark bits in use on the system. + // [Default: 0xffff0000] + NftablesMarkMask *uint32 `json:"nftablesMarkMask,omitempty"` + // BPFEnabled, if enabled Felix will use the BPF dataplane. [Default: false] + BPFEnabled *bool `json:"bpfEnabled,omitempty"` + // BPFDisableUnprivileged, if enabled, Felix sets the kernel.unprivileged_bpf_disabled sysctl to disable + // unprivileged use of BPF. This ensures that unprivileged users cannot access Calico's BPF maps and + // cannot insert their own BPF programs to interfere with Calico's. [Default: true] + BPFDisableUnprivileged *bool `json:"bpfDisableUnprivileged,omitempty"` + // BPFJITHardening controls BPF JIT hardening. When set to "Auto", Felix will set JIT hardening to 1 + // if it detects the current value is 2 (strict mode that hurts performance). When set to "Strict", + // Felix will not modify the JIT hardening setting. [Default: Auto] + BPFJITHardening *projectcalicov3.BPFJITHardeningType `json:"bpfJITHardening,omitempty"` + // BPFLogLevel controls the log level of the BPF programs when in BPF dataplane mode. One of "Off", "Info", or + // "Debug". The logs are emitted to the BPF trace pipe, accessible with the command `tc exec bpf debug`. + // [Default: Off]. + BPFLogLevel *string `json:"bpfLogLevel,omitempty"` + // BPFConntrackLogLevel controls the log level of the BPF conntrack cleanup program, which runs periodically + // to clean up expired BPF conntrack entries. + // [Default: Off]. + BPFConntrackLogLevel *string `json:"bpfConntrackLogLevel,omitempty"` + // BPFConntrackCleanupMode controls how BPF conntrack entries are cleaned up. `Auto` will use a BPF program if supported, + // falling back to userspace if not. `Userspace` will always use the userspace cleanup code. `BPFProgram` will + // always use the BPF program (failing if not supported). + // + // /To be deprecated in future versions as conntrack map type changed to + // lru_hash and userspace cleanup is the only mode that is supported. + // [Default: Userspace] + BPFConntrackCleanupMode *projectcalicov3.BPFConntrackMode `json:"bpfConntrackMode,omitempty"` + // BPFConntrackTimers overrides the default values for the specified conntrack timer if + // set. Each value can be either a duration or `Auto` to pick the value from + // a Linux conntrack timeout. + // + // Configurable timers are: CreationGracePeriod, TCPSynSent, + // TCPEstablished, TCPFinsSeen, TCPResetSeen, UDPTimeout, GenericTimeout, + // ICMPTimeout. + // + // Unset values are replaced by the default values with a warning log for + // incorrect values. + BPFConntrackTimeouts *BPFConntrackTimeoutsApplyConfiguration `json:"bpfConntrackTimeouts,omitempty"` + // BPFLogFilters is a map of key=values where the value is + // a pcap filter expression and the key is an interface name with 'all' + // denoting all interfaces, 'weps' all workload endpoints and 'heps' all host + // endpoints. + // + // When specified as an env var, it accepts a comma-separated list of + // key=values. + // [Default: unset - means all debug logs are emitted] + BPFLogFilters *map[string]string `json:"bpfLogFilters,omitempty"` + // BPFCTLBLogFilter specifies, what is logged by connect time load balancer when BPFLogLevel is + // debug. Currently has to be specified as 'all' when BPFLogFilters is set + // to see CTLB logs. + // [Default: unset - means logs are emitted when BPFLogLevel id debug and BPFLogFilters not set.] + BPFCTLBLogFilter *string `json:"bpfCTLBLogFilter,omitempty"` + // BPFDataIfacePattern is a regular expression that controls which interfaces Felix should attach BPF programs to + // in order to catch traffic to/from the network. This needs to match the interfaces that Calico workload traffic + // flows over as well as any interfaces that handle incoming traffic to nodeports and services from outside the + // cluster. It should not match the workload interfaces (usually named cali...) or any other special device managed + // by Calico itself (e.g., tunnels). + BPFDataIfacePattern *string `json:"bpfDataIfacePattern,omitempty"` + // BPFL3IfacePattern is a regular expression that allows to list tunnel devices like wireguard or vxlan (i.e., L3 devices) + // in addition to BPFDataIfacePattern. That is, tunnel interfaces not created by Calico, that Calico workload traffic flows + // over as well as any interfaces that handle incoming traffic to nodeports and services from outside the cluster. + BPFL3IfacePattern *string `json:"bpfL3IfacePattern,omitempty"` + // BPFConnectTimeLoadBalancingEnabled when in BPF mode, controls whether Felix installs the connection-time load + // balancer. The connect-time load balancer is required for the host to be able to reach Kubernetes services + // and it improves the performance of pod-to-service connections. The only reason to disable it is for debugging + // purposes. + // + // Deprecated: Use BPFConnectTimeLoadBalancing [Default: true] + BPFConnectTimeLoadBalancingEnabled *bool `json:"bpfConnectTimeLoadBalancingEnabled,omitempty"` + // BPFConnectTimeLoadBalancing when in BPF mode, controls whether Felix installs the connect-time load + // balancer. The connect-time load balancer is required for the host to be able to reach Kubernetes services + // and it improves the performance of pod-to-service connections.When set to TCP, connect time load balancing + // is available only for services with TCP ports. [Default: TCP] + BPFConnectTimeLoadBalancing *projectcalicov3.BPFConnectTimeLBType `json:"bpfConnectTimeLoadBalancing,omitempty"` + // BPFHostNetworkedNATWithoutCTLB when in BPF mode, controls whether Felix does a NAT without CTLB. This along with BPFConnectTimeLoadBalancing + // determines the CTLB behavior. [Default: Enabled] + BPFHostNetworkedNATWithoutCTLB *projectcalicov3.BPFHostNetworkedNATType `json:"bpfHostNetworkedNATWithoutCTLB,omitempty"` + // BPFExternalServiceMode in BPF mode, controls how connections from outside the cluster to services (node ports + // and cluster IPs) are forwarded to remote workloads. If set to "Tunnel" then both request and response traffic + // is tunneled to the remote node. If set to "DSR", the request traffic is tunneled but the response traffic + // is sent directly from the remote node. In "DSR" mode, the remote node appears to use the IP of the ingress + // node; this requires a permissive L2 network. [Default: Tunnel] + BPFExternalServiceMode *string `json:"bpfExternalServiceMode,omitempty"` + // BPFDSROptoutCIDRs is a list of CIDRs which are excluded from DSR. That is, clients + // in those CIDRs will access service node ports as if BPFExternalServiceMode was set to + // Tunnel. + BPFDSROptoutCIDRs *[]string `json:"bpfDSROptoutCIDRs,omitempty"` + // BPFExtToServiceConnmark in BPF mode, controls a 32bit mark that is set on connections from an + // external client to a local service. This mark allows us to control how packets of that + // connection are routed within the host and how is routing interpreted by RPF check. [Default: 0] + BPFExtToServiceConnmark *int `json:"bpfExtToServiceConnmark,omitempty"` + // BPFKubeProxyIptablesCleanupEnabled, if enabled in BPF mode, Felix will proactively clean up the upstream + // Kubernetes kube-proxy's iptables chains. Should only be enabled if kube-proxy is not running. [Default: true] + BPFKubeProxyIptablesCleanupEnabled *bool `json:"bpfKubeProxyIptablesCleanupEnabled,omitempty"` + // BPFKubeProxyMinSyncPeriod, in BPF mode, controls the minimum time between updates to the dataplane for Felix's + // embedded kube-proxy. Lower values give reduced set-up latency. Higher values reduce Felix CPU usage by + // batching up more work. [Default: 1s] + BPFKubeProxyMinSyncPeriod *v1.Duration `json:"bpfKubeProxyMinSyncPeriod,omitempty"` + // BPFKubeProxyHealthzPort, in BPF mode, controls the port that Felix's embedded kube-proxy health check server binds to. + // The health check server is used by external load balancers to determine if this node should receive traffic. + // Set to 0 to disable the health check server. [Default: 10256] + BPFKubeProxyHealthzPort *int `json:"bpfKubeProxyHealthzPort,omitempty"` + // BPFPSNATPorts sets the range from which we randomly pick a port if there is a source port + // collision. This should be within the ephemeral range as defined by RFC 6056 (1024–65535) and + // preferably outside the ephemeral ranges used by common operating systems. Linux uses + // 32768–60999, while others mostly use the IANA defined range 49152–65535. It is not necessarily + // a problem if this range overlaps with the operating systems. Both ends of the range are + // inclusive. [Default: 20000:29999] + BPFPSNATPorts *numorstring.Port `json:"bpfPSNATPorts,omitempty"` + // BPFMapSizeNATFrontend sets the size for NAT front end map. + // FrontendMap should be large enough to hold an entry for each nodeport, + // external IP and each port in each service. + BPFMapSizeNATFrontend *int `json:"bpfMapSizeNATFrontend,omitempty"` + // BPFMapSizeNATBackend sets the size for NAT back end map. + // This is the total number of endpoints. This is mostly + // more than the size of the number of services. + BPFMapSizeNATBackend *int `json:"bpfMapSizeNATBackend,omitempty"` + // BPFMapSizeNATAffinity sets the size of the BPF map that stores the affinity of a connection (for services that + // enable that feature. + BPFMapSizeNATAffinity *int `json:"bpfMapSizeNATAffinity,omitempty"` + // BPFMapSizeRoute sets the size for the routes map. The routes map should be large enough + // to hold one entry per workload and a handful of entries per host (enough to cover its own IPs and + // tunnel IPs). + BPFMapSizeRoute *int `json:"bpfMapSizeRoute,omitempty"` + // BPFMapSizeConntrack sets the size for the conntrack map. This map must be large enough to hold + // an entry for each active connection. Warning: changing the size of the conntrack map can cause disruption. + BPFMapSizeConntrack *int `json:"bpfMapSizeConntrack,omitempty"` + // BPFMapSizePerCPUConntrack determines the size of conntrack map based on the number of CPUs. If set to a + // non-zero value, overrides BPFMapSizeConntrack with `BPFMapSizePerCPUConntrack * (Number of CPUs)`. + // This map must be large enough to hold an entry for each active connection. Warning: changing the size of the + // conntrack map can cause disruption. + BPFMapSizePerCPUConntrack *int `json:"bpfMapSizePerCpuConntrack,omitempty"` + // BPFMapSizeConntrackScaling controls whether and how we scale the conntrack map size depending + // on its usage. 'Disabled' make the size stay at the default or whatever is set by + // BPFMapSizeConntrack*. 'DoubleIfFull' doubles the size when the map is pretty much full even + // after cleanups. [Default: DoubleIfFull] + BPFMapSizeConntrackScaling *string `json:"bpfMapSizeConntrackScaling,omitempty"` + // BPFMapSizeConntrackCleanupQueue sets the size for the map used to hold NAT conntrack entries that are queued + // for cleanup. This should be big enough to hold all the NAT entries that expire within one cleanup interval. + BPFMapSizeConntrackCleanupQueue *int `json:"bpfMapSizeConntrackCleanupQueue,omitempty"` + // BPFMapSizeIPSets sets the size for ipsets map. The IP sets map must be large enough to hold an entry + // for each endpoint matched by every selector in the source/destination matches in network policy. Selectors + // such as "all()" can result in large numbers of entries (one entry per endpoint in that case). + BPFMapSizeIPSets *int `json:"bpfMapSizeIPSets,omitempty"` + // BPFMapSizeIfState sets the size for ifstate map. The ifstate map must be large enough to hold an entry + // for each device (host + workloads) on a host. + BPFMapSizeIfState *int `json:"bpfMapSizeIfState,omitempty"` + // BPFHostConntrackBypass Controls whether to bypass Linux conntrack in BPF mode for + // workloads and services. [Default: true - bypass Linux conntrack] + BPFHostConntrackBypass *bool `json:"bpfHostConntrackBypass,omitempty"` + // BPFEnforceRPF enforce strict RPF on all host interfaces with BPF programs regardless of + // what is the per-interfaces or global setting. Possible values are Disabled, Strict + // or Loose. [Default: Loose] + BPFEnforceRPF *string `json:"bpfEnforceRPF,omitempty"` + // BPFPolicyDebugEnabled when true, Felix records detailed information + // about the BPF policy programs, which can be examined with the calico-bpf command-line tool. + BPFPolicyDebugEnabled *bool `json:"bpfPolicyDebugEnabled,omitempty"` + // BPFForceTrackPacketsFromIfaces in BPF mode, forces traffic from these interfaces + // to skip Calico's iptables NOTRACK rule, allowing traffic from those interfaces to be + // tracked by Linux conntrack. Should only be used for interfaces that are not used for + // the Calico fabric. For example, a docker bridge device for non-Calico-networked + // containers. [Default: docker+] + BPFForceTrackPacketsFromIfaces *[]string `json:"bpfForceTrackPacketsFromIfaces,omitempty"` + // BPFDisableGROForIfaces is a regular expression that controls which interfaces Felix should disable the + // Generic Receive Offload [GRO] option. It should not match the workload interfaces (usually named cali...). + BPFDisableGROForIfaces *string `json:"bpfDisableGROForIfaces,omitempty"` + // BPFExcludeCIDRsFromNAT is a list of CIDRs that are to be excluded from NAT + // resolution so that host can handle them. A typical usecase is node local + // DNS cache. + BPFExcludeCIDRsFromNAT *[]string `json:"bpfExcludeCIDRsFromNAT,omitempty"` + // BPFExportBufferSizeMB in BPF mode, controls the buffer size used for sending BPF events to felix. + // [Default: 1] + BPFExportBufferSizeMB *int `json:"bpfExportBufferSizeMB,omitempty"` + // IstioAmbientMode configures Felix to work together with Tigera's Istio distribution. + // [Default: Disabled] + IstioAmbientMode *projectcalicov3.IstioAmbientMode `json:"istioAmbientMode,omitempty"` + // IstioDSCPMark sets the value to use when directing traffic to Istio ZTunnel, when Istio is enabled. The mark is set only on + // SYN packets at the final hop to avoid interference with other protocols. This value is reserved by Calico and must not be used + // with other Istio installation. [Default: 23] + IstioDSCPMark *numorstring.DSCP `json:"istioDSCPMark,omitempty"` + // CgroupV2Path overrides the default location where to find the cgroup hierarchy. + CgroupV2Path *string `json:"cgroupV2Path,omitempty"` + // SyslogReporterEnabled turns on the feature to write logs to Syslog. Please note that this can incur significant + // disk space usage when running felix on non-cluster hosts. + SyslogReporterEnabled *bool `json:"syslogReporterEnabled,omitempty"` + // SyslogReporterNetwork is the network to dial to when writing to Syslog. Known networks are "tcp", "tcp4" + // (IPv4-only), "tcp6" (IPv6-only), "udp", "udp4" (IPv4-only), "udp6" (IPv6-only), "ip", "ip4" (IPv4-only), "ip6" + // (IPv6-only), "unix", "unixgram" and "unixpacket". For more, see: https://pkg.go.dev/net#Dial + SyslogReporterNetwork *string `json:"syslogReporterNetwork,omitempty"` + // SyslogReporterAddress is the address to dial to when writing to Syslog. For TCP and UDP networks, the address has + // the form "host:port". The host must be a literal IP address, or a host name that can be resolved to IP addresses. + // The port must be a literal port number or a service name. For more, see: https://pkg.go.dev/net#Dial + SyslogReporterAddress *string `json:"syslogReporterAddress,omitempty"` + // IPSecMode controls which mode IPSec is operating on. + // Default value means IPSec is not enabled. [Default: ""] + IPSecMode *string `json:"ipsecMode,omitempty"` + // IPSecAllowUnsecuredTraffic controls whether non-IPsec traffic is allowed in addition to IPsec traffic. Enabling this + // negates the anti-spoofing protections of IPsec but it is useful when migrating to/from IPsec. [Default: false] + IPSecAllowUnsecuredTraffic *bool `json:"ipsecAllowUnsecuredTraffic,omitempty"` + // IPSecIKEAlgorithm sets IPSec IKE algorithm. Default is NIST suite B recommendation. [Default: aes128gcm16-prfsha256-ecp256] + IPSecIKEAlgorithm *string `json:"ipsecIKEAlgorithm,omitempty"` + // IPSecESAlgorithm sets IPSec ESP algorithm. Default is NIST suite B recommendation. [Default: aes128gcm16-ecp256] + IPSecESPAlgorithm *string `json:"ipsecESPAlgorithm,omitempty"` + // IPSecLogLevel controls log level for IPSec components. Set to None for no logging. + // A generic log level terminology is used [None, Notice, Info, Debug, Verbose]. + // [Default: Info] + IPSecLogLevel *string `json:"ipsecLogLevel,omitempty"` + // IPSecPolicyRefreshInterval is the interval at which Felix will check the kernel's IPsec policy tables and + // repair any inconsistencies. [Default: 600s] + IPSecPolicyRefreshInterval *v1.Duration `json:"ipsecPolicyRefreshInterval,omitempty"` + // BPFAttachType controls how are the BPF programs at the network interfaces attached. + // By default `TCX` is used where available to enable easier coexistence with 3rd party programs. + // `TC` can force the legacy method of attaching via a qdisc. `TCX` falls back to `TC` if `TCX` is not available. + // [Default: TCX] + BPFAttachType *projectcalicov3.BPFAttachOption `json:"bpfAttachType,omitempty"` + // FlowLogsFlushInterval configures the interval at which Felix exports flow logs. + FlowLogsFlushInterval *v1.Duration `json:"flowLogsFlushInterval,omitempty"` + // FlowLogsEnableHostEndpoint enables Flow logs reporting for HostEndpoints. + FlowLogsEnableHostEndpoint *bool `json:"flowLogsEnableHostEndpoint,omitempty"` + // FlowLogsEnableNetworkSets enables Flow logs reporting for GlobalNetworkSets. + FlowLogsEnableNetworkSets *bool `json:"flowLogsEnableNetworkSets,omitempty"` + // FlowLogsMaxOriginalIPsIncluded specifies the number of unique IP addresses (if relevant) that should be included in Flow logs. + FlowLogsMaxOriginalIPsIncluded *int `json:"flowLogsMaxOriginalIPsIncluded,omitempty"` + // FlowLogsCollectProcessInfo, if enabled Felix will load the kprobe BPF programs to collect process info. [Default: false] + FlowLogsCollectProcessInfo *bool `json:"flowLogsCollectProcessInfo,omitempty"` + // FlowLogsCollectTcpStats enables flow logs reporting TCP socket stats + FlowLogsCollectTcpStats *bool `json:"flowLogsCollectTcpStats,omitempty"` + // When FlowLogsCollectProcessPath and FlowLogsCollectProcessInfo are + // both enabled, each flow log will include information about the process + // that is sending or receiving the packets in that flow: the + // `process_name` field will contain the full path of the process + // executable, and the `process_args` field will have the arguments with + // which the executable was invoked. Process information will not be + // reported for connections which use raw sockets. + FlowLogsCollectProcessPath *bool `json:"flowLogsCollectProcessPath,omitempty"` + // When FlowLogsCollectorDebugTrace is set to true, enables the logs in the collector to be + // printed in their entirety. + FlowLogsCollectorDebugTrace *bool `json:"flowLogsCollectorDebugTrace,omitempty"` + // FlowLogGoldmaneServer is the flow server endpoint to which flow data should be published. + FlowLogsGoldmaneServer *string `json:"flowLogsGoldmaneServer,omitempty"` + // FlowLogsLocalReporter configures local unix socket for reporting flow data from each node. [Default: Disabled] + FlowLogsLocalReporter *string `json:"flowLogsLocalReporter,omitempty"` + // FlowLogsDestDomainsByClient is used to configure if the source IP is used in the mapping of top + // level destination domains. [Default: true] + FlowLogsDestDomainsByClient *bool `json:"flowLogsDestDomainsByClient,omitempty"` + // FlowLogsPolicyEvaluationMode defines how policies are evaluated and reflected in flow logs. + // OnNewConnection - In this mode, staged policies are only evaluated when new connections are + // made in the dataplane. Staged/active policy changes will not be reflected in the + // `pending_policies` field of flow logs for long lived connections. + // Continuous - Felix evaluates active flows on a regular basis to determine the rule + // traces in the flow logs. Any policy updates that impact a flow will be reflected in the + // pending_policies field, offering a near-real-time view of policy changes across flows. + // [Default: Continuous] + FlowLogsPolicyEvaluationMode *string `json:"flowLogsPolicyEvaluationMode,omitempty"` + // FlowLogsPolicyScope controls which policies are included in flow logs. + // AllPolicies - Processes both transit policies for the local node and + // endpoint policies derived from packet source/destination IPs. Provides comprehensive + // visibility into all policy evaluations but increases log volume. + // EndpointPolicies - Processes only policies for endpoints identified as the source + // or destination of the packet (whether workload or host endpoints). + // [Default: EndpointPolicies] + FlowLogsPolicyScope *string `json:"flowLogsPolicyScope,omitempty"` + // FlowLogsFileEnabled when set to true, enables logging flow logs to a file. If false no flow logging to file will occur. + FlowLogsFileEnabled *bool `json:"flowLogsFileEnabled,omitempty"` + // FlowLogsFileMaxFiles sets the number of log files to keep. + FlowLogsFileMaxFiles *int `json:"flowLogsFileMaxFiles,omitempty"` + // FlowLogsFileMaxFileSizeMB sets the max size in MB of flow logs files before rotation. + FlowLogsFileMaxFileSizeMB *int `json:"flowLogsFileMaxFileSizeMB,omitempty"` + // FlowLogsFileDirectory sets the directory where flow logs files are stored. + FlowLogsFileDirectory *string `json:"flowLogsFileDirectory,omitempty"` + // FlowLogsFileIncludeLabels is used to configure if endpoint labels are included in a Flow log entry written to file. + FlowLogsFileIncludeLabels *bool `json:"flowLogsFileIncludeLabels,omitempty"` + // FlowLogsFileIncludePolicies is used to configure if policy information are included in a Flow log entry written to file. + FlowLogsFileIncludePolicies *bool `json:"flowLogsFileIncludePolicies,omitempty"` + // FlowLogsFileIncludeService is used to configure if the destination service is included in a Flow log entry written to file. + // The service information can only be included if the flow was explicitly determined to be directed at the service (e.g. + // when the pre-DNAT destination corresponds to the service ClusterIP and port). + FlowLogsFileIncludeService *bool `json:"flowLogsFileIncludeService,omitempty"` + // FlowLogsFileAggregationKindForAllowed is used to choose the type of aggregation for flow log entries created for + // allowed connections. [Default: 2 - pod prefix name based aggregation]. + // Accepted values are 0, 1 and 2. + // 0 - No aggregation. + // 1 - Source port based aggregation. + // 2 - Pod prefix name based aggreagation. + FlowLogsFileAggregationKindForAllowed *int `json:"flowLogsFileAggregationKindForAllowed,omitempty"` + // FlowLogsFileAggregationKindForDenied is used to choose the type of aggregation for flow log entries created for + // denied connections. [Default: 1 - source port based aggregation]. + // Accepted values are 0, 1 and 2. + // 0 - No aggregation. + // 1 - Source port based aggregation. + // 2 - Pod prefix name based aggregation. + // 3 - No destination ports based aggregation. + FlowLogsFileAggregationKindForDenied *int `json:"flowLogsFileAggregationKindForDenied,omitempty"` + // FlowLogsFileEnabledForAllowed is used to enable/disable flow logs entries created for allowed connections. Default is true. + // This parameter only takes effect when FlowLogsFileReporterEnabled is set to true. + FlowLogsFileEnabledForAllowed *bool `json:"flowLogsFileEnabledForAllowed,omitempty"` + // FlowLogsFileEnabledForDenied is used to enable/disable flow logs entries created for denied flows. Default is true. + // This parameter only takes effect when FlowLogsFileReporterEnabled is set to true. + FlowLogsFileEnabledForDenied *bool `json:"flowLogsFileEnabledForDenied,omitempty"` + // FlowLogsDynamicAggregationEnabled is used to enable/disable dynamically changing aggregation levels. Default is true. + FlowLogsDynamicAggregationEnabled *bool `json:"flowLogsDynamicAggregationEnabled,omitempty"` + // FlowLogsPositionFilePath is used specify the position of the external pipeline that reads flow logs. Default is /var/log/calico/flows.log.pos. + // This parameter only takes effect when FlowLogsDynamicAggregationEnabled is set to true. + FlowLogsPositionFilePath *string `json:"flowLogsPositionFilePath,omitempty"` + // FlowLogsAggregationThresholdBytes is used specify how far behind the external pipeline that reads flow logs can be. Default is 8192 bytes. + // This parameter only takes effect when FlowLogsDynamicAggregationEnabled is set to true. + FlowLogsAggregationThresholdBytes *int `json:"flowLogsAggregationThresholdBytes,omitempty"` + // FlowLogsFilePerFlowProcessLimit, is used to specify the maximum number of flow log entries with distinct process information + // beyond which process information will be aggregated. [Default: 2] + FlowLogsFilePerFlowProcessLimit *int `json:"flowLogsFilePerFlowProcessLimit,omitempty"` + // FlowLogsFilePerFlowProcessArgsLimit is used to specify the maximum number of distinct process args that will appear in the flowLogs. + // Default value is 5 + FlowLogsFilePerFlowProcessArgsLimit *int `json:"flowLogsFilePerFlowProcessArgsLimit,omitempty"` + // FlowLogsFileNatOutgoingPortLimit is used to specify the maximum number of distinct post SNAT ports that will appear + // in the flowLogs. Default value is 3 + FlowLogsFileNatOutgoingPortLimit *int `json:"flowLogsFileNatOutgoingPortLimit,omitempty"` + // FlowLogsFileDomainsLimit is used to configure the number of (destination) domains to include in the flow log. + // These are not included for workload or host endpoint destinations. + // [Default: 5] + FlowLogsFileDomainsLimit *int `json:"flowLogsFileDomainsLimit,omitempty"` + // WindowsFlowLogsFileDirectory sets the directory where flow logs files are stored on Windows nodes. [Default: "c:\\TigeraCalico\\flowlogs"]. + WindowsFlowLogsFileDirectory *string `json:"windowsFlowLogsFileDirectory,omitempty"` + // WindowsFlowLogsPositionFilePath is used to specify the position of the external pipeline that reads flow logs on Windows nodes. + // [Default: "c:\\TigeraCalico\\flowlogs\\flows.log.pos"]. + // This parameter only takes effect when FlowLogsDynamicAggregationEnabled is set to true. + WindowsFlowLogsPositionFilePath *string `json:"windowsFlowLogsPositionFilePath,omitempty"` + // WindowsStatsDumpFilePath is used to specify the path of the stats dump file on Windows nodes. [Default: "c:\\TigeraCalico\\stats\\dump"] + WindowsStatsDumpFilePath *string `json:"windowsStatsDumpFilePath,omitempty"` + // The name of the file that Felix uses to preserve learnt DNS information when restarting. [Default: + // "c:\\TigeraCalico\\felix-dns-cache.txt"]. + WindowsDNSCacheFile *string `json:"windowsDnsCacheFile,omitempty"` + // Extra time to keep IPs and alias names that are learnt from DNS, in addition to each name + // or IP's advertised TTL. The default value is 120s which is same as the default value of + // ServicePointManager.DnsRefreshTimeout on .net framework. [Default: 120s]. + WindowsDNSExtraTTL *v1.Duration `json:"windowsDnsExtraTTL,omitempty"` + // The DNS servers that Felix should trust. Each entry here must be `[:]` - indicating an + // explicit DNS server IP - or `k8s-service:[/][:port]` - indicating a Kubernetes DNS + // service. `` defaults to the first service port, or 53 for an IP, and `` to + // `kube-system`. An IPv6 address with a port must use the square brackets convention, for example + // `[fd00:83a6::12]:5353`.Note that Felix (calico-node) will need RBAC permission to read the details of + // each service specified by a `k8s-service:...` form. [Default: "k8s-service:kube-dns"]. + DNSTrustedServers *[]string `json:"dnsTrustedServers,omitempty"` + // The name of the file that Felix uses to preserve learnt DNS information when restarting. [Default: + // "/var/run/calico/felix-dns-cache.txt"]. + DNSCacheFile *string `json:"dnsCacheFile,omitempty"` + // The periodic interval at which Felix saves learnt DNS information to the cache file. [Default: + // 60s]. + DNSCacheSaveInterval *v1.Duration `json:"dnsCacheSaveInterval,omitempty"` + // An arbitrary number that can be changed, at runtime, to tell Felix to discard all its + // learnt DNS information. [Default: 0]. + DNSCacheEpoch *int `json:"dnsCacheEpoch,omitempty"` + // Extra time to keep IPs and alias names that are learnt from DNS, in addition to each name + // or IP's advertised TTL. [Default: 0s]. + DNSExtraTTL *v1.Duration `json:"dnsExtraTTL,omitempty"` + // DNSLogsFlushInterval configures the interval at which Felix exports DNS logs. + // [Default: 300s] + DNSLogsFlushInterval *v1.Duration `json:"dnsLogsFlushInterval,omitempty"` + // DNSLogsFileEnabled controls logging DNS logs to a file. If false no DNS logging to file will occur. + // [Default: false] + DNSLogsFileEnabled *bool `json:"dnsLogsFileEnabled,omitempty"` + // DNSLogsFileMaxFiles sets the number of DNS log files to keep. + // [Default: 5] + DNSLogsFileMaxFiles *int `json:"dnsLogsFileMaxFiles,omitempty"` + // DNSLogsFileMaxFileSizeMB sets the max size in MB of DNS log files before rotation. + // [Default: 100] + DNSLogsFileMaxFileSizeMB *int `json:"dnsLogsFileMaxFileSizeMB,omitempty"` + // DNSLogsFileDirectory sets the directory where DNS log files are stored. + // [Default: /var/log/calico/dnslogs] + DNSLogsFileDirectory *string `json:"dnsLogsFileDirectory,omitempty"` + // DNSLogsFileIncludeLabels is used to configure if endpoint labels are included in a DNS log entry written to file. + // [Default: true] + DNSLogsFileIncludeLabels *bool `json:"dnsLogsFileIncludeLabels,omitempty"` + // DNSLogsFileAggregationKind is used to choose the type of aggregation for DNS log entries. + // [Default: 1 - client name prefix aggregation]. + // Accepted values are 0 and 1. + // 0 - No aggregation. + // 1 - Aggregate over clients with the same name prefix. + DNSLogsFileAggregationKind *int `json:"dnsLogsFileAggregationKind,omitempty"` + // Limit on the number of DNS logs that can be emitted within each flush interval. When + // this limit has been reached, Felix counts the number of unloggable DNS responses within + // the flush interval, and emits a WARNING log with that count at the same time as it + // flushes the buffered DNS logs. [Default: 0, meaning no limit] + DNSLogsFilePerNodeLimit *int `json:"dnsLogsFilePerNodeLimit,omitempty"` + // DNSLogsLatency indicates to include measurements of DNS request/response latency in each DNS log. + // [Default: true] + DNSLogsLatency *bool `json:"dnsLogsLatency,omitempty"` + // DNSPolicyMode specifies how DNS policy programming will be handled. + // DelayDeniedPacket - Felix delays any denied packet that traversed a policy that included egress domain matches, + // but did not match. The packet is released after a fixed time, or after the destination IP address was programmed. + // DelayDNSResponse - Felix delays any DNS response until related IPSets are programmed. This introduces some + // latency to all DNS packets (even when no IPSet programming is required), but it ensures policy hit statistics + // are accurate. This is the recommended setting when you are making use of staged policies or policy rule hit + // statistics. + // NoDelay - Felix does not introduce any delay to the packets. DNS rules may not have been programmed by the time + // the first packet traverses the policy rules. Client applications need to handle reconnection attempts if initial + // connection attempts fail. This may be problematic for some applications or for very low DNS TTLs. + // + // Inline - Parses DNS response inline with DNS response packet processing within IPTables. + // This guarantees the DNS rules reflect any change immediately. + // This mode works for iptables only and matches the same mode for BPFDNSPolicyMode. + // This setting is ignored on Windows and "NoDelay" is always used. + // + // This setting is ignored by eBPF and BPFDNSPolicyMode is used instead. + // + // This field has no effect in NFTables mode. Please use NFTablesDNSPolicyMode instead. + // [Default: Inline] + DNSPolicyMode *projectcalicov3.DNSPolicyMode `json:"dnsPolicyMode,omitempty"` + // BPFDNSPolicyMode specifies how DNS policy programming will be handled. + // Inline - BPF parses DNS response inline with DNS response packet + // processing. This guarantees the DNS rules reflect any change immediately. + // NoDelay - Felix does not introduce any delay to the packets. DNS rules may not have been programmed by the time + // the first packet traverses the policy rules. Client applications need to handle reconnection attempts if initial + // connection attempts fail. This may be problematic for some applications or for very low DNS TTLs. + // [Default: DelayDeniedPacket] + BPFDNSPolicyMode *projectcalicov3.BPFDNSPolicyMode `json:"bpfDNSPolicyMode,omitempty"` + // NFTablesDNSPolicyMode specifies how DNS policy programming will be handled for NFTables. + // DelayDeniedPacket - Felix delays any denied packet that traversed a policy that included egress domain matches, + // but did not match. The packet is released after a fixed time, or after the destination IP address was programmed. + // DelayDNSResponse - Felix delays any DNS response until related IPSets are programmed. This introduces some + // latency to all DNS packets (even when no IPSet programming is required), but it ensures policy hit statistics + // are accurate. This is the recommended setting when you are making use of staged policies or policy rule hit + // statistics. + // NoDelay - Felix does not introduce any delay to the packets. DNS rules may not have been programmed by the time + // the first packet traverses the policy rules. Client applications need to handle reconnection attempts if initial + // connection attempts fail. This may be problematic for some applications or for very low DNS TTLs. + // [Default: DelayDeniedPacket] + NFTablesDNSPolicyMode *projectcalicov3.NFTablesDNSPolicyMode `json:"nftablesDNSPolicyMode,omitempty"` + // DNSPolicyNfqueueID is the NFQUEUE ID to use for DNS Policy re-evaluation when the domains IP hasn't been programmed + // to ipsets yet. Used when DNSPolicyMode is DelayDeniedPacket. [Default: 100] + DNSPolicyNfqueueID *int `json:"dnsPolicyNfqueueID,omitempty"` + // DNSPolicyNfqueueID is the size of the NFQUEUE for DNS policy re-evaluation. This is the maximum number of denied + // packets that may be queued up pending re-evaluation. + // Used when DNSPolicyMode is DelayDeniedPacket. [Default: 100] + DNSPolicyNfqueueSize *int `json:"dnsPolicyNfqueueSize,omitempty"` + // DNSPacketsNfqueueID is the NFQUEUE ID to use for capturing DNS packets to ensure programming IPSets occurs before + // the response is released. Used when DNSPolicyMode is DelayDNSResponse. [Default: 101] + DNSPacketsNfqueueID *int `json:"dnsPacketsNfqueueID,omitempty"` + // DNSPacketsNfqueueSize is the size of the NFQUEUE for captured DNS packets. This is the maximum number of DNS + // packets that may be queued awaiting programming in the dataplane. Used when DNSPolicyMode is DelayDNSResponse. + // [Default: 100] + DNSPacketsNfqueueSize *int `json:"dnsPacketsNfqueueSize,omitempty"` + // DNSPacketsNfqueueMaxHoldDuration is the max length of time to hold on to a DNS response while waiting for the + // the dataplane to be programmed. Used when DNSPolicyMode is DelayDNSResponse. + // [Default: 3s] + DNSPacketsNfqueueMaxHoldDuration *v1.Duration `json:"dnsPacketsNfqueueMaxHoldDuration,omitempty"` + // L7LogsFlushInterval configures the interval at which Felix exports L7 logs. + // [Default: 300s] + L7LogsFlushInterval *v1.Duration `json:"l7LogsFlushInterval,omitempty"` + // L7LogsFileEnabled controls logging L7 logs to a file. If false no L7 logging to file will occur. + // [Default: true] + L7LogsFileEnabled *bool `json:"l7LogsFileEnabled,omitempty"` + // L7LogsFileMaxFiles sets the number of L7 log files to keep. + // [Default: 5] + L7LogsFileMaxFiles *int `json:"l7LogsFileMaxFiles,omitempty"` + // L7LogsFileMaxFileSizeMB sets the max size in MB of L7 log files before rotation. + // [Default: 100] + L7LogsFileMaxFileSizeMB *int `json:"l7LogsFileMaxFileSizeMB,omitempty"` + // L7LogsFileDirectory sets the directory where L7 log files are stored. + // [Default: /var/log/calico/l7logs] + L7LogsFileDirectory *string `json:"l7LogsFileDirectory,omitempty"` + // L7LogsFileAggregationHTTPHeaderInfo is used to choose the type of aggregation for HTTP header data on L7 log entries. + // [Default: ExcludeL7HTTPHeaderInfo - http header info removal]. + // Accepted values are IncludeL7HTTPHeaderInfo and ExcludeL7HTTPHeaderInfo. + // IncludeL7HTTPHeaderInfo - Include HTTP header data in the logs. + // ExcludeL7HTTPHeaderInfo - Aggregate over all other fields ignoring the user agent and log type. + L7LogsFileAggregationHTTPHeaderInfo *string `json:"l7LogsFileAggregationHTTPHeaderInfo,omitempty"` + // L7LogsFileAggregationHTTPMethod is used to choose the type of aggregation for the HTTP request method on L7 log entries. + // [Default: IncludeL7HTTPMethod - include the HTTP method]. + // Accepted values are IncludeL7HTTPMethod and ExcludeL7HTTPMethod. + // IncludeL7HTTPMethod - Include HTTP method in the logs. + // ExcludeL7HTTPMethod - Aggregate over all other fields ignoring the HTTP method. + L7LogsFileAggregationHTTPMethod *string `json:"l7LogsFileAggregationHTTPMethod,omitempty"` + // L7LogsFileAggregationServiceInfo is used to choose the type of aggregation for the service data on L7 log entries. + // [Default: IncludeL7ServiceInfo - include service data]. + // Accepted values are IncludeL7ServiceInfo and ExcludeL7ServiceInfo. + // IncludeL7ServiceInfo - Include service data in the logs. + // ExcludeL7ServiceInfo - Aggregate over all other fields ignoring the service name, namespace, and port. + L7LogsFileAggregationServiceInfo *string `json:"l7LogsFileAggregationServiceInfo,omitempty"` + // L7LogsFileAggregationDestinationInfo is used to choose the type of aggregation for the destination metadata on L7 log entries. + // [Default: IncludeL7DestinationInfo - include destination metadata]. + // Accepted values are IncludeL7DestinationInfo and ExcludeL7DestinationInfo. + // IncludeL7DestinationInfo - Include destination metadata in the logs. + // ExcludeL7DestinationInfo - Aggregate over all other fields ignoring the destination aggregated name, namespace, and type. + L7LogsFileAggregationDestinationInfo *string `json:"l7LogsFileAggregationDestinationInfo,omitempty"` + // L7LogsFileAggregationExcludeSourceInfo is used to choose the type of aggregation for the source metadata on L7 log entries. + // [Default: IncludeL7SourceInfoNoPort - include all source metadata except for the source port]. + // Accepted values are IncludeL7SourceInfo, IncludeL7SourceInfoNoPort, and ExcludeL7SourceInfo. + // IncludeL7SourceInfo - Include source metadata in the logs. + // IncludeL7SourceInfoNoPort - Include source metadata in the logs excluding the source port. + // ExcludeL7SourceInfo - Aggregate over all other fields ignoring the source aggregated name, namespace, and type. + L7LogsFileAggregationSourceInfo *string `json:"l7LogsFileAggregationSourceInfo,omitempty"` + // L7LogsFileAggregationResponseCode is used to choose the type of aggregation for the response code on L7 log entries. + // [Default: IncludeL7ResponseCode - include the response code]. + // Accepted values are IncludeL7ResponseCode and ExcludeL7ResponseCode. + // IncludeL7ResponseCode - Include the response code in the logs. + // ExcludeL7ResponseCode - Aggregate over all other fields ignoring the response code. + L7LogsFileAggregationResponseCode *string `json:"l7LogsFileAggregationResponseCode,omitempty"` + // L7LogsFileAggregationTrimURL is used to choose the type of aggregation for the url on L7 log entries. + // [Default: IncludeL7FullURL - include the full URL up to however many path components are allowed by L7LogsFileAggregationNumURLPath]. + // Accepted values: + // IncludeL7FullURL - Include the full URL up to however many path components are allowed by L7LogsFileAggregationNumURLPath. + // TrimURLQuery - Aggregate over all other fields ignoring the query parameters on the URL. + // TrimURLQueryAndPath - Aggregate over all other fields and the base URL only. + // ExcludeL7URL - Aggregate over all other fields ignoring the URL entirely. + L7LogsFileAggregationTrimURL *string `json:"l7LogsFileAggregationTrimURL,omitempty"` + // L7LogsFileAggregationNumURLPath is used to choose the number of components in the url path to display. + // This allows for the url to be truncated in case parts of the path provide no value. Setting this value + // to negative will allow all parts of the path to be displayed. + // [Default: 5]. + L7LogsFileAggregationNumURLPath *int `json:"l7LogsFileAggregationNumURLPath,omitempty"` + // Limit on the length of the URL collected in L7 logs. When a URL length reaches this limit + // it is sliced off, and the sliced URL is sent to log storage. [Default: 250] + L7LogsFileAggregationURLCharLimit *int `json:"l7LogsFileAggregationURLCharLimit,omitempty"` + // Limit on the number of L7 logs that can be emitted within each flush interval. When + // this limit has been reached, Felix counts the number of unloggable L7 responses within + // the flush interval, and emits a WARNING log with that count at the same time as it + // flushes the buffered L7 logs. A value of 0 means no limit. [Default: 1500] + L7LogsFilePerNodeLimit *int `json:"l7LogsFilePerNodeLimit,omitempty"` + // WAFEventLogsFlushInterval configures the interval at which Felix exports WAFEvent logs. + // [Default: 15s] + WAFEventLogsFlushInterval *v1.Duration `json:"wafEventLogsFlushInterval,omitempty"` + // WAFEventLogsFileEnabled controls logging WAFEvent logs to a file. If false no WAFEvent logging to file will occur. + // [Default: false] + WAFEventLogsFileEnabled *bool `json:"wafEventLogsFileEnabled,omitempty"` + // WAFEventLogsFileDirectory sets the directory where WAFEvent log files are stored. + // [Default: /var/log/calico/waf] + WAFEventLogsFileDirectory *string `json:"wafEventLogsFileDirectory,omitempty"` + // WAFEventLogsFileMaxFiles sets the number of WAFEvent log files to keep. + // [Default: 5] + WAFEventLogsFileMaxFiles *int `json:"wafEventLogsFileMaxFiles,omitempty"` + // WAFEventLogsFileMaxFileSizeMB sets the max size in MB of WAFEvent log files before rotation. + // [Default: 100] + WAFEventLogsFileMaxFileSizeMB *int `json:"wafEventLogsFileMaxFileSizeMB,omitempty"` + // PolicyActivityLogsFlushInterval configures the interval at which Felix exports policy activity logs. + // [Default: 15s] + PolicyActivityLogsFlushInterval *v1.Duration `json:"policyActivityLogsFlushInterval,omitempty"` + // PolicyActivityLogsFileEnabled controls logging policy activity logs to a file. If false no policy activity logging to file will occur. + // [Default: true] + PolicyActivityLogsFileEnabled *bool `json:"policyActivityLogsFileEnabled,omitempty"` + // PolicyActivityLogsFileDirectory sets the directory where policy activity log files are stored. + // [Default: /var/log/calico/policy] + PolicyActivityLogsFileDirectory *string `json:"policyActivityLogsFileDirectory,omitempty"` + // PolicyActivityLogsFileMaxFiles sets the number of policy activity log files to keep. + // [Default: 5] + PolicyActivityLogsFileMaxFiles *int `json:"policyActivityLogsFileMaxFiles,omitempty"` + // PolicyActivityLogsFileMaxFileSizeMB sets the max size in MB of policy activity log files before rotation. + // [Default: 100] + PolicyActivityLogsFileMaxFileSizeMB *int `json:"policyActivityLogsFileMaxFileSizeMB,omitempty"` + // WindowsNetworkName specifies which Windows HNS networks Felix should operate on. The default is to match + // networks that start with "calico". Supports regular expression syntax. + WindowsNetworkName *string `json:"windowsNetworkName,omitempty"` + // BPFRedirectToPeer controls whether traffic may be forwarded directly to the peer side of a workload’s device. + // Note that the legacy "L2Only" option is now deprecated and if set it is treated like "Enabled". + // Setting this option to "Enabled" allows direct redirection (including from L3 host devices such as IPIP tunnels or WireGuard), + // which can improve redirection performance but causes the redirected packets to bypass the host‑side ingress path. + // As a result, packet‑capture tools on the host side of the workload device (for example, tcpdump) will not see that traffic. [Default: Disabled] + BPFRedirectToPeer *string `json:"bpfRedirectToPeer,omitempty"` + // BPFProfiling controls profiling of BPF programs. At the monent, it can be + // Disabled or Enabled. [Default: Disabled] + BPFProfiling *string `json:"bpfProfiling,omitempty"` + // RouteSource configures where Felix gets its routing information. + // - WorkloadIPs: use workload endpoints to construct routes. + // - CalicoIPAM: the default - use IPAM data to construct routes. + RouteSource *string `json:"routeSource,omitempty"` + // Calico programs additional Linux route tables for various purposes. + // RouteTableRanges specifies a set of table index ranges that Calico should use. + // Deprecates`RouteTableRange`, overrides `RouteTableRange`. + RouteTableRanges *projectcalicov3.RouteTableRanges `json:"routeTableRanges,omitempty"` + // Deprecated in favor of RouteTableRanges. + // Calico programs additional Linux route tables for various purposes. + // RouteTableRange specifies the indices of the route tables that Calico should use. + RouteTableRange *RouteTableRangeApplyConfiguration `json:"routeTableRange,omitempty"` + // EgressIPSupport defines three different support modes for egress IP function. [Default: Disabled] + // - Disabled: Egress IP function is disabled. + // - EnabledPerNamespace: Egress IP function is enabled and can be configured on a per-namespace basis; + // per-pod egress annotations are ignored. + // - EnabledPerNamespaceOrPerPod: Egress IP function is enabled and can be configured per-namespace or per-pod, + // with per-pod egress annotations overriding namespace annotations. + EgressIPSupport *string `json:"egressIPSupport,omitempty"` + // EgressIPVXLANPort is the port number of vxlan tunnel device for egress traffic. [Default: 4790] + EgressIPVXLANPort *int `json:"egressIPVXLANPort,omitempty"` + // EgressIPVXLANVNI is the VNI ID of vxlan tunnel device for egress traffic. [Default: 4097] + EgressIPVXLANVNI *int `json:"egressIPVXLANVNI,omitempty"` + // EgressIPRoutingRulePriority controls the priority value to use for the egress IP routing rule. [Default: 100] + EgressIPRoutingRulePriority *int `json:"egressIPRoutingRulePriority,omitempty"` + // EgressGatewayPollInterval is the interval at which Felix will poll remote egress gateways to check their + // health. Only Egress Gateways with a named "health" port will be polled in this way. Egress Gateways that + // fail the health check will be taken our of use as if they have been deleted. + EgressGatewayPollInterval *v1.Duration `json:"egressGatewayPollInterval,omitempty"` + // EgressGatewayPollFailureCount is the minimum number of poll failures before a remote Egress Gateway is considered + // to have failed. + EgressGatewayPollFailureCount *int `json:"egressGatewayPollFailureCount,omitempty"` + // EgressIPHostIfacePattern is a comma-separated list of interface names which might send and receive egress traffic + // across the cluster boundary, after it has left an Egress Gateway pod. Felix will ensure `src_valid_mark` sysctl flags + // are set correctly for matching interfaces. + // To target multiple interfaces with a single string, the list supports regular expressions. + // For regular expressions, wrap the value with `/`. + // Example: `/^bond/,eth0` will match all interfaces that begin with `bond` and also the interface `eth0`. [Default: ""] + EgressIPHostIfacePattern *string `json:"egressIPHostIfacePattern,omitempty"` + // RouteSyncDisabled will disable all operations performed on the route table. Set to true to + // run in network-policy mode only. + RouteSyncDisabled *bool `json:"routeSyncDisabled,omitempty"` + // ExternalNetworkSupport defines two different support modes for external network function. [Default: Disabled] + // - Disabled: External network function is disabled. + // - Enabled: External network function is enabled. + ExternalNetworkSupport *string `json:"externalNetworkSupport,omitempty"` + // ExternalNetworkRoutingRulePriority controls the priority value to use for the external network routing rule. [Default: 102] + ExternalNetworkRoutingRulePriority *int `json:"externalNetworkRoutingRulePriority,omitempty"` + // Route Priority value for a normal priority Calico-programmed IPv4 route. Note, higher + // values mean lower priority. [Default: 1024] + IPv4NormalRoutePriority *int `json:"ipv4NormalRoutePriority,omitempty"` + // Route Priority value for an elevated priority Calico-programmed IPv4 route. Note, higher + // values mean lower priority. Elevated priority is used during VM live migration, and for + // optimal behaviour IPv4ElevatedRoutePriority must be less than IPv4NormalRoutePriority + // [Default: 512] + IPv4ElevatedRoutePriority *int `json:"ipv4ElevatedRoutePriority,omitempty"` + // Route Priority value for a normal priority Calico-programmed IPv6 route. Note, higher + // values mean lower priority. [Default: 1024] + IPv6NormalRoutePriority *int `json:"ipv6NormalRoutePriority,omitempty"` + // Route Priority value for an elevated priority Calico-programmed IPv6 route. Note, higher + // values mean lower priority. Elevated priority is used during VM live migration, and for + // optimal behaviour IPv6ElevatedRoutePriority must be less than IPv6NormalRoutePriority + // [Default: 512] + IPv6ElevatedRoutePriority *int `json:"ipv6ElevatedRoutePriority,omitempty"` + // LiveMigrationRouteConvergenceTime is the time to keep elevated route priority after a + // VM live migration completes. This allows routes to converge across the cluster before + // reverting to normal priority. [Default: 30s] + LiveMigrationRouteConvergenceTime *v1.Duration `json:"liveMigrationRouteConvergenceTime,omitempty"` + // WireguardEnabled controls whether Wireguard is enabled for IPv4 (encapsulating IPv4 traffic over an IPv4 underlay network). [Default: false] + WireguardEnabled *bool `json:"wireguardEnabled,omitempty"` + // WireguardEnabledV6 controls whether Wireguard is enabled for IPv6 (encapsulating IPv6 traffic over an IPv6 underlay network). [Default: false] + WireguardEnabledV6 *bool `json:"wireguardEnabledV6,omitempty"` + // WireguardThreadingEnabled controls whether Wireguard has Threaded NAPI enabled. [Default: false] + // This increases the maximum number of packets a Wireguard interface can process. + // Consider threaded NAPI only if you have high packets per second workloads that are causing dropping packets due to a saturated `softirq` CPU core. + // There is a [known issue](https://lore.kernel.org/netdev/CALrw=nEoT2emQ0OAYCjM1d_6Xe_kNLSZ6dhjb5FxrLFYh4kozA@mail.gmail.com/T/) with this setting + // that may cause NAPI to get stuck holding the global `rtnl_mutex` when a peer is removed. + // Workaround: Make sure your Linux kernel [includes this patch](https://github.com/torvalds/linux/commit/56364c910691f6d10ba88c964c9041b9ab777bd6) to unwedge NAPI. + WireguardThreadingEnabled *bool `json:"wireguardThreadingEnabled,omitempty"` + // WireguardListeningPort controls the listening port used by IPv4 Wireguard. [Default: 51820] + WireguardListeningPort *int `json:"wireguardListeningPort,omitempty"` + // WireguardListeningPortV6 controls the listening port used by IPv6 Wireguard. [Default: 51821] + WireguardListeningPortV6 *int `json:"wireguardListeningPortV6,omitempty"` + // WireguardRoutingRulePriority controls the priority value to use for the Wireguard routing rule. [Default: 99] + WireguardRoutingRulePriority *int `json:"wireguardRoutingRulePriority,omitempty"` + // WireguardInterfaceName specifies the name to use for the IPv4 Wireguard interface. [Default: wireguard.cali] + WireguardInterfaceName *string `json:"wireguardInterfaceName,omitempty"` + // WireguardInterfaceNameV6 specifies the name to use for the IPv6 Wireguard interface. [Default: wg-v6.cali] + WireguardInterfaceNameV6 *string `json:"wireguardInterfaceNameV6,omitempty"` + // WireguardMTU controls the MTU on the IPv4 Wireguard interface. See Configuring MTU [Default: 1440] + WireguardMTU *int `json:"wireguardMTU,omitempty"` + // WireguardMTUV6 controls the MTU on the IPv6 Wireguard interface. See Configuring MTU [Default: 1420] + WireguardMTUV6 *int `json:"wireguardMTUV6,omitempty"` + // WireguardHostEncryptionEnabled controls whether Wireguard host-to-host encryption is enabled. [Default: false] + WireguardHostEncryptionEnabled *bool `json:"wireguardHostEncryptionEnabled,omitempty"` + // WireguardPersistentKeepAlive controls Wireguard PersistentKeepalive option. Set 0 to disable. [Default: 0] + WireguardPersistentKeepAlive *v1.Duration `json:"wireguardKeepAlive,omitempty"` + // CaptureDir controls directory to store file capture. [Default: /var/log/calico/pcap] + CaptureDir *string `json:"captureDir,omitempty"` + // CaptureMaxSizeBytes controls the max size of a file capture. [Default: 10000000] + CaptureMaxSizeBytes *int `json:"captureMaxSizeBytes,omitempty"` + // CaptureRotationSeconds controls the time rotation of a packet capture. [Default: 3600] + CaptureRotationSeconds *int `json:"captureRotationSeconds,omitempty"` + // CaptureMaxFiles controls number of rotated capture file to keep. [Default: 2] + CaptureMaxFiles *int `json:"captureMaxFiles,omitempty"` + // AWSSrcDstCheck controls whether Felix will try to change the "source/dest check" setting on the EC2 instance + // on which it is running. A value of "Disable" will try to disable the source/dest check. Disabling the check + // allows for sending workload traffic without encapsulation within the same AWS subnet. + // [Default: DoNothing] + AWSSrcDstCheck *projectcalicov3.AWSSrcDstCheckOption `json:"awsSrcDstCheck,omitempty"` + // AWSSecondaryIPSupport controls whether Felix will try to provision AWS secondary ENIs for + // workloads that have IPs from IP pools that are configured with an AWS subnet ID. If the field is set to + // "EnabledENIPerWorkload" then each workload with an AWS-backed IP will be assigned its own secondary ENI. + // If set to "Enabled" then each workload with an AWS-backed IP pool will be allocated a secondary IP address + // on a secondary ENI; this mode requires additional IP pools to be provisioned for the host to claim IPs for + // the primary IP of the secondary ENIs. Accepted value must be one of "Enabled", "EnabledENIPerWorkload" or + // "Disabled". [Default: Disabled] + AWSSecondaryIPSupport *string `json:"awsSecondaryIPSupport,omitempty"` + // AWSSecondaryIPRoutingRulePriority controls the priority that Felix will use for routing rules when programming + // them for AWS Secondary IP support. [Default: 101] + AWSSecondaryIPRoutingRulePriority *int `json:"awsSecondaryIPRoutingRulePriority,omitempty"` + // AWSRequestTimeout is the timeout on AWS API requests. [Default: 30s] + AWSRequestTimeout *v1.Duration `json:"awsRequestTimeout,omitempty"` + // When service IP advertisement is enabled, prevent routing loops to service IPs that are + // not in use, by dropping or rejecting packets that do not get DNAT'd by kube-proxy. + // Unless set to "Disabled", in which case such routing loops continue to be allowed. + // [Default: Drop] + ServiceLoopPrevention *string `json:"serviceLoopPrevention,omitempty"` + // WorkloadSourceSpoofing controls whether pods can use the allowedSourcePrefixes annotation to send traffic with a source IP + // address that is not theirs. This is disabled by default. When set to "Any", pods can request any prefix. + WorkloadSourceSpoofing *string `json:"workloadSourceSpoofing,omitempty"` + // MTUIfacePattern is a regular expression that controls which interfaces Felix should scan in order + // to calculate the host's MTU. + // This should not match workload interfaces (usually named cali...). + MTUIfacePattern *string `json:"mtuIfacePattern,omitempty"` + // TPROXYMode sets whether traffic is directed through a transparent proxy + // for further processing or not and how is the proxying done. + // [Default: Disabled] + TPROXYMode *string `json:"tproxyMode,omitempty"` + // TPROXYPort sets to which port proxied traffic should be redirected. + // [Default: 16001] + TPROXYPort *int `json:"tproxyPort,omitempty"` + // TPROXYUpstreamConnMark tells Felix which mark is used by the proxy for its upstream + // connections so that Felix can program the dataplane correctly. [Default: 0x17] + TPROXYUpstreamConnMark *uint32 `json:"tproxyUpstreamConnMark,omitempty"` + // FloatingIPs configures whether or not Felix will program non-OpenStack floating IP addresses. (OpenStack-derived + // floating IPs are always programmed, regardless of this setting.) + FloatingIPs *projectcalicov3.FloatingIPType `json:"floatingIPs,omitempty"` + // WindowsManageFirewallRules configures whether or not Felix will program Windows Firewall rules (to allow inbound access to its own metrics ports). [Default: Disabled] + WindowsManageFirewallRules *projectcalicov3.WindowsManageFirewallRulesMode `json:"windowsManageFirewallRules,omitempty"` + // GoGCThreshold Sets the Go runtime's garbage collection threshold. I.e. the percentage that the heap is + // allowed to grow before garbage collection is triggered. In general, doubling the value halves the CPU time + // spent doing GC, but it also doubles peak GC memory overhead. A special value of -1 can be used + // to disable GC entirely; this should only be used in conjunction with the GoMemoryLimitMB setting. + // + // This setting is overridden by the GOGC environment variable. + // + // [Default: 40] + GoGCThreshold *int `json:"goGCThreshold,omitempty"` + // GoMemoryLimitMB sets a (soft) memory limit for the Go runtime in MB. The Go runtime will try to keep its memory + // usage under the limit by triggering GC as needed. To avoid thrashing, it will exceed the limit if GC starts to + // take more than 50% of the process's CPU time. A value of -1 disables the memory limit. + // + // Note that the memory limit, if used, must be considerably less than any hard resource limit set at the container + // or pod level. This is because felix is not the only process that must run in the container or pod. + // + // This setting is overridden by the GOMEMLIMIT environment variable. + // + // [Default: -1] + GoMemoryLimitMB *int `json:"goMemoryLimitMB,omitempty"` + // GoMaxProcs sets the maximum number of CPUs that the Go runtime will use concurrently. A value of -1 means + // "use the system default"; typically the number of real CPUs on the system. + // + // this setting is overridden by the GOMAXPROCS environment variable. + // + // [Default: -1] + GoMaxProcs *int `json:"goMaxProcs,omitempty"` + // RequireMTUFile specifies whether mtu file is required to start the felix. + // Optional as to keep the same as previous behavior. [Default: false] + RequireMTUFile *bool `json:"requireMTUFile,omitempty"` + // BPFMaglevMaxEndpointsPerService is the maximum number of endpoints + // expected to be part of a single Maglev-enabled service. + // + // Influences the size of the per-service Maglev lookup-tables generated by Felix + // and thus the amount of memory reserved. + // + // [Default: 100] + BPFMaglevMaxEndpointsPerService *int `json:"bpfMaglevMaxEndpointsPerService,omitempty"` + // BPFMaglevMaxServices is the maximum number of expected Maglev-enabled + // services that Felix will allocate lookup-tables for. + // + // [Default: 100] + BPFMaglevMaxServices *int `json:"bpfMaglevMaxServices,omitempty"` +} + +// FelixConfigurationSpecApplyConfiguration constructs a declarative configuration of the FelixConfigurationSpec type for use with +// apply. +func FelixConfigurationSpec() *FelixConfigurationSpecApplyConfiguration { + return &FelixConfigurationSpecApplyConfiguration{} +} + +// WithUseInternalDataplaneDriver sets the UseInternalDataplaneDriver field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UseInternalDataplaneDriver field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithUseInternalDataplaneDriver(value bool) *FelixConfigurationSpecApplyConfiguration { + b.UseInternalDataplaneDriver = &value + return b +} + +// WithDataplaneDriver sets the DataplaneDriver field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DataplaneDriver field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDataplaneDriver(value string) *FelixConfigurationSpecApplyConfiguration { + b.DataplaneDriver = &value + return b +} + +// WithDataplaneWatchdogTimeout sets the DataplaneWatchdogTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DataplaneWatchdogTimeout field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDataplaneWatchdogTimeout(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.DataplaneWatchdogTimeout = &value + return b +} + +// WithIPv6Support sets the IPv6Support field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPv6Support field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPv6Support(value bool) *FelixConfigurationSpecApplyConfiguration { + b.IPv6Support = &value + return b +} + +// WithRouteRefreshInterval sets the RouteRefreshInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RouteRefreshInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithRouteRefreshInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.RouteRefreshInterval = &value + return b +} + +// WithInterfaceRefreshInterval sets the InterfaceRefreshInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the InterfaceRefreshInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithInterfaceRefreshInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.InterfaceRefreshInterval = &value + return b +} + +// WithIptablesRefreshInterval sets the IptablesRefreshInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IptablesRefreshInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIptablesRefreshInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.IptablesRefreshInterval = &value + return b +} + +// WithIptablesPostWriteCheckInterval sets the IptablesPostWriteCheckInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IptablesPostWriteCheckInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIptablesPostWriteCheckInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.IptablesPostWriteCheckInterval = &value + return b +} + +// WithIptablesLockProbeInterval sets the IptablesLockProbeInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IptablesLockProbeInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIptablesLockProbeInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.IptablesLockProbeInterval = &value + return b +} + +// WithFeatureDetectOverride sets the FeatureDetectOverride field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FeatureDetectOverride field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFeatureDetectOverride(value string) *FelixConfigurationSpecApplyConfiguration { + b.FeatureDetectOverride = &value + return b +} + +// WithFeatureGates sets the FeatureGates field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FeatureGates field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFeatureGates(value string) *FelixConfigurationSpecApplyConfiguration { + b.FeatureGates = &value + return b +} + +// WithIpsetsRefreshInterval sets the IpsetsRefreshInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IpsetsRefreshInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIpsetsRefreshInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.IpsetsRefreshInterval = &value + return b +} + +// WithMaxIpsetSize sets the MaxIpsetSize field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MaxIpsetSize field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithMaxIpsetSize(value int) *FelixConfigurationSpecApplyConfiguration { + b.MaxIpsetSize = &value + return b +} + +// WithIptablesBackend sets the IptablesBackend field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IptablesBackend field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIptablesBackend(value projectcalicov3.IptablesBackend) *FelixConfigurationSpecApplyConfiguration { + b.IptablesBackend = &value + return b +} + +// WithXDPRefreshInterval sets the XDPRefreshInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the XDPRefreshInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithXDPRefreshInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.XDPRefreshInterval = &value + return b +} + +// WithNetlinkTimeout sets the NetlinkTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NetlinkTimeout field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNetlinkTimeout(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.NetlinkTimeout = &value + return b +} + +// WithMetadataAddr sets the MetadataAddr field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MetadataAddr field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithMetadataAddr(value string) *FelixConfigurationSpecApplyConfiguration { + b.MetadataAddr = &value + return b +} + +// WithMetadataPort sets the MetadataPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MetadataPort field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithMetadataPort(value int) *FelixConfigurationSpecApplyConfiguration { + b.MetadataPort = &value + return b +} + +// WithOpenstackRegion sets the OpenstackRegion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the OpenstackRegion field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithOpenstackRegion(value string) *FelixConfigurationSpecApplyConfiguration { + b.OpenstackRegion = &value + return b +} + +// WithInterfacePrefix sets the InterfacePrefix field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the InterfacePrefix field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithInterfacePrefix(value string) *FelixConfigurationSpecApplyConfiguration { + b.InterfacePrefix = &value + return b +} + +// WithInterfaceExclude sets the InterfaceExclude field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the InterfaceExclude field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithInterfaceExclude(value string) *FelixConfigurationSpecApplyConfiguration { + b.InterfaceExclude = &value + return b +} + +// WithChainInsertMode sets the ChainInsertMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ChainInsertMode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithChainInsertMode(value string) *FelixConfigurationSpecApplyConfiguration { + b.ChainInsertMode = &value + return b +} + +// WithDefaultEndpointToHostAction sets the DefaultEndpointToHostAction field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DefaultEndpointToHostAction field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDefaultEndpointToHostAction(value string) *FelixConfigurationSpecApplyConfiguration { + b.DefaultEndpointToHostAction = &value + return b +} + +// WithIptablesFilterAllowAction sets the IptablesFilterAllowAction field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IptablesFilterAllowAction field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIptablesFilterAllowAction(value string) *FelixConfigurationSpecApplyConfiguration { + b.IptablesFilterAllowAction = &value + return b +} + +// WithIptablesMangleAllowAction sets the IptablesMangleAllowAction field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IptablesMangleAllowAction field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIptablesMangleAllowAction(value string) *FelixConfigurationSpecApplyConfiguration { + b.IptablesMangleAllowAction = &value + return b +} + +// WithIptablesFilterDenyAction sets the IptablesFilterDenyAction field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IptablesFilterDenyAction field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIptablesFilterDenyAction(value string) *FelixConfigurationSpecApplyConfiguration { + b.IptablesFilterDenyAction = &value + return b +} + +// WithLogPrefix sets the LogPrefix field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LogPrefix field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithLogPrefix(value string) *FelixConfigurationSpecApplyConfiguration { + b.LogPrefix = &value + return b +} + +// WithLogDropActionOverride sets the LogDropActionOverride field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LogDropActionOverride field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithLogDropActionOverride(value bool) *FelixConfigurationSpecApplyConfiguration { + b.LogDropActionOverride = &value + return b +} + +// WithLogActionRateLimit sets the LogActionRateLimit field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LogActionRateLimit field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithLogActionRateLimit(value string) *FelixConfigurationSpecApplyConfiguration { + b.LogActionRateLimit = &value + return b +} + +// WithLogActionRateLimitBurst sets the LogActionRateLimitBurst field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LogActionRateLimitBurst field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithLogActionRateLimitBurst(value int) *FelixConfigurationSpecApplyConfiguration { + b.LogActionRateLimitBurst = &value + return b +} + +// WithLogFilePath sets the LogFilePath field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LogFilePath field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithLogFilePath(value string) *FelixConfigurationSpecApplyConfiguration { + b.LogFilePath = &value + return b +} + +// WithLogSeverityFile sets the LogSeverityFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LogSeverityFile field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithLogSeverityFile(value string) *FelixConfigurationSpecApplyConfiguration { + b.LogSeverityFile = &value + return b +} + +// WithLogSeverityScreen sets the LogSeverityScreen field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LogSeverityScreen field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithLogSeverityScreen(value string) *FelixConfigurationSpecApplyConfiguration { + b.LogSeverityScreen = &value + return b +} + +// WithLogSeveritySys sets the LogSeveritySys field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LogSeveritySys field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithLogSeveritySys(value string) *FelixConfigurationSpecApplyConfiguration { + b.LogSeveritySys = &value + return b +} + +// WithLogDebugFilenameRegex sets the LogDebugFilenameRegex field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LogDebugFilenameRegex field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithLogDebugFilenameRegex(value string) *FelixConfigurationSpecApplyConfiguration { + b.LogDebugFilenameRegex = &value + return b +} + +// WithIPIPEnabled sets the IPIPEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPIPEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPIPEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.IPIPEnabled = &value + return b +} + +// WithIPIPMTU sets the IPIPMTU field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPIPMTU field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPIPMTU(value int) *FelixConfigurationSpecApplyConfiguration { + b.IPIPMTU = &value + return b +} + +// WithVXLANEnabled sets the VXLANEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the VXLANEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithVXLANEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.VXLANEnabled = &value + return b +} + +// WithVXLANMTU sets the VXLANMTU field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the VXLANMTU field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithVXLANMTU(value int) *FelixConfigurationSpecApplyConfiguration { + b.VXLANMTU = &value + return b +} + +// WithVXLANMTUV6 sets the VXLANMTUV6 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the VXLANMTUV6 field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithVXLANMTUV6(value int) *FelixConfigurationSpecApplyConfiguration { + b.VXLANMTUV6 = &value + return b +} + +// WithVXLANPort sets the VXLANPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the VXLANPort field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithVXLANPort(value int) *FelixConfigurationSpecApplyConfiguration { + b.VXLANPort = &value + return b +} + +// WithVXLANVNI sets the VXLANVNI field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the VXLANVNI field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithVXLANVNI(value int) *FelixConfigurationSpecApplyConfiguration { + b.VXLANVNI = &value + return b +} + +// WithAllowVXLANPacketsFromWorkloads sets the AllowVXLANPacketsFromWorkloads field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AllowVXLANPacketsFromWorkloads field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithAllowVXLANPacketsFromWorkloads(value bool) *FelixConfigurationSpecApplyConfiguration { + b.AllowVXLANPacketsFromWorkloads = &value + return b +} + +// WithAllowIPIPPacketsFromWorkloads sets the AllowIPIPPacketsFromWorkloads field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AllowIPIPPacketsFromWorkloads field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithAllowIPIPPacketsFromWorkloads(value bool) *FelixConfigurationSpecApplyConfiguration { + b.AllowIPIPPacketsFromWorkloads = &value + return b +} + +// WithReportingInterval sets the ReportingInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ReportingInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithReportingInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.ReportingInterval = &value + return b +} + +// WithReportingTTL sets the ReportingTTL field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ReportingTTL field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithReportingTTL(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.ReportingTTL = &value + return b +} + +// WithEndpointReportingEnabled sets the EndpointReportingEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EndpointReportingEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithEndpointReportingEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.EndpointReportingEnabled = &value + return b +} + +// WithEndpointReportingDelay sets the EndpointReportingDelay field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EndpointReportingDelay field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithEndpointReportingDelay(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.EndpointReportingDelay = &value + return b +} + +// WithEndpointStatusPathPrefix sets the EndpointStatusPathPrefix field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EndpointStatusPathPrefix field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithEndpointStatusPathPrefix(value string) *FelixConfigurationSpecApplyConfiguration { + b.EndpointStatusPathPrefix = &value + return b +} + +// WithIptablesMarkMask sets the IptablesMarkMask field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IptablesMarkMask field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIptablesMarkMask(value uint32) *FelixConfigurationSpecApplyConfiguration { + b.IptablesMarkMask = &value + return b +} + +// WithDisableConntrackInvalidCheck sets the DisableConntrackInvalidCheck field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DisableConntrackInvalidCheck field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDisableConntrackInvalidCheck(value bool) *FelixConfigurationSpecApplyConfiguration { + b.DisableConntrackInvalidCheck = &value + return b +} + +// WithHealthEnabled sets the HealthEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HealthEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithHealthEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.HealthEnabled = &value + return b +} + +// WithHealthHost sets the HealthHost field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HealthHost field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithHealthHost(value string) *FelixConfigurationSpecApplyConfiguration { + b.HealthHost = &value + return b +} + +// WithHealthPort sets the HealthPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HealthPort field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithHealthPort(value int) *FelixConfigurationSpecApplyConfiguration { + b.HealthPort = &value + return b +} + +// WithHealthTimeoutOverrides adds the given value to the HealthTimeoutOverrides field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the HealthTimeoutOverrides field. +func (b *FelixConfigurationSpecApplyConfiguration) WithHealthTimeoutOverrides(values ...*HealthTimeoutOverrideApplyConfiguration) *FelixConfigurationSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithHealthTimeoutOverrides") + } + b.HealthTimeoutOverrides = append(b.HealthTimeoutOverrides, *values[i]) + } + return b +} + +// WithPrometheusMetricsEnabled sets the PrometheusMetricsEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusMetricsEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusMetricsEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusMetricsEnabled = &value + return b +} + +// WithPrometheusGoMetricsEnabled sets the PrometheusGoMetricsEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusGoMetricsEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusGoMetricsEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusGoMetricsEnabled = &value + return b +} + +// WithPrometheusProcessMetricsEnabled sets the PrometheusProcessMetricsEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusProcessMetricsEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusProcessMetricsEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusProcessMetricsEnabled = &value + return b +} + +// WithPrometheusWireGuardMetricsEnabled sets the PrometheusWireGuardMetricsEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusWireGuardMetricsEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusWireGuardMetricsEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusWireGuardMetricsEnabled = &value + return b +} + +// WithPrometheusMetricsHost sets the PrometheusMetricsHost field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusMetricsHost field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusMetricsHost(value string) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusMetricsHost = &value + return b +} + +// WithPrometheusMetricsPort sets the PrometheusMetricsPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusMetricsPort field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusMetricsPort(value int) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusMetricsPort = &value + return b +} + +// WithPrometheusMetricsCAFile sets the PrometheusMetricsCAFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusMetricsCAFile field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusMetricsCAFile(value string) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusMetricsCAFile = &value + return b +} + +// WithPrometheusMetricsCertFile sets the PrometheusMetricsCertFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusMetricsCertFile field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusMetricsCertFile(value string) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusMetricsCertFile = &value + return b +} + +// WithPrometheusMetricsKeyFile sets the PrometheusMetricsKeyFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusMetricsKeyFile field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusMetricsKeyFile(value string) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusMetricsKeyFile = &value + return b +} + +// WithPrometheusMetricsClientAuth sets the PrometheusMetricsClientAuth field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusMetricsClientAuth field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusMetricsClientAuth(value projectcalicov3.PrometheusMetricsClientAuthType) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusMetricsClientAuth = &value + return b +} + +func (b *FelixConfigurationSpecApplyConfiguration) ensureProtoPortApplyConfigurationExists() { + if b.FailsafeInboundHostPorts == nil { + b.FailsafeInboundHostPorts = &[]ProtoPortApplyConfiguration{} + } +} + +// WithFailsafeInboundHostPorts adds the given value to the FailsafeInboundHostPorts field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the FailsafeInboundHostPorts field. +func (b *FelixConfigurationSpecApplyConfiguration) WithFailsafeInboundHostPorts(values ...*ProtoPortApplyConfiguration) *FelixConfigurationSpecApplyConfiguration { + b.ensureProtoPortApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithFailsafeInboundHostPorts") + } + *b.FailsafeInboundHostPorts = append(*b.FailsafeInboundHostPorts, *values[i]) + } + return b +} + +func (b *FelixConfigurationSpecApplyConfiguration) ensureOutboundProtoPortApplyConfigurationExists() { + if b.FailsafeOutboundHostPorts == nil { + b.FailsafeOutboundHostPorts = &[]ProtoPortApplyConfiguration{} + } +} + +// WithFailsafeOutboundHostPorts adds the given value to the FailsafeOutboundHostPorts field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the FailsafeOutboundHostPorts field. +func (b *FelixConfigurationSpecApplyConfiguration) WithFailsafeOutboundHostPorts(values ...*ProtoPortApplyConfiguration) *FelixConfigurationSpecApplyConfiguration { + b.ensureOutboundProtoPortApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithFailsafeOutboundHostPorts") + } + *b.FailsafeOutboundHostPorts = append(*b.FailsafeOutboundHostPorts, *values[i]) + } + return b +} + +// WithKubeMasqueradeBit sets the KubeMasqueradeBit field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the KubeMasqueradeBit field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithKubeMasqueradeBit(value int) *FelixConfigurationSpecApplyConfiguration { + b.KubeMasqueradeBit = &value + return b +} + +// WithKubeNodePortRanges sets the KubeNodePortRanges field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the KubeNodePortRanges field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithKubeNodePortRanges(value []numorstring.Port) *FelixConfigurationSpecApplyConfiguration { + b.KubeNodePortRanges = &value + return b +} + +// WithPolicySyncPathPrefix sets the PolicySyncPathPrefix field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PolicySyncPathPrefix field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPolicySyncPathPrefix(value string) *FelixConfigurationSpecApplyConfiguration { + b.PolicySyncPathPrefix = &value + return b +} + +// WithUsageReportingEnabled sets the UsageReportingEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UsageReportingEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithUsageReportingEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.UsageReportingEnabled = &value + return b +} + +// WithUsageReportingInitialDelay sets the UsageReportingInitialDelay field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UsageReportingInitialDelay field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithUsageReportingInitialDelay(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.UsageReportingInitialDelay = &value + return b +} + +// WithUsageReportingInterval sets the UsageReportingInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UsageReportingInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithUsageReportingInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.UsageReportingInterval = &value + return b +} + +// WithNATPortRange sets the NATPortRange field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NATPortRange field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNATPortRange(value numorstring.Port) *FelixConfigurationSpecApplyConfiguration { + b.NATPortRange = &value + return b +} + +// WithNATOutgoingAddress sets the NATOutgoingAddress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NATOutgoingAddress field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNATOutgoingAddress(value string) *FelixConfigurationSpecApplyConfiguration { + b.NATOutgoingAddress = &value + return b +} + +// WithNATOutgoingExclusions sets the NATOutgoingExclusions field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NATOutgoingExclusions field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNATOutgoingExclusions(value projectcalicov3.NATOutgoingExclusionsType) *FelixConfigurationSpecApplyConfiguration { + b.NATOutgoingExclusions = &value + return b +} + +// WithDeviceRouteSourceAddress sets the DeviceRouteSourceAddress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeviceRouteSourceAddress field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDeviceRouteSourceAddress(value string) *FelixConfigurationSpecApplyConfiguration { + b.DeviceRouteSourceAddress = &value + return b +} + +// WithDeviceRouteSourceAddressIPv6 sets the DeviceRouteSourceAddressIPv6 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeviceRouteSourceAddressIPv6 field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDeviceRouteSourceAddressIPv6(value string) *FelixConfigurationSpecApplyConfiguration { + b.DeviceRouteSourceAddressIPv6 = &value + return b +} + +// WithDeviceRouteProtocol sets the DeviceRouteProtocol field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeviceRouteProtocol field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDeviceRouteProtocol(value int) *FelixConfigurationSpecApplyConfiguration { + b.DeviceRouteProtocol = &value + return b +} + +// WithRemoveExternalRoutes sets the RemoveExternalRoutes field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RemoveExternalRoutes field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithRemoveExternalRoutes(value bool) *FelixConfigurationSpecApplyConfiguration { + b.RemoveExternalRoutes = &value + return b +} + +// WithProgramClusterRoutes sets the ProgramClusterRoutes field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ProgramClusterRoutes field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithProgramClusterRoutes(value string) *FelixConfigurationSpecApplyConfiguration { + b.ProgramClusterRoutes = &value + return b +} + +// WithIPForwarding sets the IPForwarding field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPForwarding field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPForwarding(value string) *FelixConfigurationSpecApplyConfiguration { + b.IPForwarding = &value + return b +} + +// WithExternalNodesCIDRList sets the ExternalNodesCIDRList field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ExternalNodesCIDRList field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithExternalNodesCIDRList(value []string) *FelixConfigurationSpecApplyConfiguration { + b.ExternalNodesCIDRList = &value + return b +} + +// WithNfNetlinkBufSize sets the NfNetlinkBufSize field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NfNetlinkBufSize field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNfNetlinkBufSize(value string) *FelixConfigurationSpecApplyConfiguration { + b.NfNetlinkBufSize = &value + return b +} + +// WithStatsDumpFilePath sets the StatsDumpFilePath field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StatsDumpFilePath field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithStatsDumpFilePath(value string) *FelixConfigurationSpecApplyConfiguration { + b.StatsDumpFilePath = &value + return b +} + +// WithPrometheusReporterEnabled sets the PrometheusReporterEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusReporterEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusReporterEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusReporterEnabled = &value + return b +} + +// WithPrometheusReporterPort sets the PrometheusReporterPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusReporterPort field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusReporterPort(value int) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusReporterPort = &value + return b +} + +// WithPrometheusReporterCertFile sets the PrometheusReporterCertFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusReporterCertFile field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusReporterCertFile(value string) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusReporterCertFile = &value + return b +} + +// WithPrometheusReporterKeyFile sets the PrometheusReporterKeyFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusReporterKeyFile field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusReporterKeyFile(value string) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusReporterKeyFile = &value + return b +} + +// WithPrometheusReporterCAFile sets the PrometheusReporterCAFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusReporterCAFile field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPrometheusReporterCAFile(value string) *FelixConfigurationSpecApplyConfiguration { + b.PrometheusReporterCAFile = &value + return b +} + +// WithDeletedMetricsRetentionSecs sets the DeletedMetricsRetentionSecs field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletedMetricsRetentionSecs field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDeletedMetricsRetentionSecs(value int) *FelixConfigurationSpecApplyConfiguration { + b.DeletedMetricsRetentionSecs = &value + return b +} + +// WithDropActionOverride sets the DropActionOverride field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DropActionOverride field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDropActionOverride(value string) *FelixConfigurationSpecApplyConfiguration { + b.DropActionOverride = &value + return b +} + +// WithDebugMemoryProfilePath sets the DebugMemoryProfilePath field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DebugMemoryProfilePath field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDebugMemoryProfilePath(value string) *FelixConfigurationSpecApplyConfiguration { + b.DebugMemoryProfilePath = &value + return b +} + +// WithDebugDisableLogDropping sets the DebugDisableLogDropping field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DebugDisableLogDropping field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDebugDisableLogDropping(value bool) *FelixConfigurationSpecApplyConfiguration { + b.DebugDisableLogDropping = &value + return b +} + +// WithDebugSimulateCalcGraphHangAfter sets the DebugSimulateCalcGraphHangAfter field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DebugSimulateCalcGraphHangAfter field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDebugSimulateCalcGraphHangAfter(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.DebugSimulateCalcGraphHangAfter = &value + return b +} + +// WithDebugSimulateDataplaneHangAfter sets the DebugSimulateDataplaneHangAfter field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DebugSimulateDataplaneHangAfter field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDebugSimulateDataplaneHangAfter(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.DebugSimulateDataplaneHangAfter = &value + return b +} + +// WithDebugSimulateDataplaneApplyDelay sets the DebugSimulateDataplaneApplyDelay field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DebugSimulateDataplaneApplyDelay field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDebugSimulateDataplaneApplyDelay(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.DebugSimulateDataplaneApplyDelay = &value + return b +} + +// WithDebugHost sets the DebugHost field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DebugHost field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDebugHost(value string) *FelixConfigurationSpecApplyConfiguration { + b.DebugHost = &value + return b +} + +// WithDebugPort sets the DebugPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DebugPort field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDebugPort(value int) *FelixConfigurationSpecApplyConfiguration { + b.DebugPort = &value + return b +} + +// WithIptablesNATOutgoingInterfaceFilter sets the IptablesNATOutgoingInterfaceFilter field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IptablesNATOutgoingInterfaceFilter field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIptablesNATOutgoingInterfaceFilter(value string) *FelixConfigurationSpecApplyConfiguration { + b.IptablesNATOutgoingInterfaceFilter = &value + return b +} + +// WithSidecarAccelerationEnabled sets the SidecarAccelerationEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SidecarAccelerationEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithSidecarAccelerationEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.SidecarAccelerationEnabled = &value + return b +} + +// WithXDPEnabled sets the XDPEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the XDPEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithXDPEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.XDPEnabled = &value + return b +} + +// WithGenericXDPEnabled sets the GenericXDPEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenericXDPEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithGenericXDPEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.GenericXDPEnabled = &value + return b +} + +// WithNFTablesMode sets the NFTablesMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NFTablesMode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNFTablesMode(value projectcalicov3.NFTablesMode) *FelixConfigurationSpecApplyConfiguration { + b.NFTablesMode = &value + return b +} + +// WithNftablesRefreshInterval sets the NftablesRefreshInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NftablesRefreshInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNftablesRefreshInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.NftablesRefreshInterval = &value + return b +} + +// WithNftablesFilterAllowAction sets the NftablesFilterAllowAction field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NftablesFilterAllowAction field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNftablesFilterAllowAction(value string) *FelixConfigurationSpecApplyConfiguration { + b.NftablesFilterAllowAction = &value + return b +} + +// WithNftablesMangleAllowAction sets the NftablesMangleAllowAction field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NftablesMangleAllowAction field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNftablesMangleAllowAction(value string) *FelixConfigurationSpecApplyConfiguration { + b.NftablesMangleAllowAction = &value + return b +} + +// WithNftablesFilterDenyAction sets the NftablesFilterDenyAction field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NftablesFilterDenyAction field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNftablesFilterDenyAction(value string) *FelixConfigurationSpecApplyConfiguration { + b.NftablesFilterDenyAction = &value + return b +} + +// WithNftablesMarkMask sets the NftablesMarkMask field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NftablesMarkMask field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNftablesMarkMask(value uint32) *FelixConfigurationSpecApplyConfiguration { + b.NftablesMarkMask = &value + return b +} + +// WithBPFEnabled sets the BPFEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.BPFEnabled = &value + return b +} + +// WithBPFDisableUnprivileged sets the BPFDisableUnprivileged field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFDisableUnprivileged field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFDisableUnprivileged(value bool) *FelixConfigurationSpecApplyConfiguration { + b.BPFDisableUnprivileged = &value + return b +} + +// WithBPFJITHardening sets the BPFJITHardening field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFJITHardening field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFJITHardening(value projectcalicov3.BPFJITHardeningType) *FelixConfigurationSpecApplyConfiguration { + b.BPFJITHardening = &value + return b +} + +// WithBPFLogLevel sets the BPFLogLevel field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFLogLevel field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFLogLevel(value string) *FelixConfigurationSpecApplyConfiguration { + b.BPFLogLevel = &value + return b +} + +// WithBPFConntrackLogLevel sets the BPFConntrackLogLevel field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFConntrackLogLevel field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFConntrackLogLevel(value string) *FelixConfigurationSpecApplyConfiguration { + b.BPFConntrackLogLevel = &value + return b +} + +// WithBPFConntrackCleanupMode sets the BPFConntrackCleanupMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFConntrackCleanupMode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFConntrackCleanupMode(value projectcalicov3.BPFConntrackMode) *FelixConfigurationSpecApplyConfiguration { + b.BPFConntrackCleanupMode = &value + return b +} + +// WithBPFConntrackTimeouts sets the BPFConntrackTimeouts field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFConntrackTimeouts field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFConntrackTimeouts(value *BPFConntrackTimeoutsApplyConfiguration) *FelixConfigurationSpecApplyConfiguration { + b.BPFConntrackTimeouts = value + return b +} + +// WithBPFLogFilters sets the BPFLogFilters field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFLogFilters field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFLogFilters(value map[string]string) *FelixConfigurationSpecApplyConfiguration { + b.BPFLogFilters = &value + return b +} + +// WithBPFCTLBLogFilter sets the BPFCTLBLogFilter field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFCTLBLogFilter field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFCTLBLogFilter(value string) *FelixConfigurationSpecApplyConfiguration { + b.BPFCTLBLogFilter = &value + return b +} + +// WithBPFDataIfacePattern sets the BPFDataIfacePattern field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFDataIfacePattern field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFDataIfacePattern(value string) *FelixConfigurationSpecApplyConfiguration { + b.BPFDataIfacePattern = &value + return b +} + +// WithBPFL3IfacePattern sets the BPFL3IfacePattern field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFL3IfacePattern field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFL3IfacePattern(value string) *FelixConfigurationSpecApplyConfiguration { + b.BPFL3IfacePattern = &value + return b +} + +// WithBPFConnectTimeLoadBalancingEnabled sets the BPFConnectTimeLoadBalancingEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFConnectTimeLoadBalancingEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFConnectTimeLoadBalancingEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.BPFConnectTimeLoadBalancingEnabled = &value + return b +} + +// WithBPFConnectTimeLoadBalancing sets the BPFConnectTimeLoadBalancing field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFConnectTimeLoadBalancing field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFConnectTimeLoadBalancing(value projectcalicov3.BPFConnectTimeLBType) *FelixConfigurationSpecApplyConfiguration { + b.BPFConnectTimeLoadBalancing = &value + return b +} + +// WithBPFHostNetworkedNATWithoutCTLB sets the BPFHostNetworkedNATWithoutCTLB field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFHostNetworkedNATWithoutCTLB field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFHostNetworkedNATWithoutCTLB(value projectcalicov3.BPFHostNetworkedNATType) *FelixConfigurationSpecApplyConfiguration { + b.BPFHostNetworkedNATWithoutCTLB = &value + return b +} + +// WithBPFExternalServiceMode sets the BPFExternalServiceMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFExternalServiceMode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFExternalServiceMode(value string) *FelixConfigurationSpecApplyConfiguration { + b.BPFExternalServiceMode = &value + return b +} + +// WithBPFDSROptoutCIDRs sets the BPFDSROptoutCIDRs field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFDSROptoutCIDRs field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFDSROptoutCIDRs(value []string) *FelixConfigurationSpecApplyConfiguration { + b.BPFDSROptoutCIDRs = &value + return b +} + +// WithBPFExtToServiceConnmark sets the BPFExtToServiceConnmark field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFExtToServiceConnmark field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFExtToServiceConnmark(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFExtToServiceConnmark = &value + return b +} + +// WithBPFKubeProxyIptablesCleanupEnabled sets the BPFKubeProxyIptablesCleanupEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFKubeProxyIptablesCleanupEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFKubeProxyIptablesCleanupEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.BPFKubeProxyIptablesCleanupEnabled = &value + return b +} + +// WithBPFKubeProxyMinSyncPeriod sets the BPFKubeProxyMinSyncPeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFKubeProxyMinSyncPeriod field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFKubeProxyMinSyncPeriod(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.BPFKubeProxyMinSyncPeriod = &value + return b +} + +// WithBPFKubeProxyHealthzPort sets the BPFKubeProxyHealthzPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFKubeProxyHealthzPort field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFKubeProxyHealthzPort(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFKubeProxyHealthzPort = &value + return b +} + +// WithBPFPSNATPorts sets the BPFPSNATPorts field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFPSNATPorts field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFPSNATPorts(value numorstring.Port) *FelixConfigurationSpecApplyConfiguration { + b.BPFPSNATPorts = &value + return b +} + +// WithBPFMapSizeNATFrontend sets the BPFMapSizeNATFrontend field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMapSizeNATFrontend field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMapSizeNATFrontend(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFMapSizeNATFrontend = &value + return b +} + +// WithBPFMapSizeNATBackend sets the BPFMapSizeNATBackend field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMapSizeNATBackend field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMapSizeNATBackend(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFMapSizeNATBackend = &value + return b +} + +// WithBPFMapSizeNATAffinity sets the BPFMapSizeNATAffinity field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMapSizeNATAffinity field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMapSizeNATAffinity(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFMapSizeNATAffinity = &value + return b +} + +// WithBPFMapSizeRoute sets the BPFMapSizeRoute field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMapSizeRoute field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMapSizeRoute(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFMapSizeRoute = &value + return b +} + +// WithBPFMapSizeConntrack sets the BPFMapSizeConntrack field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMapSizeConntrack field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMapSizeConntrack(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFMapSizeConntrack = &value + return b +} + +// WithBPFMapSizePerCPUConntrack sets the BPFMapSizePerCPUConntrack field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMapSizePerCPUConntrack field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMapSizePerCPUConntrack(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFMapSizePerCPUConntrack = &value + return b +} + +// WithBPFMapSizeConntrackScaling sets the BPFMapSizeConntrackScaling field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMapSizeConntrackScaling field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMapSizeConntrackScaling(value string) *FelixConfigurationSpecApplyConfiguration { + b.BPFMapSizeConntrackScaling = &value + return b +} + +// WithBPFMapSizeConntrackCleanupQueue sets the BPFMapSizeConntrackCleanupQueue field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMapSizeConntrackCleanupQueue field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMapSizeConntrackCleanupQueue(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFMapSizeConntrackCleanupQueue = &value + return b +} + +// WithBPFMapSizeIPSets sets the BPFMapSizeIPSets field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMapSizeIPSets field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMapSizeIPSets(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFMapSizeIPSets = &value + return b +} + +// WithBPFMapSizeIfState sets the BPFMapSizeIfState field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMapSizeIfState field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMapSizeIfState(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFMapSizeIfState = &value + return b +} + +// WithBPFHostConntrackBypass sets the BPFHostConntrackBypass field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFHostConntrackBypass field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFHostConntrackBypass(value bool) *FelixConfigurationSpecApplyConfiguration { + b.BPFHostConntrackBypass = &value + return b +} + +// WithBPFEnforceRPF sets the BPFEnforceRPF field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFEnforceRPF field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFEnforceRPF(value string) *FelixConfigurationSpecApplyConfiguration { + b.BPFEnforceRPF = &value + return b +} + +// WithBPFPolicyDebugEnabled sets the BPFPolicyDebugEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFPolicyDebugEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFPolicyDebugEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.BPFPolicyDebugEnabled = &value + return b +} + +// WithBPFForceTrackPacketsFromIfaces sets the BPFForceTrackPacketsFromIfaces field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFForceTrackPacketsFromIfaces field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFForceTrackPacketsFromIfaces(value []string) *FelixConfigurationSpecApplyConfiguration { + b.BPFForceTrackPacketsFromIfaces = &value + return b +} + +// WithBPFDisableGROForIfaces sets the BPFDisableGROForIfaces field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFDisableGROForIfaces field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFDisableGROForIfaces(value string) *FelixConfigurationSpecApplyConfiguration { + b.BPFDisableGROForIfaces = &value + return b +} + +// WithBPFExcludeCIDRsFromNAT sets the BPFExcludeCIDRsFromNAT field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFExcludeCIDRsFromNAT field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFExcludeCIDRsFromNAT(value []string) *FelixConfigurationSpecApplyConfiguration { + b.BPFExcludeCIDRsFromNAT = &value + return b +} + +// WithBPFExportBufferSizeMB sets the BPFExportBufferSizeMB field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFExportBufferSizeMB field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFExportBufferSizeMB(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFExportBufferSizeMB = &value + return b +} + +// WithIstioAmbientMode sets the IstioAmbientMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IstioAmbientMode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIstioAmbientMode(value projectcalicov3.IstioAmbientMode) *FelixConfigurationSpecApplyConfiguration { + b.IstioAmbientMode = &value + return b +} + +// WithIstioDSCPMark sets the IstioDSCPMark field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IstioDSCPMark field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIstioDSCPMark(value numorstring.DSCP) *FelixConfigurationSpecApplyConfiguration { + b.IstioDSCPMark = &value + return b +} + +// WithCgroupV2Path sets the CgroupV2Path field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CgroupV2Path field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithCgroupV2Path(value string) *FelixConfigurationSpecApplyConfiguration { + b.CgroupV2Path = &value + return b +} + +// WithSyslogReporterEnabled sets the SyslogReporterEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SyslogReporterEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithSyslogReporterEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.SyslogReporterEnabled = &value + return b +} + +// WithSyslogReporterNetwork sets the SyslogReporterNetwork field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SyslogReporterNetwork field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithSyslogReporterNetwork(value string) *FelixConfigurationSpecApplyConfiguration { + b.SyslogReporterNetwork = &value + return b +} + +// WithSyslogReporterAddress sets the SyslogReporterAddress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SyslogReporterAddress field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithSyslogReporterAddress(value string) *FelixConfigurationSpecApplyConfiguration { + b.SyslogReporterAddress = &value + return b +} + +// WithIPSecMode sets the IPSecMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPSecMode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPSecMode(value string) *FelixConfigurationSpecApplyConfiguration { + b.IPSecMode = &value + return b +} + +// WithIPSecAllowUnsecuredTraffic sets the IPSecAllowUnsecuredTraffic field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPSecAllowUnsecuredTraffic field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPSecAllowUnsecuredTraffic(value bool) *FelixConfigurationSpecApplyConfiguration { + b.IPSecAllowUnsecuredTraffic = &value + return b +} + +// WithIPSecIKEAlgorithm sets the IPSecIKEAlgorithm field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPSecIKEAlgorithm field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPSecIKEAlgorithm(value string) *FelixConfigurationSpecApplyConfiguration { + b.IPSecIKEAlgorithm = &value + return b +} + +// WithIPSecESPAlgorithm sets the IPSecESPAlgorithm field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPSecESPAlgorithm field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPSecESPAlgorithm(value string) *FelixConfigurationSpecApplyConfiguration { + b.IPSecESPAlgorithm = &value + return b +} + +// WithIPSecLogLevel sets the IPSecLogLevel field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPSecLogLevel field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPSecLogLevel(value string) *FelixConfigurationSpecApplyConfiguration { + b.IPSecLogLevel = &value + return b +} + +// WithIPSecPolicyRefreshInterval sets the IPSecPolicyRefreshInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPSecPolicyRefreshInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPSecPolicyRefreshInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.IPSecPolicyRefreshInterval = &value + return b +} + +// WithBPFAttachType sets the BPFAttachType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFAttachType field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFAttachType(value projectcalicov3.BPFAttachOption) *FelixConfigurationSpecApplyConfiguration { + b.BPFAttachType = &value + return b +} + +// WithFlowLogsFlushInterval sets the FlowLogsFlushInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFlushInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFlushInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFlushInterval = &value + return b +} + +// WithFlowLogsEnableHostEndpoint sets the FlowLogsEnableHostEndpoint field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsEnableHostEndpoint field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsEnableHostEndpoint(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsEnableHostEndpoint = &value + return b +} + +// WithFlowLogsEnableNetworkSets sets the FlowLogsEnableNetworkSets field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsEnableNetworkSets field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsEnableNetworkSets(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsEnableNetworkSets = &value + return b +} + +// WithFlowLogsMaxOriginalIPsIncluded sets the FlowLogsMaxOriginalIPsIncluded field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsMaxOriginalIPsIncluded field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsMaxOriginalIPsIncluded(value int) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsMaxOriginalIPsIncluded = &value + return b +} + +// WithFlowLogsCollectProcessInfo sets the FlowLogsCollectProcessInfo field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsCollectProcessInfo field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsCollectProcessInfo(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsCollectProcessInfo = &value + return b +} + +// WithFlowLogsCollectTcpStats sets the FlowLogsCollectTcpStats field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsCollectTcpStats field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsCollectTcpStats(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsCollectTcpStats = &value + return b +} + +// WithFlowLogsCollectProcessPath sets the FlowLogsCollectProcessPath field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsCollectProcessPath field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsCollectProcessPath(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsCollectProcessPath = &value + return b +} + +// WithFlowLogsCollectorDebugTrace sets the FlowLogsCollectorDebugTrace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsCollectorDebugTrace field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsCollectorDebugTrace(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsCollectorDebugTrace = &value + return b +} + +// WithFlowLogsGoldmaneServer sets the FlowLogsGoldmaneServer field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsGoldmaneServer field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsGoldmaneServer(value string) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsGoldmaneServer = &value + return b +} + +// WithFlowLogsLocalReporter sets the FlowLogsLocalReporter field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsLocalReporter field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsLocalReporter(value string) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsLocalReporter = &value + return b +} + +// WithFlowLogsDestDomainsByClient sets the FlowLogsDestDomainsByClient field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsDestDomainsByClient field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsDestDomainsByClient(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsDestDomainsByClient = &value + return b +} + +// WithFlowLogsPolicyEvaluationMode sets the FlowLogsPolicyEvaluationMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsPolicyEvaluationMode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsPolicyEvaluationMode(value string) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsPolicyEvaluationMode = &value + return b +} + +// WithFlowLogsPolicyScope sets the FlowLogsPolicyScope field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsPolicyScope field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsPolicyScope(value string) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsPolicyScope = &value + return b +} + +// WithFlowLogsFileEnabled sets the FlowLogsFileEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileEnabled = &value + return b +} + +// WithFlowLogsFileMaxFiles sets the FlowLogsFileMaxFiles field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileMaxFiles field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileMaxFiles(value int) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileMaxFiles = &value + return b +} + +// WithFlowLogsFileMaxFileSizeMB sets the FlowLogsFileMaxFileSizeMB field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileMaxFileSizeMB field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileMaxFileSizeMB(value int) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileMaxFileSizeMB = &value + return b +} + +// WithFlowLogsFileDirectory sets the FlowLogsFileDirectory field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileDirectory field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileDirectory(value string) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileDirectory = &value + return b +} + +// WithFlowLogsFileIncludeLabels sets the FlowLogsFileIncludeLabels field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileIncludeLabels field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileIncludeLabels(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileIncludeLabels = &value + return b +} + +// WithFlowLogsFileIncludePolicies sets the FlowLogsFileIncludePolicies field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileIncludePolicies field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileIncludePolicies(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileIncludePolicies = &value + return b +} + +// WithFlowLogsFileIncludeService sets the FlowLogsFileIncludeService field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileIncludeService field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileIncludeService(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileIncludeService = &value + return b +} + +// WithFlowLogsFileAggregationKindForAllowed sets the FlowLogsFileAggregationKindForAllowed field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileAggregationKindForAllowed field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileAggregationKindForAllowed(value int) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileAggregationKindForAllowed = &value + return b +} + +// WithFlowLogsFileAggregationKindForDenied sets the FlowLogsFileAggregationKindForDenied field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileAggregationKindForDenied field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileAggregationKindForDenied(value int) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileAggregationKindForDenied = &value + return b +} + +// WithFlowLogsFileEnabledForAllowed sets the FlowLogsFileEnabledForAllowed field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileEnabledForAllowed field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileEnabledForAllowed(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileEnabledForAllowed = &value + return b +} + +// WithFlowLogsFileEnabledForDenied sets the FlowLogsFileEnabledForDenied field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileEnabledForDenied field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileEnabledForDenied(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileEnabledForDenied = &value + return b +} + +// WithFlowLogsDynamicAggregationEnabled sets the FlowLogsDynamicAggregationEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsDynamicAggregationEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsDynamicAggregationEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsDynamicAggregationEnabled = &value + return b +} + +// WithFlowLogsPositionFilePath sets the FlowLogsPositionFilePath field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsPositionFilePath field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsPositionFilePath(value string) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsPositionFilePath = &value + return b +} + +// WithFlowLogsAggregationThresholdBytes sets the FlowLogsAggregationThresholdBytes field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsAggregationThresholdBytes field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsAggregationThresholdBytes(value int) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsAggregationThresholdBytes = &value + return b +} + +// WithFlowLogsFilePerFlowProcessLimit sets the FlowLogsFilePerFlowProcessLimit field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFilePerFlowProcessLimit field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFilePerFlowProcessLimit(value int) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFilePerFlowProcessLimit = &value + return b +} + +// WithFlowLogsFilePerFlowProcessArgsLimit sets the FlowLogsFilePerFlowProcessArgsLimit field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFilePerFlowProcessArgsLimit field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFilePerFlowProcessArgsLimit(value int) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFilePerFlowProcessArgsLimit = &value + return b +} + +// WithFlowLogsFileNatOutgoingPortLimit sets the FlowLogsFileNatOutgoingPortLimit field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileNatOutgoingPortLimit field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileNatOutgoingPortLimit(value int) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileNatOutgoingPortLimit = &value + return b +} + +// WithFlowLogsFileDomainsLimit sets the FlowLogsFileDomainsLimit field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FlowLogsFileDomainsLimit field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFlowLogsFileDomainsLimit(value int) *FelixConfigurationSpecApplyConfiguration { + b.FlowLogsFileDomainsLimit = &value + return b +} + +// WithWindowsFlowLogsFileDirectory sets the WindowsFlowLogsFileDirectory field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WindowsFlowLogsFileDirectory field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWindowsFlowLogsFileDirectory(value string) *FelixConfigurationSpecApplyConfiguration { + b.WindowsFlowLogsFileDirectory = &value + return b +} + +// WithWindowsFlowLogsPositionFilePath sets the WindowsFlowLogsPositionFilePath field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WindowsFlowLogsPositionFilePath field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWindowsFlowLogsPositionFilePath(value string) *FelixConfigurationSpecApplyConfiguration { + b.WindowsFlowLogsPositionFilePath = &value + return b +} + +// WithWindowsStatsDumpFilePath sets the WindowsStatsDumpFilePath field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WindowsStatsDumpFilePath field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWindowsStatsDumpFilePath(value string) *FelixConfigurationSpecApplyConfiguration { + b.WindowsStatsDumpFilePath = &value + return b +} + +// WithWindowsDNSCacheFile sets the WindowsDNSCacheFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WindowsDNSCacheFile field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWindowsDNSCacheFile(value string) *FelixConfigurationSpecApplyConfiguration { + b.WindowsDNSCacheFile = &value + return b +} + +// WithWindowsDNSExtraTTL sets the WindowsDNSExtraTTL field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WindowsDNSExtraTTL field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWindowsDNSExtraTTL(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.WindowsDNSExtraTTL = &value + return b +} + +// WithDNSTrustedServers sets the DNSTrustedServers field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSTrustedServers field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSTrustedServers(value []string) *FelixConfigurationSpecApplyConfiguration { + b.DNSTrustedServers = &value + return b +} + +// WithDNSCacheFile sets the DNSCacheFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSCacheFile field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSCacheFile(value string) *FelixConfigurationSpecApplyConfiguration { + b.DNSCacheFile = &value + return b +} + +// WithDNSCacheSaveInterval sets the DNSCacheSaveInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSCacheSaveInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSCacheSaveInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.DNSCacheSaveInterval = &value + return b +} + +// WithDNSCacheEpoch sets the DNSCacheEpoch field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSCacheEpoch field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSCacheEpoch(value int) *FelixConfigurationSpecApplyConfiguration { + b.DNSCacheEpoch = &value + return b +} + +// WithDNSExtraTTL sets the DNSExtraTTL field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSExtraTTL field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSExtraTTL(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.DNSExtraTTL = &value + return b +} + +// WithDNSLogsFlushInterval sets the DNSLogsFlushInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSLogsFlushInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSLogsFlushInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.DNSLogsFlushInterval = &value + return b +} + +// WithDNSLogsFileEnabled sets the DNSLogsFileEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSLogsFileEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSLogsFileEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.DNSLogsFileEnabled = &value + return b +} + +// WithDNSLogsFileMaxFiles sets the DNSLogsFileMaxFiles field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSLogsFileMaxFiles field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSLogsFileMaxFiles(value int) *FelixConfigurationSpecApplyConfiguration { + b.DNSLogsFileMaxFiles = &value + return b +} + +// WithDNSLogsFileMaxFileSizeMB sets the DNSLogsFileMaxFileSizeMB field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSLogsFileMaxFileSizeMB field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSLogsFileMaxFileSizeMB(value int) *FelixConfigurationSpecApplyConfiguration { + b.DNSLogsFileMaxFileSizeMB = &value + return b +} + +// WithDNSLogsFileDirectory sets the DNSLogsFileDirectory field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSLogsFileDirectory field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSLogsFileDirectory(value string) *FelixConfigurationSpecApplyConfiguration { + b.DNSLogsFileDirectory = &value + return b +} + +// WithDNSLogsFileIncludeLabels sets the DNSLogsFileIncludeLabels field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSLogsFileIncludeLabels field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSLogsFileIncludeLabels(value bool) *FelixConfigurationSpecApplyConfiguration { + b.DNSLogsFileIncludeLabels = &value + return b +} + +// WithDNSLogsFileAggregationKind sets the DNSLogsFileAggregationKind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSLogsFileAggregationKind field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSLogsFileAggregationKind(value int) *FelixConfigurationSpecApplyConfiguration { + b.DNSLogsFileAggregationKind = &value + return b +} + +// WithDNSLogsFilePerNodeLimit sets the DNSLogsFilePerNodeLimit field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSLogsFilePerNodeLimit field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSLogsFilePerNodeLimit(value int) *FelixConfigurationSpecApplyConfiguration { + b.DNSLogsFilePerNodeLimit = &value + return b +} + +// WithDNSLogsLatency sets the DNSLogsLatency field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSLogsLatency field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSLogsLatency(value bool) *FelixConfigurationSpecApplyConfiguration { + b.DNSLogsLatency = &value + return b +} + +// WithDNSPolicyMode sets the DNSPolicyMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSPolicyMode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSPolicyMode(value projectcalicov3.DNSPolicyMode) *FelixConfigurationSpecApplyConfiguration { + b.DNSPolicyMode = &value + return b +} + +// WithBPFDNSPolicyMode sets the BPFDNSPolicyMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFDNSPolicyMode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFDNSPolicyMode(value projectcalicov3.BPFDNSPolicyMode) *FelixConfigurationSpecApplyConfiguration { + b.BPFDNSPolicyMode = &value + return b +} + +// WithNFTablesDNSPolicyMode sets the NFTablesDNSPolicyMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NFTablesDNSPolicyMode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithNFTablesDNSPolicyMode(value projectcalicov3.NFTablesDNSPolicyMode) *FelixConfigurationSpecApplyConfiguration { + b.NFTablesDNSPolicyMode = &value + return b +} + +// WithDNSPolicyNfqueueID sets the DNSPolicyNfqueueID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSPolicyNfqueueID field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSPolicyNfqueueID(value int) *FelixConfigurationSpecApplyConfiguration { + b.DNSPolicyNfqueueID = &value + return b +} + +// WithDNSPolicyNfqueueSize sets the DNSPolicyNfqueueSize field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSPolicyNfqueueSize field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSPolicyNfqueueSize(value int) *FelixConfigurationSpecApplyConfiguration { + b.DNSPolicyNfqueueSize = &value + return b +} + +// WithDNSPacketsNfqueueID sets the DNSPacketsNfqueueID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSPacketsNfqueueID field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSPacketsNfqueueID(value int) *FelixConfigurationSpecApplyConfiguration { + b.DNSPacketsNfqueueID = &value + return b +} + +// WithDNSPacketsNfqueueSize sets the DNSPacketsNfqueueSize field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSPacketsNfqueueSize field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSPacketsNfqueueSize(value int) *FelixConfigurationSpecApplyConfiguration { + b.DNSPacketsNfqueueSize = &value + return b +} + +// WithDNSPacketsNfqueueMaxHoldDuration sets the DNSPacketsNfqueueMaxHoldDuration field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DNSPacketsNfqueueMaxHoldDuration field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithDNSPacketsNfqueueMaxHoldDuration(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.DNSPacketsNfqueueMaxHoldDuration = &value + return b +} + +// WithL7LogsFlushInterval sets the L7LogsFlushInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFlushInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFlushInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFlushInterval = &value + return b +} + +// WithL7LogsFileEnabled sets the L7LogsFileEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileEnabled = &value + return b +} + +// WithL7LogsFileMaxFiles sets the L7LogsFileMaxFiles field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileMaxFiles field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileMaxFiles(value int) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileMaxFiles = &value + return b +} + +// WithL7LogsFileMaxFileSizeMB sets the L7LogsFileMaxFileSizeMB field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileMaxFileSizeMB field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileMaxFileSizeMB(value int) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileMaxFileSizeMB = &value + return b +} + +// WithL7LogsFileDirectory sets the L7LogsFileDirectory field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileDirectory field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileDirectory(value string) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileDirectory = &value + return b +} + +// WithL7LogsFileAggregationHTTPHeaderInfo sets the L7LogsFileAggregationHTTPHeaderInfo field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileAggregationHTTPHeaderInfo field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileAggregationHTTPHeaderInfo(value string) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileAggregationHTTPHeaderInfo = &value + return b +} + +// WithL7LogsFileAggregationHTTPMethod sets the L7LogsFileAggregationHTTPMethod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileAggregationHTTPMethod field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileAggregationHTTPMethod(value string) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileAggregationHTTPMethod = &value + return b +} + +// WithL7LogsFileAggregationServiceInfo sets the L7LogsFileAggregationServiceInfo field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileAggregationServiceInfo field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileAggregationServiceInfo(value string) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileAggregationServiceInfo = &value + return b +} + +// WithL7LogsFileAggregationDestinationInfo sets the L7LogsFileAggregationDestinationInfo field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileAggregationDestinationInfo field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileAggregationDestinationInfo(value string) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileAggregationDestinationInfo = &value + return b +} + +// WithL7LogsFileAggregationSourceInfo sets the L7LogsFileAggregationSourceInfo field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileAggregationSourceInfo field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileAggregationSourceInfo(value string) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileAggregationSourceInfo = &value + return b +} + +// WithL7LogsFileAggregationResponseCode sets the L7LogsFileAggregationResponseCode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileAggregationResponseCode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileAggregationResponseCode(value string) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileAggregationResponseCode = &value + return b +} + +// WithL7LogsFileAggregationTrimURL sets the L7LogsFileAggregationTrimURL field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileAggregationTrimURL field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileAggregationTrimURL(value string) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileAggregationTrimURL = &value + return b +} + +// WithL7LogsFileAggregationNumURLPath sets the L7LogsFileAggregationNumURLPath field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileAggregationNumURLPath field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileAggregationNumURLPath(value int) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileAggregationNumURLPath = &value + return b +} + +// WithL7LogsFileAggregationURLCharLimit sets the L7LogsFileAggregationURLCharLimit field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFileAggregationURLCharLimit field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFileAggregationURLCharLimit(value int) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFileAggregationURLCharLimit = &value + return b +} + +// WithL7LogsFilePerNodeLimit sets the L7LogsFilePerNodeLimit field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the L7LogsFilePerNodeLimit field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithL7LogsFilePerNodeLimit(value int) *FelixConfigurationSpecApplyConfiguration { + b.L7LogsFilePerNodeLimit = &value + return b +} + +// WithWAFEventLogsFlushInterval sets the WAFEventLogsFlushInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WAFEventLogsFlushInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWAFEventLogsFlushInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.WAFEventLogsFlushInterval = &value + return b +} + +// WithWAFEventLogsFileEnabled sets the WAFEventLogsFileEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WAFEventLogsFileEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWAFEventLogsFileEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.WAFEventLogsFileEnabled = &value + return b +} + +// WithWAFEventLogsFileDirectory sets the WAFEventLogsFileDirectory field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WAFEventLogsFileDirectory field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWAFEventLogsFileDirectory(value string) *FelixConfigurationSpecApplyConfiguration { + b.WAFEventLogsFileDirectory = &value + return b +} + +// WithWAFEventLogsFileMaxFiles sets the WAFEventLogsFileMaxFiles field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WAFEventLogsFileMaxFiles field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWAFEventLogsFileMaxFiles(value int) *FelixConfigurationSpecApplyConfiguration { + b.WAFEventLogsFileMaxFiles = &value + return b +} + +// WithWAFEventLogsFileMaxFileSizeMB sets the WAFEventLogsFileMaxFileSizeMB field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WAFEventLogsFileMaxFileSizeMB field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWAFEventLogsFileMaxFileSizeMB(value int) *FelixConfigurationSpecApplyConfiguration { + b.WAFEventLogsFileMaxFileSizeMB = &value + return b +} + +// WithPolicyActivityLogsFlushInterval sets the PolicyActivityLogsFlushInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PolicyActivityLogsFlushInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPolicyActivityLogsFlushInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.PolicyActivityLogsFlushInterval = &value + return b +} + +// WithPolicyActivityLogsFileEnabled sets the PolicyActivityLogsFileEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PolicyActivityLogsFileEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPolicyActivityLogsFileEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.PolicyActivityLogsFileEnabled = &value + return b +} + +// WithPolicyActivityLogsFileDirectory sets the PolicyActivityLogsFileDirectory field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PolicyActivityLogsFileDirectory field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPolicyActivityLogsFileDirectory(value string) *FelixConfigurationSpecApplyConfiguration { + b.PolicyActivityLogsFileDirectory = &value + return b +} + +// WithPolicyActivityLogsFileMaxFiles sets the PolicyActivityLogsFileMaxFiles field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PolicyActivityLogsFileMaxFiles field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPolicyActivityLogsFileMaxFiles(value int) *FelixConfigurationSpecApplyConfiguration { + b.PolicyActivityLogsFileMaxFiles = &value + return b +} + +// WithPolicyActivityLogsFileMaxFileSizeMB sets the PolicyActivityLogsFileMaxFileSizeMB field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PolicyActivityLogsFileMaxFileSizeMB field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithPolicyActivityLogsFileMaxFileSizeMB(value int) *FelixConfigurationSpecApplyConfiguration { + b.PolicyActivityLogsFileMaxFileSizeMB = &value + return b +} + +// WithWindowsNetworkName sets the WindowsNetworkName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WindowsNetworkName field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWindowsNetworkName(value string) *FelixConfigurationSpecApplyConfiguration { + b.WindowsNetworkName = &value + return b +} + +// WithBPFRedirectToPeer sets the BPFRedirectToPeer field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFRedirectToPeer field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFRedirectToPeer(value string) *FelixConfigurationSpecApplyConfiguration { + b.BPFRedirectToPeer = &value + return b +} + +// WithBPFProfiling sets the BPFProfiling field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFProfiling field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFProfiling(value string) *FelixConfigurationSpecApplyConfiguration { + b.BPFProfiling = &value + return b +} + +// WithRouteSource sets the RouteSource field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RouteSource field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithRouteSource(value string) *FelixConfigurationSpecApplyConfiguration { + b.RouteSource = &value + return b +} + +// WithRouteTableRanges sets the RouteTableRanges field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RouteTableRanges field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithRouteTableRanges(value projectcalicov3.RouteTableRanges) *FelixConfigurationSpecApplyConfiguration { + b.RouteTableRanges = &value + return b +} + +// WithRouteTableRange sets the RouteTableRange field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RouteTableRange field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithRouteTableRange(value *RouteTableRangeApplyConfiguration) *FelixConfigurationSpecApplyConfiguration { + b.RouteTableRange = value + return b +} + +// WithEgressIPSupport sets the EgressIPSupport field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EgressIPSupport field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithEgressIPSupport(value string) *FelixConfigurationSpecApplyConfiguration { + b.EgressIPSupport = &value + return b +} + +// WithEgressIPVXLANPort sets the EgressIPVXLANPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EgressIPVXLANPort field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithEgressIPVXLANPort(value int) *FelixConfigurationSpecApplyConfiguration { + b.EgressIPVXLANPort = &value + return b +} + +// WithEgressIPVXLANVNI sets the EgressIPVXLANVNI field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EgressIPVXLANVNI field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithEgressIPVXLANVNI(value int) *FelixConfigurationSpecApplyConfiguration { + b.EgressIPVXLANVNI = &value + return b +} + +// WithEgressIPRoutingRulePriority sets the EgressIPRoutingRulePriority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EgressIPRoutingRulePriority field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithEgressIPRoutingRulePriority(value int) *FelixConfigurationSpecApplyConfiguration { + b.EgressIPRoutingRulePriority = &value + return b +} + +// WithEgressGatewayPollInterval sets the EgressGatewayPollInterval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EgressGatewayPollInterval field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithEgressGatewayPollInterval(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.EgressGatewayPollInterval = &value + return b +} + +// WithEgressGatewayPollFailureCount sets the EgressGatewayPollFailureCount field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EgressGatewayPollFailureCount field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithEgressGatewayPollFailureCount(value int) *FelixConfigurationSpecApplyConfiguration { + b.EgressGatewayPollFailureCount = &value + return b +} + +// WithEgressIPHostIfacePattern sets the EgressIPHostIfacePattern field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EgressIPHostIfacePattern field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithEgressIPHostIfacePattern(value string) *FelixConfigurationSpecApplyConfiguration { + b.EgressIPHostIfacePattern = &value + return b +} + +// WithRouteSyncDisabled sets the RouteSyncDisabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RouteSyncDisabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithRouteSyncDisabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.RouteSyncDisabled = &value + return b +} + +// WithExternalNetworkSupport sets the ExternalNetworkSupport field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ExternalNetworkSupport field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithExternalNetworkSupport(value string) *FelixConfigurationSpecApplyConfiguration { + b.ExternalNetworkSupport = &value + return b +} + +// WithExternalNetworkRoutingRulePriority sets the ExternalNetworkRoutingRulePriority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ExternalNetworkRoutingRulePriority field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithExternalNetworkRoutingRulePriority(value int) *FelixConfigurationSpecApplyConfiguration { + b.ExternalNetworkRoutingRulePriority = &value + return b +} + +// WithIPv4NormalRoutePriority sets the IPv4NormalRoutePriority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPv4NormalRoutePriority field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPv4NormalRoutePriority(value int) *FelixConfigurationSpecApplyConfiguration { + b.IPv4NormalRoutePriority = &value + return b +} + +// WithIPv4ElevatedRoutePriority sets the IPv4ElevatedRoutePriority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPv4ElevatedRoutePriority field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPv4ElevatedRoutePriority(value int) *FelixConfigurationSpecApplyConfiguration { + b.IPv4ElevatedRoutePriority = &value + return b +} + +// WithIPv6NormalRoutePriority sets the IPv6NormalRoutePriority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPv6NormalRoutePriority field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPv6NormalRoutePriority(value int) *FelixConfigurationSpecApplyConfiguration { + b.IPv6NormalRoutePriority = &value + return b +} + +// WithIPv6ElevatedRoutePriority sets the IPv6ElevatedRoutePriority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPv6ElevatedRoutePriority field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithIPv6ElevatedRoutePriority(value int) *FelixConfigurationSpecApplyConfiguration { + b.IPv6ElevatedRoutePriority = &value + return b +} + +// WithLiveMigrationRouteConvergenceTime sets the LiveMigrationRouteConvergenceTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LiveMigrationRouteConvergenceTime field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithLiveMigrationRouteConvergenceTime(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.LiveMigrationRouteConvergenceTime = &value + return b +} + +// WithWireguardEnabled sets the WireguardEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.WireguardEnabled = &value + return b +} + +// WithWireguardEnabledV6 sets the WireguardEnabledV6 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardEnabledV6 field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardEnabledV6(value bool) *FelixConfigurationSpecApplyConfiguration { + b.WireguardEnabledV6 = &value + return b +} + +// WithWireguardThreadingEnabled sets the WireguardThreadingEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardThreadingEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardThreadingEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.WireguardThreadingEnabled = &value + return b +} + +// WithWireguardListeningPort sets the WireguardListeningPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardListeningPort field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardListeningPort(value int) *FelixConfigurationSpecApplyConfiguration { + b.WireguardListeningPort = &value + return b +} + +// WithWireguardListeningPortV6 sets the WireguardListeningPortV6 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardListeningPortV6 field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardListeningPortV6(value int) *FelixConfigurationSpecApplyConfiguration { + b.WireguardListeningPortV6 = &value + return b +} + +// WithWireguardRoutingRulePriority sets the WireguardRoutingRulePriority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardRoutingRulePriority field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardRoutingRulePriority(value int) *FelixConfigurationSpecApplyConfiguration { + b.WireguardRoutingRulePriority = &value + return b +} + +// WithWireguardInterfaceName sets the WireguardInterfaceName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardInterfaceName field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardInterfaceName(value string) *FelixConfigurationSpecApplyConfiguration { + b.WireguardInterfaceName = &value + return b +} + +// WithWireguardInterfaceNameV6 sets the WireguardInterfaceNameV6 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardInterfaceNameV6 field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardInterfaceNameV6(value string) *FelixConfigurationSpecApplyConfiguration { + b.WireguardInterfaceNameV6 = &value + return b +} + +// WithWireguardMTU sets the WireguardMTU field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardMTU field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardMTU(value int) *FelixConfigurationSpecApplyConfiguration { + b.WireguardMTU = &value + return b +} + +// WithWireguardMTUV6 sets the WireguardMTUV6 field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardMTUV6 field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardMTUV6(value int) *FelixConfigurationSpecApplyConfiguration { + b.WireguardMTUV6 = &value + return b +} + +// WithWireguardHostEncryptionEnabled sets the WireguardHostEncryptionEnabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardHostEncryptionEnabled field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardHostEncryptionEnabled(value bool) *FelixConfigurationSpecApplyConfiguration { + b.WireguardHostEncryptionEnabled = &value + return b +} + +// WithWireguardPersistentKeepAlive sets the WireguardPersistentKeepAlive field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WireguardPersistentKeepAlive field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWireguardPersistentKeepAlive(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.WireguardPersistentKeepAlive = &value + return b +} + +// WithCaptureDir sets the CaptureDir field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CaptureDir field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithCaptureDir(value string) *FelixConfigurationSpecApplyConfiguration { + b.CaptureDir = &value + return b +} + +// WithCaptureMaxSizeBytes sets the CaptureMaxSizeBytes field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CaptureMaxSizeBytes field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithCaptureMaxSizeBytes(value int) *FelixConfigurationSpecApplyConfiguration { + b.CaptureMaxSizeBytes = &value + return b +} + +// WithCaptureRotationSeconds sets the CaptureRotationSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CaptureRotationSeconds field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithCaptureRotationSeconds(value int) *FelixConfigurationSpecApplyConfiguration { + b.CaptureRotationSeconds = &value + return b +} + +// WithCaptureMaxFiles sets the CaptureMaxFiles field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CaptureMaxFiles field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithCaptureMaxFiles(value int) *FelixConfigurationSpecApplyConfiguration { + b.CaptureMaxFiles = &value + return b +} + +// WithAWSSrcDstCheck sets the AWSSrcDstCheck field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AWSSrcDstCheck field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithAWSSrcDstCheck(value projectcalicov3.AWSSrcDstCheckOption) *FelixConfigurationSpecApplyConfiguration { + b.AWSSrcDstCheck = &value + return b +} + +// WithAWSSecondaryIPSupport sets the AWSSecondaryIPSupport field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AWSSecondaryIPSupport field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithAWSSecondaryIPSupport(value string) *FelixConfigurationSpecApplyConfiguration { + b.AWSSecondaryIPSupport = &value + return b +} + +// WithAWSSecondaryIPRoutingRulePriority sets the AWSSecondaryIPRoutingRulePriority field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AWSSecondaryIPRoutingRulePriority field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithAWSSecondaryIPRoutingRulePriority(value int) *FelixConfigurationSpecApplyConfiguration { + b.AWSSecondaryIPRoutingRulePriority = &value + return b +} + +// WithAWSRequestTimeout sets the AWSRequestTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AWSRequestTimeout field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithAWSRequestTimeout(value v1.Duration) *FelixConfigurationSpecApplyConfiguration { + b.AWSRequestTimeout = &value + return b +} + +// WithServiceLoopPrevention sets the ServiceLoopPrevention field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ServiceLoopPrevention field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithServiceLoopPrevention(value string) *FelixConfigurationSpecApplyConfiguration { + b.ServiceLoopPrevention = &value + return b +} + +// WithWorkloadSourceSpoofing sets the WorkloadSourceSpoofing field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WorkloadSourceSpoofing field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWorkloadSourceSpoofing(value string) *FelixConfigurationSpecApplyConfiguration { + b.WorkloadSourceSpoofing = &value + return b +} + +// WithMTUIfacePattern sets the MTUIfacePattern field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MTUIfacePattern field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithMTUIfacePattern(value string) *FelixConfigurationSpecApplyConfiguration { + b.MTUIfacePattern = &value + return b +} + +// WithTPROXYMode sets the TPROXYMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TPROXYMode field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithTPROXYMode(value string) *FelixConfigurationSpecApplyConfiguration { + b.TPROXYMode = &value + return b +} + +// WithTPROXYPort sets the TPROXYPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TPROXYPort field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithTPROXYPort(value int) *FelixConfigurationSpecApplyConfiguration { + b.TPROXYPort = &value + return b +} + +// WithTPROXYUpstreamConnMark sets the TPROXYUpstreamConnMark field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TPROXYUpstreamConnMark field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithTPROXYUpstreamConnMark(value uint32) *FelixConfigurationSpecApplyConfiguration { + b.TPROXYUpstreamConnMark = &value + return b +} + +// WithFloatingIPs sets the FloatingIPs field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FloatingIPs field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithFloatingIPs(value projectcalicov3.FloatingIPType) *FelixConfigurationSpecApplyConfiguration { + b.FloatingIPs = &value + return b +} + +// WithWindowsManageFirewallRules sets the WindowsManageFirewallRules field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WindowsManageFirewallRules field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithWindowsManageFirewallRules(value projectcalicov3.WindowsManageFirewallRulesMode) *FelixConfigurationSpecApplyConfiguration { + b.WindowsManageFirewallRules = &value + return b +} + +// WithGoGCThreshold sets the GoGCThreshold field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GoGCThreshold field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithGoGCThreshold(value int) *FelixConfigurationSpecApplyConfiguration { + b.GoGCThreshold = &value + return b +} + +// WithGoMemoryLimitMB sets the GoMemoryLimitMB field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GoMemoryLimitMB field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithGoMemoryLimitMB(value int) *FelixConfigurationSpecApplyConfiguration { + b.GoMemoryLimitMB = &value + return b +} + +// WithGoMaxProcs sets the GoMaxProcs field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GoMaxProcs field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithGoMaxProcs(value int) *FelixConfigurationSpecApplyConfiguration { + b.GoMaxProcs = &value + return b +} + +// WithRequireMTUFile sets the RequireMTUFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RequireMTUFile field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithRequireMTUFile(value bool) *FelixConfigurationSpecApplyConfiguration { + b.RequireMTUFile = &value + return b +} + +// WithBPFMaglevMaxEndpointsPerService sets the BPFMaglevMaxEndpointsPerService field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMaglevMaxEndpointsPerService field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMaglevMaxEndpointsPerService(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFMaglevMaxEndpointsPerService = &value + return b +} + +// WithBPFMaglevMaxServices sets the BPFMaglevMaxServices field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BPFMaglevMaxServices field is set to the value of the last call. +func (b *FelixConfigurationSpecApplyConfiguration) WithBPFMaglevMaxServices(value int) *FelixConfigurationSpecApplyConfiguration { + b.BPFMaglevMaxServices = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalert.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalert.go new file mode 100644 index 00000000..7348aaec --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalert.go @@ -0,0 +1,271 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// GlobalAlertApplyConfiguration represents a declarative configuration of the GlobalAlert type for use +// with apply. +type GlobalAlertApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *GlobalAlertSpecApplyConfiguration `json:"spec,omitempty"` + Status *GlobalAlertStatusApplyConfiguration `json:"status,omitempty"` +} + +// GlobalAlert constructs a declarative configuration of the GlobalAlert type for use with +// apply. +func GlobalAlert(name string) *GlobalAlertApplyConfiguration { + b := &GlobalAlertApplyConfiguration{} + b.WithName(name) + b.WithKind("GlobalAlert") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractGlobalAlertFrom extracts the applied configuration owned by fieldManager from +// globalAlert for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// globalAlert must be a unmodified GlobalAlert API object that was retrieved from the Kubernetes API. +// ExtractGlobalAlertFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalAlertFrom(globalAlert *projectcalicov3.GlobalAlert, fieldManager string, subresource string) (*GlobalAlertApplyConfiguration, error) { + b := &GlobalAlertApplyConfiguration{} + err := managedfields.ExtractInto(globalAlert, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalAlert"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(globalAlert.Name) + + b.WithKind("GlobalAlert") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractGlobalAlert extracts the applied configuration owned by fieldManager from +// globalAlert. If no managedFields are found in globalAlert for fieldManager, a +// GlobalAlertApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// globalAlert must be a unmodified GlobalAlert API object that was retrieved from the Kubernetes API. +// ExtractGlobalAlert provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalAlert(globalAlert *projectcalicov3.GlobalAlert, fieldManager string) (*GlobalAlertApplyConfiguration, error) { + return ExtractGlobalAlertFrom(globalAlert, fieldManager, "") +} + +// ExtractGlobalAlertStatus extracts the applied configuration owned by fieldManager from +// globalAlert for the status subresource. +func ExtractGlobalAlertStatus(globalAlert *projectcalicov3.GlobalAlert, fieldManager string) (*GlobalAlertApplyConfiguration, error) { + return ExtractGlobalAlertFrom(globalAlert, fieldManager, "status") +} + +func (b GlobalAlertApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithKind(value string) *GlobalAlertApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithAPIVersion(value string) *GlobalAlertApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithName(value string) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithGenerateName(value string) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithNamespace(value string) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithUID(value types.UID) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithResourceVersion(value string) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithGeneration(value int64) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithCreationTimestamp(value metav1.Time) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *GlobalAlertApplyConfiguration) WithLabels(entries map[string]string) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *GlobalAlertApplyConfiguration) WithAnnotations(entries map[string]string) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *GlobalAlertApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *GlobalAlertApplyConfiguration) WithFinalizers(values ...string) *GlobalAlertApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *GlobalAlertApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithSpec(value *GlobalAlertSpecApplyConfiguration) *GlobalAlertApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *GlobalAlertApplyConfiguration) WithStatus(value *GlobalAlertStatusApplyConfiguration) *GlobalAlertApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *GlobalAlertApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *GlobalAlertApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *GlobalAlertApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *GlobalAlertApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertspec.go new file mode 100644 index 00000000..c3038ba3 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertspec.go @@ -0,0 +1,190 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// GlobalAlertSpecApplyConfiguration represents a declarative configuration of the GlobalAlertSpec type for use +// with apply. +type GlobalAlertSpecApplyConfiguration struct { + // Type will dictate how the fields of the GlobalAlert will be utilized. + // Each Type will have different usages and defaults for the fields. [Default: RuleBased] + Type *projectcalicov3.GlobalAlertType `json:"type,omitempty"` + // Template for the description field in generated events, description is used if this is omitted. + Summary *string `json:"summary,omitempty"` + // Human-readable description of the template. + Description *string `json:"description,omitempty"` + // Severity of the alert for display in Manager. + Severity *int `json:"severity,omitempty"` + // If Type is RuleBased, it is how often the query defined will run. + // If Type is AnomalyDetection it is how often the detector will be run. + Period *v1.Duration `json:"period,omitempty"` + // How much data to gather at once. + // If Type is RuleBased, it must exceed audit log flush interval, dnsLogsFlushInterval, or flowLogsFlushInterval as appropriate. + Lookback *v1.Duration `json:"lookback,omitempty"` + // DataSet determines which dataset type the Query will use. + // Required and used only if Type is RuleBased. + DataSet *string `json:"dataSet,omitempty"` + // Which data to include from the source data set. Written in a domain-specific query language. Only used if Type is RuleBased. + Query *string `json:"query,omitempty"` + // An optional list of fields to aggregate results. + // Only used if Type is RuleBased. + AggregateBy []string `json:"aggregateBy,omitempty"` + // Which field to aggregate results by if using a metric other than count. + // Only used if Type is RuleBased. + Field *string `json:"field,omitempty"` + // A metric to apply to aggregated results. count is the number of log entries matching the aggregation pattern. + // Others are applied only to numeric fields in the logs. + // Only used if Type is RuleBased. + Metric *string `json:"metric,omitempty"` + // Compare the value of the metric to the threshold using this condition. + // Only used if Type is RuleBased. + Condition *string `json:"condition,omitempty"` + // A numeric value to compare the value of the metric against. + // Only used if Type is RuleBased. + Threshold *float64 `json:"threshold,omitempty"` + // An optional list of values to replace variable names in query. + // Only used if Type is RuleBased. + Substitutions []GlobalAlertSubstitutionApplyConfiguration `json:"substitutions,omitempty"` + // Parameters for configuring an AnomalyDetection run. + // Only used if Type is AnomalyDetection. + Detector *DetectorParamsApplyConfiguration `json:"detector,omitempty"` +} + +// GlobalAlertSpecApplyConfiguration constructs a declarative configuration of the GlobalAlertSpec type for use with +// apply. +func GlobalAlertSpec() *GlobalAlertSpecApplyConfiguration { + return &GlobalAlertSpecApplyConfiguration{} +} + +// WithType sets the Type field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Type field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithType(value projectcalicov3.GlobalAlertType) *GlobalAlertSpecApplyConfiguration { + b.Type = &value + return b +} + +// WithSummary sets the Summary field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Summary field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithSummary(value string) *GlobalAlertSpecApplyConfiguration { + b.Summary = &value + return b +} + +// WithDescription sets the Description field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Description field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithDescription(value string) *GlobalAlertSpecApplyConfiguration { + b.Description = &value + return b +} + +// WithSeverity sets the Severity field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Severity field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithSeverity(value int) *GlobalAlertSpecApplyConfiguration { + b.Severity = &value + return b +} + +// WithPeriod sets the Period field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Period field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithPeriod(value v1.Duration) *GlobalAlertSpecApplyConfiguration { + b.Period = &value + return b +} + +// WithLookback sets the Lookback field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Lookback field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithLookback(value v1.Duration) *GlobalAlertSpecApplyConfiguration { + b.Lookback = &value + return b +} + +// WithDataSet sets the DataSet field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DataSet field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithDataSet(value string) *GlobalAlertSpecApplyConfiguration { + b.DataSet = &value + return b +} + +// WithQuery sets the Query field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Query field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithQuery(value string) *GlobalAlertSpecApplyConfiguration { + b.Query = &value + return b +} + +// WithAggregateBy adds the given value to the AggregateBy field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the AggregateBy field. +func (b *GlobalAlertSpecApplyConfiguration) WithAggregateBy(values ...string) *GlobalAlertSpecApplyConfiguration { + for i := range values { + b.AggregateBy = append(b.AggregateBy, values[i]) + } + return b +} + +// WithField sets the Field field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Field field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithField(value string) *GlobalAlertSpecApplyConfiguration { + b.Field = &value + return b +} + +// WithMetric sets the Metric field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Metric field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithMetric(value string) *GlobalAlertSpecApplyConfiguration { + b.Metric = &value + return b +} + +// WithCondition sets the Condition field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Condition field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithCondition(value string) *GlobalAlertSpecApplyConfiguration { + b.Condition = &value + return b +} + +// WithThreshold sets the Threshold field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Threshold field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithThreshold(value float64) *GlobalAlertSpecApplyConfiguration { + b.Threshold = &value + return b +} + +// WithSubstitutions adds the given value to the Substitutions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Substitutions field. +func (b *GlobalAlertSpecApplyConfiguration) WithSubstitutions(values ...*GlobalAlertSubstitutionApplyConfiguration) *GlobalAlertSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithSubstitutions") + } + b.Substitutions = append(b.Substitutions, *values[i]) + } + return b +} + +// WithDetector sets the Detector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Detector field is set to the value of the last call. +func (b *GlobalAlertSpecApplyConfiguration) WithDetector(value *DetectorParamsApplyConfiguration) *GlobalAlertSpecApplyConfiguration { + b.Detector = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertstatus.go new file mode 100644 index 00000000..ab483313 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertstatus.go @@ -0,0 +1,79 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// GlobalAlertStatusApplyConfiguration represents a declarative configuration of the GlobalAlertStatus type for use +// with apply. +type GlobalAlertStatusApplyConfiguration struct { + LastUpdate *v1.Time `json:"lastUpdate,omitempty"` + Active *bool `json:"active,omitempty"` + Healthy *bool `json:"healthy,omitempty"` + LastExecuted *v1.Time `json:"lastExecuted,omitempty"` + LastEvent *v1.Time `json:"lastEvent,omitempty"` + ErrorConditions []ErrorConditionApplyConfiguration `json:"errorConditions,omitempty"` +} + +// GlobalAlertStatusApplyConfiguration constructs a declarative configuration of the GlobalAlertStatus type for use with +// apply. +func GlobalAlertStatus() *GlobalAlertStatusApplyConfiguration { + return &GlobalAlertStatusApplyConfiguration{} +} + +// WithLastUpdate sets the LastUpdate field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastUpdate field is set to the value of the last call. +func (b *GlobalAlertStatusApplyConfiguration) WithLastUpdate(value v1.Time) *GlobalAlertStatusApplyConfiguration { + b.LastUpdate = &value + return b +} + +// WithActive sets the Active field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Active field is set to the value of the last call. +func (b *GlobalAlertStatusApplyConfiguration) WithActive(value bool) *GlobalAlertStatusApplyConfiguration { + b.Active = &value + return b +} + +// WithHealthy sets the Healthy field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Healthy field is set to the value of the last call. +func (b *GlobalAlertStatusApplyConfiguration) WithHealthy(value bool) *GlobalAlertStatusApplyConfiguration { + b.Healthy = &value + return b +} + +// WithLastExecuted sets the LastExecuted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastExecuted field is set to the value of the last call. +func (b *GlobalAlertStatusApplyConfiguration) WithLastExecuted(value v1.Time) *GlobalAlertStatusApplyConfiguration { + b.LastExecuted = &value + return b +} + +// WithLastEvent sets the LastEvent field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastEvent field is set to the value of the last call. +func (b *GlobalAlertStatusApplyConfiguration) WithLastEvent(value v1.Time) *GlobalAlertStatusApplyConfiguration { + b.LastEvent = &value + return b +} + +// WithErrorConditions adds the given value to the ErrorConditions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ErrorConditions field. +func (b *GlobalAlertStatusApplyConfiguration) WithErrorConditions(values ...*ErrorConditionApplyConfiguration) *GlobalAlertStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithErrorConditions") + } + b.ErrorConditions = append(b.ErrorConditions, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertsubstitution.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertsubstitution.go new file mode 100644 index 00000000..bacbd557 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalertsubstitution.go @@ -0,0 +1,38 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// GlobalAlertSubstitutionApplyConfiguration represents a declarative configuration of the GlobalAlertSubstitution type for use +// with apply. +// +// GlobalAlertSubstitution substitutes for the variables in the set operators of a Query. +type GlobalAlertSubstitutionApplyConfiguration struct { + Name *string `json:"name,omitempty"` + Values []string `json:"values,omitempty"` +} + +// GlobalAlertSubstitutionApplyConfiguration constructs a declarative configuration of the GlobalAlertSubstitution type for use with +// apply. +func GlobalAlertSubstitution() *GlobalAlertSubstitutionApplyConfiguration { + return &GlobalAlertSubstitutionApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *GlobalAlertSubstitutionApplyConfiguration) WithName(value string) *GlobalAlertSubstitutionApplyConfiguration { + b.Name = &value + return b +} + +// WithValues adds the given value to the Values field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Values field. +func (b *GlobalAlertSubstitutionApplyConfiguration) WithValues(values ...string) *GlobalAlertSubstitutionApplyConfiguration { + for i := range values { + b.Values = append(b.Values, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalerttemplate.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalerttemplate.go new file mode 100644 index 00000000..ecb5a934 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalalerttemplate.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// GlobalAlertTemplateApplyConfiguration represents a declarative configuration of the GlobalAlertTemplate type for use +// with apply. +type GlobalAlertTemplateApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *GlobalAlertSpecApplyConfiguration `json:"spec,omitempty"` +} + +// GlobalAlertTemplate constructs a declarative configuration of the GlobalAlertTemplate type for use with +// apply. +func GlobalAlertTemplate(name string) *GlobalAlertTemplateApplyConfiguration { + b := &GlobalAlertTemplateApplyConfiguration{} + b.WithName(name) + b.WithKind("GlobalAlertTemplate") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractGlobalAlertTemplateFrom extracts the applied configuration owned by fieldManager from +// globalAlertTemplate for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// globalAlertTemplate must be a unmodified GlobalAlertTemplate API object that was retrieved from the Kubernetes API. +// ExtractGlobalAlertTemplateFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalAlertTemplateFrom(globalAlertTemplate *projectcalicov3.GlobalAlertTemplate, fieldManager string, subresource string) (*GlobalAlertTemplateApplyConfiguration, error) { + b := &GlobalAlertTemplateApplyConfiguration{} + err := managedfields.ExtractInto(globalAlertTemplate, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalAlertTemplate"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(globalAlertTemplate.Name) + + b.WithKind("GlobalAlertTemplate") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractGlobalAlertTemplate extracts the applied configuration owned by fieldManager from +// globalAlertTemplate. If no managedFields are found in globalAlertTemplate for fieldManager, a +// GlobalAlertTemplateApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// globalAlertTemplate must be a unmodified GlobalAlertTemplate API object that was retrieved from the Kubernetes API. +// ExtractGlobalAlertTemplate provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalAlertTemplate(globalAlertTemplate *projectcalicov3.GlobalAlertTemplate, fieldManager string) (*GlobalAlertTemplateApplyConfiguration, error) { + return ExtractGlobalAlertTemplateFrom(globalAlertTemplate, fieldManager, "") +} + +func (b GlobalAlertTemplateApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithKind(value string) *GlobalAlertTemplateApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithAPIVersion(value string) *GlobalAlertTemplateApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithName(value string) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithGenerateName(value string) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithNamespace(value string) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithUID(value types.UID) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithResourceVersion(value string) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithGeneration(value int64) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithCreationTimestamp(value metav1.Time) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *GlobalAlertTemplateApplyConfiguration) WithLabels(entries map[string]string) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *GlobalAlertTemplateApplyConfiguration) WithAnnotations(entries map[string]string) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *GlobalAlertTemplateApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *GlobalAlertTemplateApplyConfiguration) WithFinalizers(values ...string) *GlobalAlertTemplateApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *GlobalAlertTemplateApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *GlobalAlertTemplateApplyConfiguration) WithSpec(value *GlobalAlertSpecApplyConfiguration) *GlobalAlertTemplateApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *GlobalAlertTemplateApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *GlobalAlertTemplateApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *GlobalAlertTemplateApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *GlobalAlertTemplateApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkpolicy.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkpolicy.go new file mode 100644 index 00000000..78cb752c --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkpolicy.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// GlobalNetworkPolicyApplyConfiguration represents a declarative configuration of the GlobalNetworkPolicy type for use +// with apply. +type GlobalNetworkPolicyApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *GlobalNetworkPolicySpecApplyConfiguration `json:"spec,omitempty"` +} + +// GlobalNetworkPolicy constructs a declarative configuration of the GlobalNetworkPolicy type for use with +// apply. +func GlobalNetworkPolicy(name string) *GlobalNetworkPolicyApplyConfiguration { + b := &GlobalNetworkPolicyApplyConfiguration{} + b.WithName(name) + b.WithKind("GlobalNetworkPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractGlobalNetworkPolicyFrom extracts the applied configuration owned by fieldManager from +// globalNetworkPolicy for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// globalNetworkPolicy must be a unmodified GlobalNetworkPolicy API object that was retrieved from the Kubernetes API. +// ExtractGlobalNetworkPolicyFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalNetworkPolicyFrom(globalNetworkPolicy *projectcalicov3.GlobalNetworkPolicy, fieldManager string, subresource string) (*GlobalNetworkPolicyApplyConfiguration, error) { + b := &GlobalNetworkPolicyApplyConfiguration{} + err := managedfields.ExtractInto(globalNetworkPolicy, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalNetworkPolicy"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(globalNetworkPolicy.Name) + + b.WithKind("GlobalNetworkPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractGlobalNetworkPolicy extracts the applied configuration owned by fieldManager from +// globalNetworkPolicy. If no managedFields are found in globalNetworkPolicy for fieldManager, a +// GlobalNetworkPolicyApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// globalNetworkPolicy must be a unmodified GlobalNetworkPolicy API object that was retrieved from the Kubernetes API. +// ExtractGlobalNetworkPolicy provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalNetworkPolicy(globalNetworkPolicy *projectcalicov3.GlobalNetworkPolicy, fieldManager string) (*GlobalNetworkPolicyApplyConfiguration, error) { + return ExtractGlobalNetworkPolicyFrom(globalNetworkPolicy, fieldManager, "") +} + +func (b GlobalNetworkPolicyApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithKind(value string) *GlobalNetworkPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithAPIVersion(value string) *GlobalNetworkPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithName(value string) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithGenerateName(value string) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithNamespace(value string) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithUID(value types.UID) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithResourceVersion(value string) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithGeneration(value int64) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithCreationTimestamp(value metav1.Time) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *GlobalNetworkPolicyApplyConfiguration) WithLabels(entries map[string]string) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *GlobalNetworkPolicyApplyConfiguration) WithAnnotations(entries map[string]string) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *GlobalNetworkPolicyApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *GlobalNetworkPolicyApplyConfiguration) WithFinalizers(values ...string) *GlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *GlobalNetworkPolicyApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *GlobalNetworkPolicyApplyConfiguration) WithSpec(value *GlobalNetworkPolicySpecApplyConfiguration) *GlobalNetworkPolicyApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *GlobalNetworkPolicyApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *GlobalNetworkPolicyApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *GlobalNetworkPolicyApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *GlobalNetworkPolicyApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkpolicyspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkpolicyspec.go new file mode 100644 index 00000000..685b39d8 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkpolicyspec.go @@ -0,0 +1,213 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// GlobalNetworkPolicySpecApplyConfiguration represents a declarative configuration of the GlobalNetworkPolicySpec type for use +// with apply. +type GlobalNetworkPolicySpecApplyConfiguration struct { + // The name of the tier that this policy belongs to. If this is omitted, the default + // tier (name is "default") is assumed. The specified tier must exist in order to create + // security policies within the tier, the "default" tier is created automatically if it + // does not exist, this means for deployments requiring only a single Tier, the tier name + // may be omitted on all policy management requests. + Tier *string `json:"tier,omitempty"` + // Order is an optional field that specifies the order in which the policy is applied. + // Policies with higher "order" are applied after those with lower + // order within the same tier. If the order is omitted, it may be considered to be "infinite" - i.e. the + // policy will be applied last. Policies with identical order will be applied in + // alphanumerical order based on the Policy "Name" within the tier. + Order *float64 `json:"order,omitempty"` + // The ordered set of ingress rules. Each rule contains a set of packet match criteria and + // a corresponding action to apply. + Ingress []RuleApplyConfiguration `json:"ingress,omitempty"` + // The ordered set of egress rules. Each rule contains a set of packet match criteria and + // a corresponding action to apply. + Egress []RuleApplyConfiguration `json:"egress,omitempty"` + // The selector is an expression used to pick out the endpoints that the policy should + // be applied to. + // + // Selector expressions follow this syntax: + // + // label == "string_literal" -> comparison, e.g. my_label == "foo bar" + // label != "string_literal" -> not equal; also matches if label is not present + // label in { "a", "b", "c", ... } -> true if the value of label X is one of "a", "b", "c" + // label not in { "a", "b", "c", ... } -> true if the value of label X is not one of "a", "b", "c" + // has(label_name) -> True if that label is present + // ! expr -> negation of expr + // expr && expr -> Short-circuit and + // expr || expr -> Short-circuit or + // ( expr ) -> parens for grouping + // all() or the empty selector -> matches all endpoints. + // + // Label names are allowed to contain alphanumerics, -, _ and /. String literals are more permissive + // but they do not support escape characters. + // + // Examples (with made-up labels): + // + // type == "webserver" && deployment == "prod" + // type in {"frontend", "backend"} + // deployment != "dev" + // ! has(label_name) + Selector *string `json:"selector,omitempty"` + // Types indicates whether this policy applies to ingress, or to egress, or to both. When + // not explicitly specified (and so the value on creation is empty or nil), Calico defaults + // Types according to what Ingress and Egress rules are present in the policy. The + // default is: + // + // - [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are + // also no Ingress rules) + // + // - [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules + // + // - [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules. + // + // When the policy is read back again, Types will always be one of these values, never empty + // or nil. + Types []projectcalicov3.PolicyType `json:"types,omitempty"` + // DoNotTrack indicates whether packets matched by the rules in this policy should go through + // the data plane's connection tracking, such as Linux conntrack. If True, the rules in + // this policy are applied before any data plane connection tracking, and packets allowed by + // this policy are marked as not to be tracked. + DoNotTrack *bool `json:"doNotTrack,omitempty"` + // PreDNAT indicates to apply the rules in this policy before any DNAT. + PreDNAT *bool `json:"preDNAT,omitempty"` + // ApplyOnForward indicates to apply the rules in this policy on forward traffic. + ApplyOnForward *bool `json:"applyOnForward,omitempty"` + // ServiceAccountSelector is an optional field for an expression used to select a pod based on service accounts. + ServiceAccountSelector *string `json:"serviceAccountSelector,omitempty"` + // NamespaceSelector is an optional field for an expression used to select a pod based on namespaces. + NamespaceSelector *string `json:"namespaceSelector,omitempty"` + // PerformanceHints contains a list of hints to Calico's policy engine to + // help process the policy more efficiently. Hints never change the + // enforcement behaviour of the policy. + // + // Currently, the only available hint is "AssumeNeededOnEveryNode". When + // that hint is set on a policy, Felix will act as if the policy matches + // a local endpoint even if it does not. This is useful for "preloading" + // any large static policies that are known to be used on every node. + // If the policy is _not_ used on a particular node then the work + // done to preload the policy (and to maintain it) is wasted. + PerformanceHints []projectcalicov3.PolicyPerformanceHint `json:"performanceHints,omitempty"` +} + +// GlobalNetworkPolicySpecApplyConfiguration constructs a declarative configuration of the GlobalNetworkPolicySpec type for use with +// apply. +func GlobalNetworkPolicySpec() *GlobalNetworkPolicySpecApplyConfiguration { + return &GlobalNetworkPolicySpecApplyConfiguration{} +} + +// WithTier sets the Tier field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Tier field is set to the value of the last call. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithTier(value string) *GlobalNetworkPolicySpecApplyConfiguration { + b.Tier = &value + return b +} + +// WithOrder sets the Order field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Order field is set to the value of the last call. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithOrder(value float64) *GlobalNetworkPolicySpecApplyConfiguration { + b.Order = &value + return b +} + +// WithIngress adds the given value to the Ingress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Ingress field. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithIngress(values ...*RuleApplyConfiguration) *GlobalNetworkPolicySpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithIngress") + } + b.Ingress = append(b.Ingress, *values[i]) + } + return b +} + +// WithEgress adds the given value to the Egress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Egress field. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithEgress(values ...*RuleApplyConfiguration) *GlobalNetworkPolicySpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithEgress") + } + b.Egress = append(b.Egress, *values[i]) + } + return b +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithSelector(value string) *GlobalNetworkPolicySpecApplyConfiguration { + b.Selector = &value + return b +} + +// WithTypes adds the given value to the Types field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Types field. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithTypes(values ...projectcalicov3.PolicyType) *GlobalNetworkPolicySpecApplyConfiguration { + for i := range values { + b.Types = append(b.Types, values[i]) + } + return b +} + +// WithDoNotTrack sets the DoNotTrack field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DoNotTrack field is set to the value of the last call. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithDoNotTrack(value bool) *GlobalNetworkPolicySpecApplyConfiguration { + b.DoNotTrack = &value + return b +} + +// WithPreDNAT sets the PreDNAT field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PreDNAT field is set to the value of the last call. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithPreDNAT(value bool) *GlobalNetworkPolicySpecApplyConfiguration { + b.PreDNAT = &value + return b +} + +// WithApplyOnForward sets the ApplyOnForward field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ApplyOnForward field is set to the value of the last call. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithApplyOnForward(value bool) *GlobalNetworkPolicySpecApplyConfiguration { + b.ApplyOnForward = &value + return b +} + +// WithServiceAccountSelector sets the ServiceAccountSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ServiceAccountSelector field is set to the value of the last call. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithServiceAccountSelector(value string) *GlobalNetworkPolicySpecApplyConfiguration { + b.ServiceAccountSelector = &value + return b +} + +// WithNamespaceSelector sets the NamespaceSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NamespaceSelector field is set to the value of the last call. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithNamespaceSelector(value string) *GlobalNetworkPolicySpecApplyConfiguration { + b.NamespaceSelector = &value + return b +} + +// WithPerformanceHints adds the given value to the PerformanceHints field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the PerformanceHints field. +func (b *GlobalNetworkPolicySpecApplyConfiguration) WithPerformanceHints(values ...projectcalicov3.PolicyPerformanceHint) *GlobalNetworkPolicySpecApplyConfiguration { + for i := range values { + b.PerformanceHints = append(b.PerformanceHints, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkset.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkset.go new file mode 100644 index 00000000..d91660f4 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworkset.go @@ -0,0 +1,260 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// GlobalNetworkSetApplyConfiguration represents a declarative configuration of the GlobalNetworkSet type for use +// with apply. +// +// GlobalNetworkSet contains a set of arbitrary IP sub-networks/CIDRs and domain names that share +// labels to allow rules to refer to them via selectors. The labels of GlobalNetworkSet are not +// namespaced. +type GlobalNetworkSetApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *GlobalNetworkSetSpecApplyConfiguration `json:"spec,omitempty"` +} + +// GlobalNetworkSet constructs a declarative configuration of the GlobalNetworkSet type for use with +// apply. +func GlobalNetworkSet(name string) *GlobalNetworkSetApplyConfiguration { + b := &GlobalNetworkSetApplyConfiguration{} + b.WithName(name) + b.WithKind("GlobalNetworkSet") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractGlobalNetworkSetFrom extracts the applied configuration owned by fieldManager from +// globalNetworkSet for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// globalNetworkSet must be a unmodified GlobalNetworkSet API object that was retrieved from the Kubernetes API. +// ExtractGlobalNetworkSetFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalNetworkSetFrom(globalNetworkSet *projectcalicov3.GlobalNetworkSet, fieldManager string, subresource string) (*GlobalNetworkSetApplyConfiguration, error) { + b := &GlobalNetworkSetApplyConfiguration{} + err := managedfields.ExtractInto(globalNetworkSet, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalNetworkSet"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(globalNetworkSet.Name) + + b.WithKind("GlobalNetworkSet") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractGlobalNetworkSet extracts the applied configuration owned by fieldManager from +// globalNetworkSet. If no managedFields are found in globalNetworkSet for fieldManager, a +// GlobalNetworkSetApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// globalNetworkSet must be a unmodified GlobalNetworkSet API object that was retrieved from the Kubernetes API. +// ExtractGlobalNetworkSet provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalNetworkSet(globalNetworkSet *projectcalicov3.GlobalNetworkSet, fieldManager string) (*GlobalNetworkSetApplyConfiguration, error) { + return ExtractGlobalNetworkSetFrom(globalNetworkSet, fieldManager, "") +} + +func (b GlobalNetworkSetApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithKind(value string) *GlobalNetworkSetApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithAPIVersion(value string) *GlobalNetworkSetApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithName(value string) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithGenerateName(value string) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithNamespace(value string) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithUID(value types.UID) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithResourceVersion(value string) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithGeneration(value int64) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithCreationTimestamp(value metav1.Time) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *GlobalNetworkSetApplyConfiguration) WithLabels(entries map[string]string) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *GlobalNetworkSetApplyConfiguration) WithAnnotations(entries map[string]string) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *GlobalNetworkSetApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *GlobalNetworkSetApplyConfiguration) WithFinalizers(values ...string) *GlobalNetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *GlobalNetworkSetApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *GlobalNetworkSetApplyConfiguration) WithSpec(value *GlobalNetworkSetSpecApplyConfiguration) *GlobalNetworkSetApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *GlobalNetworkSetApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *GlobalNetworkSetApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *GlobalNetworkSetApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *GlobalNetworkSetApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworksetspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworksetspec.go new file mode 100644 index 00000000..3cbba5cc --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworksetspec.go @@ -0,0 +1,45 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// GlobalNetworkSetSpecApplyConfiguration represents a declarative configuration of the GlobalNetworkSetSpec type for use +// with apply. +// +// GlobalNetworkSetSpec contains the specification for a NetworkSet resource. +type GlobalNetworkSetSpecApplyConfiguration struct { + // The list of IP networks that belong to this set. + Nets []string `json:"nets,omitempty"` + // The list of domain names that belong to this set and are honored in egress allow rules + // only. Domain names specified here only work to allow egress traffic from the cluster to + // external destinations. They don't work to _deny_ traffic to destinations specified by + // domain name, or to allow ingress traffic from _sources_ specified by domain name. + AllowedEgressDomains []string `json:"allowedEgressDomains,omitempty"` +} + +// GlobalNetworkSetSpecApplyConfiguration constructs a declarative configuration of the GlobalNetworkSetSpec type for use with +// apply. +func GlobalNetworkSetSpec() *GlobalNetworkSetSpecApplyConfiguration { + return &GlobalNetworkSetSpecApplyConfiguration{} +} + +// WithNets adds the given value to the Nets field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Nets field. +func (b *GlobalNetworkSetSpecApplyConfiguration) WithNets(values ...string) *GlobalNetworkSetSpecApplyConfiguration { + for i := range values { + b.Nets = append(b.Nets, values[i]) + } + return b +} + +// WithAllowedEgressDomains adds the given value to the AllowedEgressDomains field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the AllowedEgressDomains field. +func (b *GlobalNetworkSetSpecApplyConfiguration) WithAllowedEgressDomains(values ...string) *GlobalNetworkSetSpecApplyConfiguration { + for i := range values { + b.AllowedEgressDomains = append(b.AllowedEgressDomains, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworksetsync.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworksetsync.go new file mode 100644 index 00000000..9418a464 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalnetworksetsync.go @@ -0,0 +1,31 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// GlobalNetworkSetSyncApplyConfiguration represents a declarative configuration of the GlobalNetworkSetSync type for use +// with apply. +type GlobalNetworkSetSyncApplyConfiguration struct { + Labels map[string]string `json:"labels,omitempty"` +} + +// GlobalNetworkSetSyncApplyConfiguration constructs a declarative configuration of the GlobalNetworkSetSync type for use with +// apply. +func GlobalNetworkSetSync() *GlobalNetworkSetSyncApplyConfiguration { + return &GlobalNetworkSetSyncApplyConfiguration{} +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *GlobalNetworkSetSyncApplyConfiguration) WithLabels(entries map[string]string) *GlobalNetworkSetSyncApplyConfiguration { + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalreport.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalreport.go new file mode 100644 index 00000000..3d59c0ab --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalreport.go @@ -0,0 +1,273 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// GlobalReportApplyConfiguration represents a declarative configuration of the GlobalReport type for use +// with apply. +// +// GlobalReport contains the configuration for a non-namespaced Report. +type GlobalReportApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *ReportSpecApplyConfiguration `json:"spec,omitempty"` + Status *ReportStatusApplyConfiguration `json:"status,omitempty"` +} + +// GlobalReport constructs a declarative configuration of the GlobalReport type for use with +// apply. +func GlobalReport(name string) *GlobalReportApplyConfiguration { + b := &GlobalReportApplyConfiguration{} + b.WithName(name) + b.WithKind("GlobalReport") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractGlobalReportFrom extracts the applied configuration owned by fieldManager from +// globalReport for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// globalReport must be a unmodified GlobalReport API object that was retrieved from the Kubernetes API. +// ExtractGlobalReportFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalReportFrom(globalReport *projectcalicov3.GlobalReport, fieldManager string, subresource string) (*GlobalReportApplyConfiguration, error) { + b := &GlobalReportApplyConfiguration{} + err := managedfields.ExtractInto(globalReport, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalReport"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(globalReport.Name) + + b.WithKind("GlobalReport") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractGlobalReport extracts the applied configuration owned by fieldManager from +// globalReport. If no managedFields are found in globalReport for fieldManager, a +// GlobalReportApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// globalReport must be a unmodified GlobalReport API object that was retrieved from the Kubernetes API. +// ExtractGlobalReport provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalReport(globalReport *projectcalicov3.GlobalReport, fieldManager string) (*GlobalReportApplyConfiguration, error) { + return ExtractGlobalReportFrom(globalReport, fieldManager, "") +} + +// ExtractGlobalReportStatus extracts the applied configuration owned by fieldManager from +// globalReport for the status subresource. +func ExtractGlobalReportStatus(globalReport *projectcalicov3.GlobalReport, fieldManager string) (*GlobalReportApplyConfiguration, error) { + return ExtractGlobalReportFrom(globalReport, fieldManager, "status") +} + +func (b GlobalReportApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithKind(value string) *GlobalReportApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithAPIVersion(value string) *GlobalReportApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithName(value string) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithGenerateName(value string) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithNamespace(value string) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithUID(value types.UID) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithResourceVersion(value string) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithGeneration(value int64) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithCreationTimestamp(value metav1.Time) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *GlobalReportApplyConfiguration) WithLabels(entries map[string]string) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *GlobalReportApplyConfiguration) WithAnnotations(entries map[string]string) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *GlobalReportApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *GlobalReportApplyConfiguration) WithFinalizers(values ...string) *GlobalReportApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *GlobalReportApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithSpec(value *ReportSpecApplyConfiguration) *GlobalReportApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *GlobalReportApplyConfiguration) WithStatus(value *ReportStatusApplyConfiguration) *GlobalReportApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *GlobalReportApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *GlobalReportApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *GlobalReportApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *GlobalReportApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalreporttype.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalreporttype.go new file mode 100644 index 00000000..35a8ed5f --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalreporttype.go @@ -0,0 +1,258 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// GlobalReportTypeApplyConfiguration represents a declarative configuration of the GlobalReportType type for use +// with apply. +// +// GlobalReportType contains the configuration for a non-namespaced report type. +type GlobalReportTypeApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *ReportTypeSpecApplyConfiguration `json:"spec,omitempty"` +} + +// GlobalReportType constructs a declarative configuration of the GlobalReportType type for use with +// apply. +func GlobalReportType(name string) *GlobalReportTypeApplyConfiguration { + b := &GlobalReportTypeApplyConfiguration{} + b.WithName(name) + b.WithKind("GlobalReportType") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractGlobalReportTypeFrom extracts the applied configuration owned by fieldManager from +// globalReportType for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// globalReportType must be a unmodified GlobalReportType API object that was retrieved from the Kubernetes API. +// ExtractGlobalReportTypeFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalReportTypeFrom(globalReportType *projectcalicov3.GlobalReportType, fieldManager string, subresource string) (*GlobalReportTypeApplyConfiguration, error) { + b := &GlobalReportTypeApplyConfiguration{} + err := managedfields.ExtractInto(globalReportType, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalReportType"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(globalReportType.Name) + + b.WithKind("GlobalReportType") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractGlobalReportType extracts the applied configuration owned by fieldManager from +// globalReportType. If no managedFields are found in globalReportType for fieldManager, a +// GlobalReportTypeApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// globalReportType must be a unmodified GlobalReportType API object that was retrieved from the Kubernetes API. +// ExtractGlobalReportType provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalReportType(globalReportType *projectcalicov3.GlobalReportType, fieldManager string) (*GlobalReportTypeApplyConfiguration, error) { + return ExtractGlobalReportTypeFrom(globalReportType, fieldManager, "") +} + +func (b GlobalReportTypeApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithKind(value string) *GlobalReportTypeApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithAPIVersion(value string) *GlobalReportTypeApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithName(value string) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithGenerateName(value string) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithNamespace(value string) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithUID(value types.UID) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithResourceVersion(value string) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithGeneration(value int64) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithCreationTimestamp(value metav1.Time) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *GlobalReportTypeApplyConfiguration) WithLabels(entries map[string]string) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *GlobalReportTypeApplyConfiguration) WithAnnotations(entries map[string]string) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *GlobalReportTypeApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *GlobalReportTypeApplyConfiguration) WithFinalizers(values ...string) *GlobalReportTypeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *GlobalReportTypeApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *GlobalReportTypeApplyConfiguration) WithSpec(value *ReportTypeSpecApplyConfiguration) *GlobalReportTypeApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *GlobalReportTypeApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *GlobalReportTypeApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *GlobalReportTypeApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *GlobalReportTypeApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeed.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeed.go new file mode 100644 index 00000000..3bf9a148 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeed.go @@ -0,0 +1,275 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// GlobalThreatFeedApplyConfiguration represents a declarative configuration of the GlobalThreatFeed type for use +// with apply. +// +// GlobalThreatFeed is a source of intel for possible threats to the cluster. This +// object configures how Tigera components communicate with the feed and update +// detection jobs or policy based on the intel. +type GlobalThreatFeedApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *GlobalThreatFeedSpecApplyConfiguration `json:"spec,omitempty"` + Status *GlobalThreatFeedStatusApplyConfiguration `json:"status,omitempty"` +} + +// GlobalThreatFeed constructs a declarative configuration of the GlobalThreatFeed type for use with +// apply. +func GlobalThreatFeed(name string) *GlobalThreatFeedApplyConfiguration { + b := &GlobalThreatFeedApplyConfiguration{} + b.WithName(name) + b.WithKind("GlobalThreatFeed") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractGlobalThreatFeedFrom extracts the applied configuration owned by fieldManager from +// globalThreatFeed for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// globalThreatFeed must be a unmodified GlobalThreatFeed API object that was retrieved from the Kubernetes API. +// ExtractGlobalThreatFeedFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalThreatFeedFrom(globalThreatFeed *projectcalicov3.GlobalThreatFeed, fieldManager string, subresource string) (*GlobalThreatFeedApplyConfiguration, error) { + b := &GlobalThreatFeedApplyConfiguration{} + err := managedfields.ExtractInto(globalThreatFeed, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.GlobalThreatFeed"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(globalThreatFeed.Name) + + b.WithKind("GlobalThreatFeed") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractGlobalThreatFeed extracts the applied configuration owned by fieldManager from +// globalThreatFeed. If no managedFields are found in globalThreatFeed for fieldManager, a +// GlobalThreatFeedApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// globalThreatFeed must be a unmodified GlobalThreatFeed API object that was retrieved from the Kubernetes API. +// ExtractGlobalThreatFeed provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractGlobalThreatFeed(globalThreatFeed *projectcalicov3.GlobalThreatFeed, fieldManager string) (*GlobalThreatFeedApplyConfiguration, error) { + return ExtractGlobalThreatFeedFrom(globalThreatFeed, fieldManager, "") +} + +// ExtractGlobalThreatFeedStatus extracts the applied configuration owned by fieldManager from +// globalThreatFeed for the status subresource. +func ExtractGlobalThreatFeedStatus(globalThreatFeed *projectcalicov3.GlobalThreatFeed, fieldManager string) (*GlobalThreatFeedApplyConfiguration, error) { + return ExtractGlobalThreatFeedFrom(globalThreatFeed, fieldManager, "status") +} + +func (b GlobalThreatFeedApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithKind(value string) *GlobalThreatFeedApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithAPIVersion(value string) *GlobalThreatFeedApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithName(value string) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithGenerateName(value string) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithNamespace(value string) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithUID(value types.UID) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithResourceVersion(value string) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithGeneration(value int64) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithCreationTimestamp(value metav1.Time) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *GlobalThreatFeedApplyConfiguration) WithLabels(entries map[string]string) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *GlobalThreatFeedApplyConfiguration) WithAnnotations(entries map[string]string) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *GlobalThreatFeedApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *GlobalThreatFeedApplyConfiguration) WithFinalizers(values ...string) *GlobalThreatFeedApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *GlobalThreatFeedApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithSpec(value *GlobalThreatFeedSpecApplyConfiguration) *GlobalThreatFeedApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *GlobalThreatFeedApplyConfiguration) WithStatus(value *GlobalThreatFeedStatusApplyConfiguration) *GlobalThreatFeedApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *GlobalThreatFeedApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *GlobalThreatFeedApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *GlobalThreatFeedApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *GlobalThreatFeedApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeedspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeedspec.go new file mode 100644 index 00000000..93075036 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeedspec.go @@ -0,0 +1,80 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// GlobalThreatFeedSpecApplyConfiguration represents a declarative configuration of the GlobalThreatFeedSpec type for use +// with apply. +// +// GlobalThreatFeedSpec contains the specification of a GlobalThreatFeed resource. +type GlobalThreatFeedSpecApplyConfiguration struct { + // Content describes the kind of data the data feed provides. + Content *projectcalicov3.ThreatFeedContent `json:"content,omitempty"` + // Determines whether the Global Threat Feed is Enabled or Disabled. + Mode *projectcalicov3.ThreatFeedMode `json:"mode,omitempty"` + // Human-readable description of the template. + Description *string `json:"description,omitempty"` + // Distinguishes between Builtin Global Threat Feeds and Custom feed types. + FeedType *projectcalicov3.ThreatFeedType `json:"feedType,omitempty"` + GlobalNetworkSet *GlobalNetworkSetSyncApplyConfiguration `json:"globalNetworkSet,omitempty"` + Pull *PullApplyConfiguration `json:"pull,omitempty"` +} + +// GlobalThreatFeedSpecApplyConfiguration constructs a declarative configuration of the GlobalThreatFeedSpec type for use with +// apply. +func GlobalThreatFeedSpec() *GlobalThreatFeedSpecApplyConfiguration { + return &GlobalThreatFeedSpecApplyConfiguration{} +} + +// WithContent sets the Content field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Content field is set to the value of the last call. +func (b *GlobalThreatFeedSpecApplyConfiguration) WithContent(value projectcalicov3.ThreatFeedContent) *GlobalThreatFeedSpecApplyConfiguration { + b.Content = &value + return b +} + +// WithMode sets the Mode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Mode field is set to the value of the last call. +func (b *GlobalThreatFeedSpecApplyConfiguration) WithMode(value projectcalicov3.ThreatFeedMode) *GlobalThreatFeedSpecApplyConfiguration { + b.Mode = &value + return b +} + +// WithDescription sets the Description field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Description field is set to the value of the last call. +func (b *GlobalThreatFeedSpecApplyConfiguration) WithDescription(value string) *GlobalThreatFeedSpecApplyConfiguration { + b.Description = &value + return b +} + +// WithFeedType sets the FeedType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FeedType field is set to the value of the last call. +func (b *GlobalThreatFeedSpecApplyConfiguration) WithFeedType(value projectcalicov3.ThreatFeedType) *GlobalThreatFeedSpecApplyConfiguration { + b.FeedType = &value + return b +} + +// WithGlobalNetworkSet sets the GlobalNetworkSet field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GlobalNetworkSet field is set to the value of the last call. +func (b *GlobalThreatFeedSpecApplyConfiguration) WithGlobalNetworkSet(value *GlobalNetworkSetSyncApplyConfiguration) *GlobalThreatFeedSpecApplyConfiguration { + b.GlobalNetworkSet = value + return b +} + +// WithPull sets the Pull field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Pull field is set to the value of the last call. +func (b *GlobalThreatFeedSpecApplyConfiguration) WithPull(value *PullApplyConfiguration) *GlobalThreatFeedSpecApplyConfiguration { + b.Pull = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeedstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeedstatus.go new file mode 100644 index 00000000..5096a2d9 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/globalthreatfeedstatus.go @@ -0,0 +1,52 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// GlobalThreatFeedStatusApplyConfiguration represents a declarative configuration of the GlobalThreatFeedStatus type for use +// with apply. +type GlobalThreatFeedStatusApplyConfiguration struct { + LastSuccessfulSync *v1.Time `json:"lastSuccessfulSync,omitempty"` + LastSuccessfulSearch *v1.Time `json:"lastSuccessfulSearch,omitempty"` + ErrorConditions []ErrorConditionApplyConfiguration `json:"errorConditions,omitempty"` +} + +// GlobalThreatFeedStatusApplyConfiguration constructs a declarative configuration of the GlobalThreatFeedStatus type for use with +// apply. +func GlobalThreatFeedStatus() *GlobalThreatFeedStatusApplyConfiguration { + return &GlobalThreatFeedStatusApplyConfiguration{} +} + +// WithLastSuccessfulSync sets the LastSuccessfulSync field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastSuccessfulSync field is set to the value of the last call. +func (b *GlobalThreatFeedStatusApplyConfiguration) WithLastSuccessfulSync(value v1.Time) *GlobalThreatFeedStatusApplyConfiguration { + b.LastSuccessfulSync = &value + return b +} + +// WithLastSuccessfulSearch sets the LastSuccessfulSearch field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastSuccessfulSearch field is set to the value of the last call. +func (b *GlobalThreatFeedStatusApplyConfiguration) WithLastSuccessfulSearch(value v1.Time) *GlobalThreatFeedStatusApplyConfiguration { + b.LastSuccessfulSearch = &value + return b +} + +// WithErrorConditions adds the given value to the ErrorConditions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ErrorConditions field. +func (b *GlobalThreatFeedStatusApplyConfiguration) WithErrorConditions(values ...*ErrorConditionApplyConfiguration) *GlobalThreatFeedStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithErrorConditions") + } + b.ErrorConditions = append(b.ErrorConditions, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/healthtimeoutoverride.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/healthtimeoutoverride.go new file mode 100644 index 00000000..a4cf29f5 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/healthtimeoutoverride.go @@ -0,0 +1,38 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// HealthTimeoutOverrideApplyConfiguration represents a declarative configuration of the HealthTimeoutOverride type for use +// with apply. +type HealthTimeoutOverrideApplyConfiguration struct { + Name *string `json:"name,omitempty"` + Timeout *v1.Duration `json:"timeout,omitempty"` +} + +// HealthTimeoutOverrideApplyConfiguration constructs a declarative configuration of the HealthTimeoutOverride type for use with +// apply. +func HealthTimeoutOverride() *HealthTimeoutOverrideApplyConfiguration { + return &HealthTimeoutOverrideApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *HealthTimeoutOverrideApplyConfiguration) WithName(value string) *HealthTimeoutOverrideApplyConfiguration { + b.Name = &value + return b +} + +// WithTimeout sets the Timeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Timeout field is set to the value of the last call. +func (b *HealthTimeoutOverrideApplyConfiguration) WithTimeout(value v1.Duration) *HealthTimeoutOverrideApplyConfiguration { + b.Timeout = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/hostendpoint.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/hostendpoint.go new file mode 100644 index 00000000..ba3ecaaf --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/hostendpoint.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// HostEndpointApplyConfiguration represents a declarative configuration of the HostEndpoint type for use +// with apply. +type HostEndpointApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *HostEndpointSpecApplyConfiguration `json:"spec,omitempty"` +} + +// HostEndpoint constructs a declarative configuration of the HostEndpoint type for use with +// apply. +func HostEndpoint(name string) *HostEndpointApplyConfiguration { + b := &HostEndpointApplyConfiguration{} + b.WithName(name) + b.WithKind("HostEndpoint") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractHostEndpointFrom extracts the applied configuration owned by fieldManager from +// hostEndpoint for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// hostEndpoint must be a unmodified HostEndpoint API object that was retrieved from the Kubernetes API. +// ExtractHostEndpointFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractHostEndpointFrom(hostEndpoint *projectcalicov3.HostEndpoint, fieldManager string, subresource string) (*HostEndpointApplyConfiguration, error) { + b := &HostEndpointApplyConfiguration{} + err := managedfields.ExtractInto(hostEndpoint, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.HostEndpoint"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(hostEndpoint.Name) + + b.WithKind("HostEndpoint") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractHostEndpoint extracts the applied configuration owned by fieldManager from +// hostEndpoint. If no managedFields are found in hostEndpoint for fieldManager, a +// HostEndpointApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// hostEndpoint must be a unmodified HostEndpoint API object that was retrieved from the Kubernetes API. +// ExtractHostEndpoint provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractHostEndpoint(hostEndpoint *projectcalicov3.HostEndpoint, fieldManager string) (*HostEndpointApplyConfiguration, error) { + return ExtractHostEndpointFrom(hostEndpoint, fieldManager, "") +} + +func (b HostEndpointApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithKind(value string) *HostEndpointApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithAPIVersion(value string) *HostEndpointApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithName(value string) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithGenerateName(value string) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithNamespace(value string) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithUID(value types.UID) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithResourceVersion(value string) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithGeneration(value int64) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithCreationTimestamp(value metav1.Time) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *HostEndpointApplyConfiguration) WithLabels(entries map[string]string) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *HostEndpointApplyConfiguration) WithAnnotations(entries map[string]string) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *HostEndpointApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *HostEndpointApplyConfiguration) WithFinalizers(values ...string) *HostEndpointApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *HostEndpointApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *HostEndpointApplyConfiguration) WithSpec(value *HostEndpointSpecApplyConfiguration) *HostEndpointApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *HostEndpointApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *HostEndpointApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *HostEndpointApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *HostEndpointApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/hostendpointspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/hostendpointspec.go new file mode 100644 index 00000000..ccb44b33 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/hostendpointspec.go @@ -0,0 +1,100 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// HostEndpointSpecApplyConfiguration represents a declarative configuration of the HostEndpointSpec type for use +// with apply. +// +// HostEndpointSpec contains the specification for a HostEndpoint resource. +type HostEndpointSpecApplyConfiguration struct { + // The node name identifying the Calico node instance. + Node *string `json:"node,omitempty"` + // Either "*", or the name of a specific Linux interface to apply policy to; or empty. "*" + // indicates that this HostEndpoint governs all traffic to, from or through the default + // network namespace of the host named by the "Node" field; entering and leaving that + // namespace via any interface, including those from/to non-host-networked local workloads. + // + // If InterfaceName is not "*", this HostEndpoint only governs traffic that enters or leaves + // the host through the specific interface named by InterfaceName, or - when InterfaceName + // is empty - through the specific interface that has one of the IPs in ExpectedIPs. + // Therefore, when InterfaceName is empty, at least one expected IP must be specified. Only + // external interfaces (such as "eth0") are supported here; it isn't possible for a + // HostEndpoint to protect traffic through a specific local workload interface. + // + // Note: Only some kinds of policy are implemented for "*" HostEndpoints; initially just + // pre-DNAT policy. Please check Calico documentation for the latest position. + InterfaceName *string `json:"interfaceName,omitempty"` + // The expected IP addresses (IPv4 and IPv6) of the endpoint. + // If "InterfaceName" is not present, Calico will look for an interface matching any + // of the IPs in the list and apply policy to that. + // Note: + // When using the selector match criteria in an ingress or egress security Policy + // or Profile, Calico converts the selector into a set of IP addresses. For host + // endpoints, the ExpectedIPs field is used for that purpose. (If only the interface + // name is specified, Calico does not learn the IPs of the interface for use in match + // criteria.) + ExpectedIPs []string `json:"expectedIPs,omitempty"` + // A list of identifiers of security Profile objects that apply to this endpoint. Each + // profile is applied in the order that they appear in this list. Profile rules are applied + // after the selector-based security policy. + Profiles []string `json:"profiles,omitempty"` + // Ports contains the endpoint's named ports, which may be referenced in security policy rules. + Ports []EndpointPortApplyConfiguration `json:"ports,omitempty"` +} + +// HostEndpointSpecApplyConfiguration constructs a declarative configuration of the HostEndpointSpec type for use with +// apply. +func HostEndpointSpec() *HostEndpointSpecApplyConfiguration { + return &HostEndpointSpecApplyConfiguration{} +} + +// WithNode sets the Node field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Node field is set to the value of the last call. +func (b *HostEndpointSpecApplyConfiguration) WithNode(value string) *HostEndpointSpecApplyConfiguration { + b.Node = &value + return b +} + +// WithInterfaceName sets the InterfaceName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the InterfaceName field is set to the value of the last call. +func (b *HostEndpointSpecApplyConfiguration) WithInterfaceName(value string) *HostEndpointSpecApplyConfiguration { + b.InterfaceName = &value + return b +} + +// WithExpectedIPs adds the given value to the ExpectedIPs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExpectedIPs field. +func (b *HostEndpointSpecApplyConfiguration) WithExpectedIPs(values ...string) *HostEndpointSpecApplyConfiguration { + for i := range values { + b.ExpectedIPs = append(b.ExpectedIPs, values[i]) + } + return b +} + +// WithProfiles adds the given value to the Profiles field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Profiles field. +func (b *HostEndpointSpecApplyConfiguration) WithProfiles(values ...string) *HostEndpointSpecApplyConfiguration { + for i := range values { + b.Profiles = append(b.Profiles, values[i]) + } + return b +} + +// WithPorts adds the given value to the Ports field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Ports field. +func (b *HostEndpointSpecApplyConfiguration) WithPorts(values ...*EndpointPortApplyConfiguration) *HostEndpointSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithPorts") + } + b.Ports = append(b.Ports, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/httpheader.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/httpheader.go new file mode 100644 index 00000000..029f1bf5 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/httpheader.go @@ -0,0 +1,43 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// HTTPHeaderApplyConfiguration represents a declarative configuration of the HTTPHeader type for use +// with apply. +type HTTPHeaderApplyConfiguration struct { + Name *string `json:"name,omitempty"` + Value *string `json:"value,omitempty"` + ValueFrom *HTTPHeaderSourceApplyConfiguration `json:"valueFrom,omitempty"` +} + +// HTTPHeaderApplyConfiguration constructs a declarative configuration of the HTTPHeader type for use with +// apply. +func HTTPHeader() *HTTPHeaderApplyConfiguration { + return &HTTPHeaderApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *HTTPHeaderApplyConfiguration) WithName(value string) *HTTPHeaderApplyConfiguration { + b.Name = &value + return b +} + +// WithValue sets the Value field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Value field is set to the value of the last call. +func (b *HTTPHeaderApplyConfiguration) WithValue(value string) *HTTPHeaderApplyConfiguration { + b.Value = &value + return b +} + +// WithValueFrom sets the ValueFrom field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ValueFrom field is set to the value of the last call. +func (b *HTTPHeaderApplyConfiguration) WithValueFrom(value *HTTPHeaderSourceApplyConfiguration) *HTTPHeaderApplyConfiguration { + b.ValueFrom = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/httpheadercriteria.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/httpheadercriteria.go new file mode 100644 index 00000000..e290bd04 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/httpheadercriteria.go @@ -0,0 +1,47 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// HTTPHeaderCriteriaApplyConfiguration represents a declarative configuration of the HTTPHeaderCriteria type for use +// with apply. +// +// HTTPHeaderCriteria structure defines optional HTTP headers criterion for ALP. +type HTTPHeaderCriteriaApplyConfiguration struct { + Header *string `json:"header,omitempty"` + Operator *string `json:"operator,omitempty"` + Values []string `json:"values,omitempty"` +} + +// HTTPHeaderCriteriaApplyConfiguration constructs a declarative configuration of the HTTPHeaderCriteria type for use with +// apply. +func HTTPHeaderCriteria() *HTTPHeaderCriteriaApplyConfiguration { + return &HTTPHeaderCriteriaApplyConfiguration{} +} + +// WithHeader sets the Header field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Header field is set to the value of the last call. +func (b *HTTPHeaderCriteriaApplyConfiguration) WithHeader(value string) *HTTPHeaderCriteriaApplyConfiguration { + b.Header = &value + return b +} + +// WithOperator sets the Operator field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Operator field is set to the value of the last call. +func (b *HTTPHeaderCriteriaApplyConfiguration) WithOperator(value string) *HTTPHeaderCriteriaApplyConfiguration { + b.Operator = &value + return b +} + +// WithValues adds the given value to the Values field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Values field. +func (b *HTTPHeaderCriteriaApplyConfiguration) WithValues(values ...string) *HTTPHeaderCriteriaApplyConfiguration { + for i := range values { + b.Values = append(b.Values, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/httpheadersource.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/httpheadersource.go new file mode 100644 index 00000000..95ede7ab --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/httpheadersource.go @@ -0,0 +1,40 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/api/core/v1" +) + +// HTTPHeaderSourceApplyConfiguration represents a declarative configuration of the HTTPHeaderSource type for use +// with apply. +type HTTPHeaderSourceApplyConfiguration struct { + // Selects a key of a ConfigMap. + ConfigMapKeyRef *v1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty"` + // Selects a key of a secret in the pod's namespace + SecretKeyRef *v1.SecretKeySelector `json:"secretKeyRef,omitempty"` +} + +// HTTPHeaderSourceApplyConfiguration constructs a declarative configuration of the HTTPHeaderSource type for use with +// apply. +func HTTPHeaderSource() *HTTPHeaderSourceApplyConfiguration { + return &HTTPHeaderSourceApplyConfiguration{} +} + +// WithConfigMapKeyRef sets the ConfigMapKeyRef field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ConfigMapKeyRef field is set to the value of the last call. +func (b *HTTPHeaderSourceApplyConfiguration) WithConfigMapKeyRef(value v1.ConfigMapKeySelector) *HTTPHeaderSourceApplyConfiguration { + b.ConfigMapKeyRef = &value + return b +} + +// WithSecretKeyRef sets the SecretKeyRef field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SecretKeyRef field is set to the value of the last call. +func (b *HTTPHeaderSourceApplyConfiguration) WithSecretKeyRef(value v1.SecretKeySelector) *HTTPHeaderSourceApplyConfiguration { + b.SecretKeyRef = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/httpmatch.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/httpmatch.go new file mode 100644 index 00000000..e0de9dad --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/httpmatch.go @@ -0,0 +1,71 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// HTTPMatchApplyConfiguration represents a declarative configuration of the HTTPMatch type for use +// with apply. +// +// HTTPMatch is an optional field that apply only to HTTP requests +// The Methods and Path fields are joined with AND +type HTTPMatchApplyConfiguration struct { + // Methods is an optional field that restricts the rule to apply only to HTTP requests that use one of the listed + // HTTP Methods (e.g. GET, PUT, etc.) + // Multiple methods are OR'd together. + Methods []string `json:"methods,omitempty"` + // Paths is an optional field that restricts the rule to apply to HTTP requests that use one of the listed + // HTTP Paths. + // Multiple paths are OR'd together. + // e.g: + // - exact: /foo + // - prefix: /bar + // NOTE: Each entry may ONLY specify either a `exact` or a `prefix` match. The validator will check for it. + Paths []HTTPPathApplyConfiguration `json:"paths,omitempty"` + // Headers is an optional field that restricts the rule to apply to HTTP headers. + // Multiple headers criteria are AND'd together. + // Criteria within a single headers rule ar OR'd together. + Headers []HTTPHeaderCriteriaApplyConfiguration `json:"headers,omitempty"` +} + +// HTTPMatchApplyConfiguration constructs a declarative configuration of the HTTPMatch type for use with +// apply. +func HTTPMatch() *HTTPMatchApplyConfiguration { + return &HTTPMatchApplyConfiguration{} +} + +// WithMethods adds the given value to the Methods field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Methods field. +func (b *HTTPMatchApplyConfiguration) WithMethods(values ...string) *HTTPMatchApplyConfiguration { + for i := range values { + b.Methods = append(b.Methods, values[i]) + } + return b +} + +// WithPaths adds the given value to the Paths field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Paths field. +func (b *HTTPMatchApplyConfiguration) WithPaths(values ...*HTTPPathApplyConfiguration) *HTTPMatchApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithPaths") + } + b.Paths = append(b.Paths, *values[i]) + } + return b +} + +// WithHeaders adds the given value to the Headers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Headers field. +func (b *HTTPMatchApplyConfiguration) WithHeaders(values ...*HTTPHeaderCriteriaApplyConfiguration) *HTTPMatchApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithHeaders") + } + b.Headers = append(b.Headers, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/httppath.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/httppath.go new file mode 100644 index 00000000..9e725798 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/httppath.go @@ -0,0 +1,38 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// HTTPPathApplyConfiguration represents a declarative configuration of the HTTPPath type for use +// with apply. +// +// HTTPPath specifies an HTTP path to match. It may be either of the form: +// exact: : which matches the path exactly or +// prefix: : which matches the path prefix +type HTTPPathApplyConfiguration struct { + Exact *string `json:"exact,omitempty"` + Prefix *string `json:"prefix,omitempty"` +} + +// HTTPPathApplyConfiguration constructs a declarative configuration of the HTTPPath type for use with +// apply. +func HTTPPath() *HTTPPathApplyConfiguration { + return &HTTPPathApplyConfiguration{} +} + +// WithExact sets the Exact field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Exact field is set to the value of the last call. +func (b *HTTPPathApplyConfiguration) WithExact(value string) *HTTPPathApplyConfiguration { + b.Exact = &value + return b +} + +// WithPrefix sets the Prefix field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Prefix field is set to the value of the last call. +func (b *HTTPPathApplyConfiguration) WithPrefix(value string) *HTTPPathApplyConfiguration { + b.Prefix = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/httppull.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/httppull.go new file mode 100644 index 00000000..a0aa9cd6 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/httppull.go @@ -0,0 +1,48 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// HTTPPullApplyConfiguration represents a declarative configuration of the HTTPPull type for use +// with apply. +type HTTPPullApplyConfiguration struct { + Format *ThreatFeedFormatApplyConfiguration `json:"format,omitempty"` + URL *string `json:"url,omitempty"` + Headers []HTTPHeaderApplyConfiguration `json:"headers,omitempty"` +} + +// HTTPPullApplyConfiguration constructs a declarative configuration of the HTTPPull type for use with +// apply. +func HTTPPull() *HTTPPullApplyConfiguration { + return &HTTPPullApplyConfiguration{} +} + +// WithFormat sets the Format field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Format field is set to the value of the last call. +func (b *HTTPPullApplyConfiguration) WithFormat(value *ThreatFeedFormatApplyConfiguration) *HTTPPullApplyConfiguration { + b.Format = value + return b +} + +// WithURL sets the URL field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the URL field is set to the value of the last call. +func (b *HTTPPullApplyConfiguration) WithURL(value string) *HTTPPullApplyConfiguration { + b.URL = &value + return b +} + +// WithHeaders adds the given value to the Headers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Headers field. +func (b *HTTPPullApplyConfiguration) WithHeaders(values ...*HTTPHeaderApplyConfiguration) *HTTPPullApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithHeaders") + } + b.Headers = append(b.Headers, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/icmpfields.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/icmpfields.go new file mode 100644 index 00000000..f50b58f8 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/icmpfields.go @@ -0,0 +1,41 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ICMPFieldsApplyConfiguration represents a declarative configuration of the ICMPFields type for use +// with apply. +// +// ICMPFields defines structure for ICMP and NotICMP sub-struct for ICMP code and type +type ICMPFieldsApplyConfiguration struct { + // Match on a specific ICMP type. For example a value of 8 refers to ICMP Echo Request + // (i.e. pings). + Type *int `json:"type,omitempty"` + // Match on a specific ICMP code. If specified, the Type value must also be specified. + // This is a technical limitation imposed by the kernel's iptables firewall, which + // Calico uses to enforce the rule. + Code *int `json:"code,omitempty"` +} + +// ICMPFieldsApplyConfiguration constructs a declarative configuration of the ICMPFields type for use with +// apply. +func ICMPFields() *ICMPFieldsApplyConfiguration { + return &ICMPFieldsApplyConfiguration{} +} + +// WithType sets the Type field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Type field is set to the value of the last call. +func (b *ICMPFieldsApplyConfiguration) WithType(value int) *ICMPFieldsApplyConfiguration { + b.Type = &value + return b +} + +// WithCode sets the Code field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Code field is set to the value of the last call. +func (b *ICMPFieldsApplyConfiguration) WithCode(value int) *ICMPFieldsApplyConfiguration { + b.Code = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamblock.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamblock.go new file mode 100644 index 00000000..633baa16 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamblock.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// IPAMBlockApplyConfiguration represents a declarative configuration of the IPAMBlock type for use +// with apply. +type IPAMBlockApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *IPAMBlockSpecApplyConfiguration `json:"spec,omitempty"` +} + +// IPAMBlock constructs a declarative configuration of the IPAMBlock type for use with +// apply. +func IPAMBlock(name string) *IPAMBlockApplyConfiguration { + b := &IPAMBlockApplyConfiguration{} + b.WithName(name) + b.WithKind("IPAMBlock") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractIPAMBlockFrom extracts the applied configuration owned by fieldManager from +// iPAMBlock for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// iPAMBlock must be a unmodified IPAMBlock API object that was retrieved from the Kubernetes API. +// ExtractIPAMBlockFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractIPAMBlockFrom(iPAMBlock *projectcalicov3.IPAMBlock, fieldManager string, subresource string) (*IPAMBlockApplyConfiguration, error) { + b := &IPAMBlockApplyConfiguration{} + err := managedfields.ExtractInto(iPAMBlock, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.IPAMBlock"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(iPAMBlock.Name) + + b.WithKind("IPAMBlock") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractIPAMBlock extracts the applied configuration owned by fieldManager from +// iPAMBlock. If no managedFields are found in iPAMBlock for fieldManager, a +// IPAMBlockApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// iPAMBlock must be a unmodified IPAMBlock API object that was retrieved from the Kubernetes API. +// ExtractIPAMBlock provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractIPAMBlock(iPAMBlock *projectcalicov3.IPAMBlock, fieldManager string) (*IPAMBlockApplyConfiguration, error) { + return ExtractIPAMBlockFrom(iPAMBlock, fieldManager, "") +} + +func (b IPAMBlockApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithKind(value string) *IPAMBlockApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithAPIVersion(value string) *IPAMBlockApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithName(value string) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithGenerateName(value string) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithNamespace(value string) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithUID(value types.UID) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithResourceVersion(value string) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithGeneration(value int64) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithCreationTimestamp(value metav1.Time) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *IPAMBlockApplyConfiguration) WithLabels(entries map[string]string) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *IPAMBlockApplyConfiguration) WithAnnotations(entries map[string]string) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *IPAMBlockApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *IPAMBlockApplyConfiguration) WithFinalizers(values ...string) *IPAMBlockApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *IPAMBlockApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *IPAMBlockApplyConfiguration) WithSpec(value *IPAMBlockSpecApplyConfiguration) *IPAMBlockApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *IPAMBlockApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *IPAMBlockApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *IPAMBlockApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *IPAMBlockApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamblockspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamblockspec.go new file mode 100644 index 00000000..c3224c3a --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamblockspec.go @@ -0,0 +1,152 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// IPAMBlockSpecApplyConfiguration represents a declarative configuration of the IPAMBlockSpec type for use +// with apply. +// +// IPAMBlockSpec contains the specification for an IPAMBlock resource. +type IPAMBlockSpecApplyConfiguration struct { + // The block's CIDR. + CIDR *string `json:"cidr,omitempty"` + // Affinity of the block, if this block has one. If set, it will be of the form + // "host:" or "virtual:". If not set, this block is not affine to a host. + Affinity *string `json:"affinity,omitempty"` + // Time at which affinity was claimed. + AffinityClaimTime *v1.Time `json:"affinityClaimTime,omitempty"` + // Array of allocations in-use within this block. nil entries mean the allocation is free. + // For non-nil entries at index i, the index is the ordinal of the allocation within this block + // and the value is the index of the associated attributes in the Attributes array. + Allocations []*int `json:"allocations,omitempty"` + // Unallocated is an ordered list of allocations which are free in the block. + Unallocated []int `json:"unallocated,omitempty"` + // Attributes is an array of arbitrary metadata associated with allocations in the block. To find + // attributes for a given allocation, use the value of the allocation's entry in the Allocations array + // as the index of the element in this array. + Attributes []AllocationAttributeApplyConfiguration `json:"attributes,omitempty"` + // We store a sequence number that is updated each time the block is written. + // Each allocation will also store the sequence number of the block at the time of its creation. + // When releasing an IP, passing the sequence number associated with the allocation allows us + // to protect against a race condition and ensure the IP hasn't been released and re-allocated + // since the release request. + SequenceNumber *uint64 `json:"sequenceNumber,omitempty"` + // Map of allocated ordinal within the block to sequence number of the block at + // the time of allocation. Kubernetes does not allow numerical keys for maps, so + // the key is cast to a string. + SequenceNumberForAllocation map[string]uint64 `json:"sequenceNumberForAllocation,omitempty"` + // Deleted is an internal boolean used to workaround a limitation in the Kubernetes API whereby + // deletion will not return a conflict error if the block has been updated. It should not be set manually. + Deleted *bool `json:"deleted,omitempty"` + // StrictAffinity on the IPAMBlock is deprecated and no longer used by the code. Use IPAMConfig StrictAffinity instead. + DeprecatedStrictAffinity *bool `json:"strictAffinity,omitempty"` +} + +// IPAMBlockSpecApplyConfiguration constructs a declarative configuration of the IPAMBlockSpec type for use with +// apply. +func IPAMBlockSpec() *IPAMBlockSpecApplyConfiguration { + return &IPAMBlockSpecApplyConfiguration{} +} + +// WithCIDR sets the CIDR field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CIDR field is set to the value of the last call. +func (b *IPAMBlockSpecApplyConfiguration) WithCIDR(value string) *IPAMBlockSpecApplyConfiguration { + b.CIDR = &value + return b +} + +// WithAffinity sets the Affinity field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Affinity field is set to the value of the last call. +func (b *IPAMBlockSpecApplyConfiguration) WithAffinity(value string) *IPAMBlockSpecApplyConfiguration { + b.Affinity = &value + return b +} + +// WithAffinityClaimTime sets the AffinityClaimTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AffinityClaimTime field is set to the value of the last call. +func (b *IPAMBlockSpecApplyConfiguration) WithAffinityClaimTime(value v1.Time) *IPAMBlockSpecApplyConfiguration { + b.AffinityClaimTime = &value + return b +} + +// WithAllocations adds the given value to the Allocations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Allocations field. +func (b *IPAMBlockSpecApplyConfiguration) WithAllocations(values ...*int) *IPAMBlockSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithAllocations") + } + b.Allocations = append(b.Allocations, values[i]) + } + return b +} + +// WithUnallocated adds the given value to the Unallocated field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Unallocated field. +func (b *IPAMBlockSpecApplyConfiguration) WithUnallocated(values ...int) *IPAMBlockSpecApplyConfiguration { + for i := range values { + b.Unallocated = append(b.Unallocated, values[i]) + } + return b +} + +// WithAttributes adds the given value to the Attributes field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Attributes field. +func (b *IPAMBlockSpecApplyConfiguration) WithAttributes(values ...*AllocationAttributeApplyConfiguration) *IPAMBlockSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithAttributes") + } + b.Attributes = append(b.Attributes, *values[i]) + } + return b +} + +// WithSequenceNumber sets the SequenceNumber field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SequenceNumber field is set to the value of the last call. +func (b *IPAMBlockSpecApplyConfiguration) WithSequenceNumber(value uint64) *IPAMBlockSpecApplyConfiguration { + b.SequenceNumber = &value + return b +} + +// WithSequenceNumberForAllocation puts the entries into the SequenceNumberForAllocation field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the SequenceNumberForAllocation field, +// overwriting an existing map entries in SequenceNumberForAllocation field with the same key. +func (b *IPAMBlockSpecApplyConfiguration) WithSequenceNumberForAllocation(entries map[string]uint64) *IPAMBlockSpecApplyConfiguration { + if b.SequenceNumberForAllocation == nil && len(entries) > 0 { + b.SequenceNumberForAllocation = make(map[string]uint64, len(entries)) + } + for k, v := range entries { + b.SequenceNumberForAllocation[k] = v + } + return b +} + +// WithDeleted sets the Deleted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Deleted field is set to the value of the last call. +func (b *IPAMBlockSpecApplyConfiguration) WithDeleted(value bool) *IPAMBlockSpecApplyConfiguration { + b.Deleted = &value + return b +} + +// WithDeprecatedStrictAffinity sets the DeprecatedStrictAffinity field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeprecatedStrictAffinity field is set to the value of the last call. +func (b *IPAMBlockSpecApplyConfiguration) WithDeprecatedStrictAffinity(value bool) *IPAMBlockSpecApplyConfiguration { + b.DeprecatedStrictAffinity = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamconfiguration.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamconfiguration.go new file mode 100644 index 00000000..d77e11fc --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamconfiguration.go @@ -0,0 +1,258 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// IPAMConfigurationApplyConfiguration represents a declarative configuration of the IPAMConfiguration type for use +// with apply. +// +// IPAMConfiguration contains information about a block for IP address assignment. +type IPAMConfigurationApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *IPAMConfigurationSpecApplyConfiguration `json:"spec,omitempty"` +} + +// IPAMConfiguration constructs a declarative configuration of the IPAMConfiguration type for use with +// apply. +func IPAMConfiguration(name string) *IPAMConfigurationApplyConfiguration { + b := &IPAMConfigurationApplyConfiguration{} + b.WithName(name) + b.WithKind("IPAMConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractIPAMConfigurationFrom extracts the applied configuration owned by fieldManager from +// iPAMConfiguration for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// iPAMConfiguration must be a unmodified IPAMConfiguration API object that was retrieved from the Kubernetes API. +// ExtractIPAMConfigurationFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractIPAMConfigurationFrom(iPAMConfiguration *projectcalicov3.IPAMConfiguration, fieldManager string, subresource string) (*IPAMConfigurationApplyConfiguration, error) { + b := &IPAMConfigurationApplyConfiguration{} + err := managedfields.ExtractInto(iPAMConfiguration, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.IPAMConfiguration"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(iPAMConfiguration.Name) + + b.WithKind("IPAMConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractIPAMConfiguration extracts the applied configuration owned by fieldManager from +// iPAMConfiguration. If no managedFields are found in iPAMConfiguration for fieldManager, a +// IPAMConfigurationApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// iPAMConfiguration must be a unmodified IPAMConfiguration API object that was retrieved from the Kubernetes API. +// ExtractIPAMConfiguration provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractIPAMConfiguration(iPAMConfiguration *projectcalicov3.IPAMConfiguration, fieldManager string) (*IPAMConfigurationApplyConfiguration, error) { + return ExtractIPAMConfigurationFrom(iPAMConfiguration, fieldManager, "") +} + +func (b IPAMConfigurationApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithKind(value string) *IPAMConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithAPIVersion(value string) *IPAMConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithName(value string) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithGenerateName(value string) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithNamespace(value string) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithUID(value types.UID) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithResourceVersion(value string) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithGeneration(value int64) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithCreationTimestamp(value metav1.Time) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *IPAMConfigurationApplyConfiguration) WithLabels(entries map[string]string) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *IPAMConfigurationApplyConfiguration) WithAnnotations(entries map[string]string) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *IPAMConfigurationApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *IPAMConfigurationApplyConfiguration) WithFinalizers(values ...string) *IPAMConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *IPAMConfigurationApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *IPAMConfigurationApplyConfiguration) WithSpec(value *IPAMConfigurationSpecApplyConfiguration) *IPAMConfigurationApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *IPAMConfigurationApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *IPAMConfigurationApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *IPAMConfigurationApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *IPAMConfigurationApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamconfigurationspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamconfigurationspec.go new file mode 100644 index 00000000..81b25de5 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamconfigurationspec.go @@ -0,0 +1,71 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// IPAMConfigurationSpecApplyConfiguration represents a declarative configuration of the IPAMConfigurationSpec type for use +// with apply. +// +// IPAMConfigurationSpec contains the specification for an IPAMConfiguration resource. +type IPAMConfigurationSpecApplyConfiguration struct { + // When StrictAffinity is true, borrowing IP addresses is not allowed. + StrictAffinity *bool `json:"strictAffinity,omitempty"` + // MaxBlocksPerHost, if non-zero, is the max number of blocks that can be + // affine to each host. + MaxBlocksPerHost *int32 `json:"maxBlocksPerHost,omitempty"` + // Whether or not to auto allocate blocks to hosts. + AutoAllocateBlocks *bool `json:"autoAllocateBlocks,omitempty"` + // KubeVirtVMAddressPersistence controls whether KubeVirt VirtualMachine workloads + // maintain persistent IP addresses across VM lifecycle events (reboot, migration, pod eviction). + // When Enabled, Calico automatically ensures that KubeVirt VMs retain their IP addresses + // when their underlying pods are recreated during VM operations. + // When Disabled, VMs receive new IP addresses whenever their pods are recreated, + // and creating a live migration target pod is not supported because the migration + // target pod requires the same IP as the source pod, which is only possible with + // address persistence. + // Defaults to Enabled if not specified. + KubeVirtVMAddressPersistence *projectcalicov3.VMAddressPersistence `json:"kubeVirtVMAddressPersistence,omitempty"` +} + +// IPAMConfigurationSpecApplyConfiguration constructs a declarative configuration of the IPAMConfigurationSpec type for use with +// apply. +func IPAMConfigurationSpec() *IPAMConfigurationSpecApplyConfiguration { + return &IPAMConfigurationSpecApplyConfiguration{} +} + +// WithStrictAffinity sets the StrictAffinity field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StrictAffinity field is set to the value of the last call. +func (b *IPAMConfigurationSpecApplyConfiguration) WithStrictAffinity(value bool) *IPAMConfigurationSpecApplyConfiguration { + b.StrictAffinity = &value + return b +} + +// WithMaxBlocksPerHost sets the MaxBlocksPerHost field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MaxBlocksPerHost field is set to the value of the last call. +func (b *IPAMConfigurationSpecApplyConfiguration) WithMaxBlocksPerHost(value int32) *IPAMConfigurationSpecApplyConfiguration { + b.MaxBlocksPerHost = &value + return b +} + +// WithAutoAllocateBlocks sets the AutoAllocateBlocks field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AutoAllocateBlocks field is set to the value of the last call. +func (b *IPAMConfigurationSpecApplyConfiguration) WithAutoAllocateBlocks(value bool) *IPAMConfigurationSpecApplyConfiguration { + b.AutoAllocateBlocks = &value + return b +} + +// WithKubeVirtVMAddressPersistence sets the KubeVirtVMAddressPersistence field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the KubeVirtVMAddressPersistence field is set to the value of the last call. +func (b *IPAMConfigurationSpecApplyConfiguration) WithKubeVirtVMAddressPersistence(value projectcalicov3.VMAddressPersistence) *IPAMConfigurationSpecApplyConfiguration { + b.KubeVirtVMAddressPersistence = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamhandle.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamhandle.go new file mode 100644 index 00000000..564fe03d --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamhandle.go @@ -0,0 +1,258 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// IPAMHandleApplyConfiguration represents a declarative configuration of the IPAMHandle type for use +// with apply. +type IPAMHandleApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *IPAMHandleSpecApplyConfiguration `json:"spec,omitempty"` +} + +// IPAMHandle constructs a declarative configuration of the IPAMHandle type for use with +// apply. +func IPAMHandle(name, namespace string) *IPAMHandleApplyConfiguration { + b := &IPAMHandleApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("IPAMHandle") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractIPAMHandleFrom extracts the applied configuration owned by fieldManager from +// iPAMHandle for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// iPAMHandle must be a unmodified IPAMHandle API object that was retrieved from the Kubernetes API. +// ExtractIPAMHandleFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractIPAMHandleFrom(iPAMHandle *projectcalicov3.IPAMHandle, fieldManager string, subresource string) (*IPAMHandleApplyConfiguration, error) { + b := &IPAMHandleApplyConfiguration{} + err := managedfields.ExtractInto(iPAMHandle, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.IPAMHandle"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(iPAMHandle.Name) + b.WithNamespace(iPAMHandle.Namespace) + + b.WithKind("IPAMHandle") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractIPAMHandle extracts the applied configuration owned by fieldManager from +// iPAMHandle. If no managedFields are found in iPAMHandle for fieldManager, a +// IPAMHandleApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// iPAMHandle must be a unmodified IPAMHandle API object that was retrieved from the Kubernetes API. +// ExtractIPAMHandle provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractIPAMHandle(iPAMHandle *projectcalicov3.IPAMHandle, fieldManager string) (*IPAMHandleApplyConfiguration, error) { + return ExtractIPAMHandleFrom(iPAMHandle, fieldManager, "") +} + +func (b IPAMHandleApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithKind(value string) *IPAMHandleApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithAPIVersion(value string) *IPAMHandleApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithName(value string) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithGenerateName(value string) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithNamespace(value string) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithUID(value types.UID) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithResourceVersion(value string) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithGeneration(value int64) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithCreationTimestamp(value metav1.Time) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *IPAMHandleApplyConfiguration) WithLabels(entries map[string]string) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *IPAMHandleApplyConfiguration) WithAnnotations(entries map[string]string) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *IPAMHandleApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *IPAMHandleApplyConfiguration) WithFinalizers(values ...string) *IPAMHandleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *IPAMHandleApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *IPAMHandleApplyConfiguration) WithSpec(value *IPAMHandleSpecApplyConfiguration) *IPAMHandleApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *IPAMHandleApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *IPAMHandleApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *IPAMHandleApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *IPAMHandleApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamhandlespec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamhandlespec.go new file mode 100644 index 00000000..f443b300 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipamhandlespec.go @@ -0,0 +1,51 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// IPAMHandleSpecApplyConfiguration represents a declarative configuration of the IPAMHandleSpec type for use +// with apply. +// +// IPAMHandleSpec contains the specification for an IPAMHandle resource. +type IPAMHandleSpecApplyConfiguration struct { + HandleID *string `json:"handleID,omitempty"` + Block map[string]int `json:"block,omitempty"` + Deleted *bool `json:"deleted,omitempty"` +} + +// IPAMHandleSpecApplyConfiguration constructs a declarative configuration of the IPAMHandleSpec type for use with +// apply. +func IPAMHandleSpec() *IPAMHandleSpecApplyConfiguration { + return &IPAMHandleSpecApplyConfiguration{} +} + +// WithHandleID sets the HandleID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HandleID field is set to the value of the last call. +func (b *IPAMHandleSpecApplyConfiguration) WithHandleID(value string) *IPAMHandleSpecApplyConfiguration { + b.HandleID = &value + return b +} + +// WithBlock puts the entries into the Block field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Block field, +// overwriting an existing map entries in Block field with the same key. +func (b *IPAMHandleSpecApplyConfiguration) WithBlock(entries map[string]int) *IPAMHandleSpecApplyConfiguration { + if b.Block == nil && len(entries) > 0 { + b.Block = make(map[string]int, len(entries)) + } + for k, v := range entries { + b.Block[k] = v + } + return b +} + +// WithDeleted sets the Deleted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Deleted field is set to the value of the last call. +func (b *IPAMHandleSpecApplyConfiguration) WithDeleted(value bool) *IPAMHandleSpecApplyConfiguration { + b.Deleted = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/ippool.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/ippool.go new file mode 100644 index 00000000..f1ba002e --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/ippool.go @@ -0,0 +1,271 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// IPPoolApplyConfiguration represents a declarative configuration of the IPPool type for use +// with apply. +type IPPoolApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *IPPoolSpecApplyConfiguration `json:"spec,omitempty"` + Status *IPPoolStatusApplyConfiguration `json:"status,omitempty"` +} + +// IPPool constructs a declarative configuration of the IPPool type for use with +// apply. +func IPPool(name string) *IPPoolApplyConfiguration { + b := &IPPoolApplyConfiguration{} + b.WithName(name) + b.WithKind("IPPool") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractIPPoolFrom extracts the applied configuration owned by fieldManager from +// iPPool for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// iPPool must be a unmodified IPPool API object that was retrieved from the Kubernetes API. +// ExtractIPPoolFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractIPPoolFrom(iPPool *projectcalicov3.IPPool, fieldManager string, subresource string) (*IPPoolApplyConfiguration, error) { + b := &IPPoolApplyConfiguration{} + err := managedfields.ExtractInto(iPPool, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.IPPool"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(iPPool.Name) + + b.WithKind("IPPool") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractIPPool extracts the applied configuration owned by fieldManager from +// iPPool. If no managedFields are found in iPPool for fieldManager, a +// IPPoolApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// iPPool must be a unmodified IPPool API object that was retrieved from the Kubernetes API. +// ExtractIPPool provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractIPPool(iPPool *projectcalicov3.IPPool, fieldManager string) (*IPPoolApplyConfiguration, error) { + return ExtractIPPoolFrom(iPPool, fieldManager, "") +} + +// ExtractIPPoolStatus extracts the applied configuration owned by fieldManager from +// iPPool for the status subresource. +func ExtractIPPoolStatus(iPPool *projectcalicov3.IPPool, fieldManager string) (*IPPoolApplyConfiguration, error) { + return ExtractIPPoolFrom(iPPool, fieldManager, "status") +} + +func (b IPPoolApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithKind(value string) *IPPoolApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithAPIVersion(value string) *IPPoolApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithName(value string) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithGenerateName(value string) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithNamespace(value string) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithUID(value types.UID) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithResourceVersion(value string) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithGeneration(value int64) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithCreationTimestamp(value metav1.Time) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *IPPoolApplyConfiguration) WithLabels(entries map[string]string) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *IPPoolApplyConfiguration) WithAnnotations(entries map[string]string) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *IPPoolApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *IPPoolApplyConfiguration) WithFinalizers(values ...string) *IPPoolApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *IPPoolApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithSpec(value *IPPoolSpecApplyConfiguration) *IPPoolApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *IPPoolApplyConfiguration) WithStatus(value *IPPoolStatusApplyConfiguration) *IPPoolApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *IPPoolApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *IPPoolApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *IPPoolApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *IPPoolApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/ippoolspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/ippoolspec.go new file mode 100644 index 00000000..a81d39f6 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/ippoolspec.go @@ -0,0 +1,155 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// IPPoolSpecApplyConfiguration represents a declarative configuration of the IPPoolSpec type for use +// with apply. +// +// IPPoolSpec contains the specification for an IPPool resource. +type IPPoolSpecApplyConfiguration struct { + // The pool CIDR. + CIDR *string `json:"cidr,omitempty"` + // Contains configuration for VXLAN tunneling for this pool. + VXLANMode *projectcalicov3.VXLANMode `json:"vxlanMode,omitempty"` + // Contains configuration for IPIP tunneling for this pool. + // For IPv6 pools, IPIP tunneling must be disabled. + IPIPMode *projectcalicov3.IPIPMode `json:"ipipMode,omitempty"` + // When natOutgoing is true, packets sent from Calico networked containers in + // this pool to destinations outside of this pool will be masqueraded. + NATOutgoing *bool `json:"natOutgoing,omitempty"` + // When disabled is true, Calico IPAM will not assign addresses from this pool. + Disabled *bool `json:"disabled,omitempty"` + // Disable exporting routes from this IP Pool's CIDR over BGP. [Default: false] + DisableBGPExport *bool `json:"disableBGPExport,omitempty"` + // The block size to use for IP address assignments from this pool. Defaults to 26 for IPv4 and 122 for IPv6. + // The block size must be between 0 and 32 for IPv4 and between 0 and 128 for IPv6. It must also be smaller than + // or equal to the size of the pool CIDR. + BlockSize *int `json:"blockSize,omitempty"` + // Allows IPPool to allocate for a specific node by label selector. + NodeSelector *string `json:"nodeSelector,omitempty"` + // Allows IPPool to allocate for a specific namespace by label selector. + // If specified, both namespaceSelector and nodeSelector must match for the pool to be used. + NamespaceSelector *string `json:"namespaceSelector,omitempty"` + // AllowedUse controls what the IP pool will be used for. If not specified or empty, defaults to + // ["Tunnel", "Workload"] for back-compatibility + AllowedUses []projectcalicov3.IPPoolAllowedUse `json:"allowedUses,omitempty"` + // AWSSubnetID if specified Calico will attempt to ensure that IPs chosen from this IP pool are routed + // to the corresponding node by adding one or more secondary ENIs to the node and explicitly assigning + // the IP to one of the secondary ENIs. Important: since subnets cannot cross availability zones, + // it's important to use Kubernetes node selectors to avoid scheduling pods to one availability zone + // using an IP pool that is backed by a subnet that belongs to another availability zone. If AWSSubnetID + // is specified, then the CIDR of the IP pool must be contained within the specified AWS subnet. + AWSSubnetID *string `json:"awsSubnetID,omitempty"` + // Determines the mode how IP addresses should be assigned from this pool + AssignmentMode *projectcalicov3.AssignmentMode `json:"assignmentMode,omitempty"` +} + +// IPPoolSpecApplyConfiguration constructs a declarative configuration of the IPPoolSpec type for use with +// apply. +func IPPoolSpec() *IPPoolSpecApplyConfiguration { + return &IPPoolSpecApplyConfiguration{} +} + +// WithCIDR sets the CIDR field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CIDR field is set to the value of the last call. +func (b *IPPoolSpecApplyConfiguration) WithCIDR(value string) *IPPoolSpecApplyConfiguration { + b.CIDR = &value + return b +} + +// WithVXLANMode sets the VXLANMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the VXLANMode field is set to the value of the last call. +func (b *IPPoolSpecApplyConfiguration) WithVXLANMode(value projectcalicov3.VXLANMode) *IPPoolSpecApplyConfiguration { + b.VXLANMode = &value + return b +} + +// WithIPIPMode sets the IPIPMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPIPMode field is set to the value of the last call. +func (b *IPPoolSpecApplyConfiguration) WithIPIPMode(value projectcalicov3.IPIPMode) *IPPoolSpecApplyConfiguration { + b.IPIPMode = &value + return b +} + +// WithNATOutgoing sets the NATOutgoing field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NATOutgoing field is set to the value of the last call. +func (b *IPPoolSpecApplyConfiguration) WithNATOutgoing(value bool) *IPPoolSpecApplyConfiguration { + b.NATOutgoing = &value + return b +} + +// WithDisabled sets the Disabled field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Disabled field is set to the value of the last call. +func (b *IPPoolSpecApplyConfiguration) WithDisabled(value bool) *IPPoolSpecApplyConfiguration { + b.Disabled = &value + return b +} + +// WithDisableBGPExport sets the DisableBGPExport field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DisableBGPExport field is set to the value of the last call. +func (b *IPPoolSpecApplyConfiguration) WithDisableBGPExport(value bool) *IPPoolSpecApplyConfiguration { + b.DisableBGPExport = &value + return b +} + +// WithBlockSize sets the BlockSize field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BlockSize field is set to the value of the last call. +func (b *IPPoolSpecApplyConfiguration) WithBlockSize(value int) *IPPoolSpecApplyConfiguration { + b.BlockSize = &value + return b +} + +// WithNodeSelector sets the NodeSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NodeSelector field is set to the value of the last call. +func (b *IPPoolSpecApplyConfiguration) WithNodeSelector(value string) *IPPoolSpecApplyConfiguration { + b.NodeSelector = &value + return b +} + +// WithNamespaceSelector sets the NamespaceSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NamespaceSelector field is set to the value of the last call. +func (b *IPPoolSpecApplyConfiguration) WithNamespaceSelector(value string) *IPPoolSpecApplyConfiguration { + b.NamespaceSelector = &value + return b +} + +// WithAllowedUses adds the given value to the AllowedUses field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the AllowedUses field. +func (b *IPPoolSpecApplyConfiguration) WithAllowedUses(values ...projectcalicov3.IPPoolAllowedUse) *IPPoolSpecApplyConfiguration { + for i := range values { + b.AllowedUses = append(b.AllowedUses, values[i]) + } + return b +} + +// WithAWSSubnetID sets the AWSSubnetID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AWSSubnetID field is set to the value of the last call. +func (b *IPPoolSpecApplyConfiguration) WithAWSSubnetID(value string) *IPPoolSpecApplyConfiguration { + b.AWSSubnetID = &value + return b +} + +// WithAssignmentMode sets the AssignmentMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AssignmentMode field is set to the value of the last call. +func (b *IPPoolSpecApplyConfiguration) WithAssignmentMode(value projectcalicov3.AssignmentMode) *IPPoolSpecApplyConfiguration { + b.AssignmentMode = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/ippoolstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/ippoolstatus.go new file mode 100644 index 00000000..749c90a6 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/ippoolstatus.go @@ -0,0 +1,34 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// IPPoolStatusApplyConfiguration represents a declarative configuration of the IPPoolStatus type for use +// with apply. +type IPPoolStatusApplyConfiguration struct { + Conditions []v1.ConditionApplyConfiguration `json:"conditions,omitempty"` +} + +// IPPoolStatusApplyConfiguration constructs a declarative configuration of the IPPoolStatus type for use with +// apply. +func IPPoolStatus() *IPPoolStatusApplyConfiguration { + return &IPPoolStatusApplyConfiguration{} +} + +// WithConditions adds the given value to the Conditions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Conditions field. +func (b *IPPoolStatusApplyConfiguration) WithConditions(values ...*v1.ConditionApplyConfiguration) *IPPoolStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithConditions") + } + b.Conditions = append(b.Conditions, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/ipreservation.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipreservation.go new file mode 100644 index 00000000..f9ef8e6d --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipreservation.go @@ -0,0 +1,262 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// IPReservationApplyConfiguration represents a declarative configuration of the IPReservation type for use +// with apply. +// +// IPReservation allows certain IP addresses to be reserved (i.e. prevented from being allocated) by Calico +// IPAM. Reservations only block new allocations, they do not cause existing IP allocations to be released. +// The current implementation is only suitable for reserving small numbers of IP addresses relative to the +// size of the IP pool. If large portions of an IP pool are reserved, Calico IPAM may hunt for a long time +// to find a non-reserved IP. +type IPReservationApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *IPReservationSpecApplyConfiguration `json:"spec,omitempty"` +} + +// IPReservation constructs a declarative configuration of the IPReservation type for use with +// apply. +func IPReservation(name string) *IPReservationApplyConfiguration { + b := &IPReservationApplyConfiguration{} + b.WithName(name) + b.WithKind("IPReservation") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractIPReservationFrom extracts the applied configuration owned by fieldManager from +// iPReservation for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// iPReservation must be a unmodified IPReservation API object that was retrieved from the Kubernetes API. +// ExtractIPReservationFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractIPReservationFrom(iPReservation *projectcalicov3.IPReservation, fieldManager string, subresource string) (*IPReservationApplyConfiguration, error) { + b := &IPReservationApplyConfiguration{} + err := managedfields.ExtractInto(iPReservation, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.IPReservation"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(iPReservation.Name) + + b.WithKind("IPReservation") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractIPReservation extracts the applied configuration owned by fieldManager from +// iPReservation. If no managedFields are found in iPReservation for fieldManager, a +// IPReservationApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// iPReservation must be a unmodified IPReservation API object that was retrieved from the Kubernetes API. +// ExtractIPReservation provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractIPReservation(iPReservation *projectcalicov3.IPReservation, fieldManager string) (*IPReservationApplyConfiguration, error) { + return ExtractIPReservationFrom(iPReservation, fieldManager, "") +} + +func (b IPReservationApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithKind(value string) *IPReservationApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithAPIVersion(value string) *IPReservationApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithName(value string) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithGenerateName(value string) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithNamespace(value string) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithUID(value types.UID) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithResourceVersion(value string) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithGeneration(value int64) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithCreationTimestamp(value metav1.Time) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *IPReservationApplyConfiguration) WithLabels(entries map[string]string) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *IPReservationApplyConfiguration) WithAnnotations(entries map[string]string) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *IPReservationApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *IPReservationApplyConfiguration) WithFinalizers(values ...string) *IPReservationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *IPReservationApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *IPReservationApplyConfiguration) WithSpec(value *IPReservationSpecApplyConfiguration) *IPReservationApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *IPReservationApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *IPReservationApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *IPReservationApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *IPReservationApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/ipreservationspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipreservationspec.go new file mode 100644 index 00000000..ecd574df --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/ipreservationspec.go @@ -0,0 +1,30 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// IPReservationSpecApplyConfiguration represents a declarative configuration of the IPReservationSpec type for use +// with apply. +// +// IPReservationSpec contains the specification for an IPReservation resource. +type IPReservationSpecApplyConfiguration struct { + // ReservedCIDRs is a list of CIDRs and/or IP addresses that Calico IPAM will exclude from new allocations. + ReservedCIDRs []string `json:"reservedCIDRs,omitempty"` +} + +// IPReservationSpecApplyConfiguration constructs a declarative configuration of the IPReservationSpec type for use with +// apply. +func IPReservationSpec() *IPReservationSpecApplyConfiguration { + return &IPReservationSpecApplyConfiguration{} +} + +// WithReservedCIDRs adds the given value to the ReservedCIDRs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ReservedCIDRs field. +func (b *IPReservationSpecApplyConfiguration) WithReservedCIDRs(values ...string) *IPReservationSpecApplyConfiguration { + for i := range values { + b.ReservedCIDRs = append(b.ReservedCIDRs, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/kubeconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/kubeconfig.go new file mode 100644 index 00000000..d55c8ebd --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/kubeconfig.go @@ -0,0 +1,96 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// KubeConfigApplyConfiguration represents a declarative configuration of the KubeConfig type for use +// with apply. +type KubeConfigApplyConfiguration struct { + // When using the Kubernetes datastore, the location of a kubeconfig file. Valid if DatastoreType is kubernetes. + Kubeconfig *string `json:"kubeconfig,omitempty"` + // Location of the Kubernetes API. Not required if using kubeconfig. Valid if DatastoreType is kubernetes. + K8sAPIEndpoint *string `json:"k8sAPIEndpoint,omitempty"` + // Location of a client key for accessing the Kubernetes API. Valid if DatastoreType is kubernetes. + K8sKeyFile *string `json:"k8sKeyFile,omitempty"` + // Location of a client certificate for accessing the Kubernetes API. Valid if DatastoreType is kubernetes. + K8sCertFile *string `json:"k8sCertFile,omitempty"` + // Location of a CA for accessing the Kubernetes API. Valid if DatastoreType is kubernetes. + K8sCAFile *string `json:"k8sCAFile,omitempty"` + // Token to be used for accessing the Kubernetes API. Valid if DatastoreType is kubernetes. + K8sAPIToken *string `json:"k8sAPIToken,omitempty"` + K8sInsecureSkipTLSVerify *bool `json:"k8sInsecureSkipTLSVerify,omitempty"` + // This is an alternative to Kubeconfig and if specified overrides Kubeconfig. + // This contains the contents that would normally be in the file pointed at by Kubeconfig. + KubeconfigInline *string `json:"kubeconfigInline,omitempty"` +} + +// KubeConfigApplyConfiguration constructs a declarative configuration of the KubeConfig type for use with +// apply. +func KubeConfig() *KubeConfigApplyConfiguration { + return &KubeConfigApplyConfiguration{} +} + +// WithKubeconfig sets the Kubeconfig field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kubeconfig field is set to the value of the last call. +func (b *KubeConfigApplyConfiguration) WithKubeconfig(value string) *KubeConfigApplyConfiguration { + b.Kubeconfig = &value + return b +} + +// WithK8sAPIEndpoint sets the K8sAPIEndpoint field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sAPIEndpoint field is set to the value of the last call. +func (b *KubeConfigApplyConfiguration) WithK8sAPIEndpoint(value string) *KubeConfigApplyConfiguration { + b.K8sAPIEndpoint = &value + return b +} + +// WithK8sKeyFile sets the K8sKeyFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sKeyFile field is set to the value of the last call. +func (b *KubeConfigApplyConfiguration) WithK8sKeyFile(value string) *KubeConfigApplyConfiguration { + b.K8sKeyFile = &value + return b +} + +// WithK8sCertFile sets the K8sCertFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sCertFile field is set to the value of the last call. +func (b *KubeConfigApplyConfiguration) WithK8sCertFile(value string) *KubeConfigApplyConfiguration { + b.K8sCertFile = &value + return b +} + +// WithK8sCAFile sets the K8sCAFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sCAFile field is set to the value of the last call. +func (b *KubeConfigApplyConfiguration) WithK8sCAFile(value string) *KubeConfigApplyConfiguration { + b.K8sCAFile = &value + return b +} + +// WithK8sAPIToken sets the K8sAPIToken field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sAPIToken field is set to the value of the last call. +func (b *KubeConfigApplyConfiguration) WithK8sAPIToken(value string) *KubeConfigApplyConfiguration { + b.K8sAPIToken = &value + return b +} + +// WithK8sInsecureSkipTLSVerify sets the K8sInsecureSkipTLSVerify field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sInsecureSkipTLSVerify field is set to the value of the last call. +func (b *KubeConfigApplyConfiguration) WithK8sInsecureSkipTLSVerify(value bool) *KubeConfigApplyConfiguration { + b.K8sInsecureSkipTLSVerify = &value + return b +} + +// WithKubeconfigInline sets the KubeconfigInline field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the KubeconfigInline field is set to the value of the last call. +func (b *KubeConfigApplyConfiguration) WithKubeconfigInline(value string) *KubeConfigApplyConfiguration { + b.KubeconfigInline = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfiguration.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfiguration.go new file mode 100644 index 00000000..6b3e6ac9 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfiguration.go @@ -0,0 +1,271 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// KubeControllersConfigurationApplyConfiguration represents a declarative configuration of the KubeControllersConfiguration type for use +// with apply. +type KubeControllersConfigurationApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *KubeControllersConfigurationSpecApplyConfiguration `json:"spec,omitempty"` + Status *KubeControllersConfigurationStatusApplyConfiguration `json:"status,omitempty"` +} + +// KubeControllersConfiguration constructs a declarative configuration of the KubeControllersConfiguration type for use with +// apply. +func KubeControllersConfiguration(name string) *KubeControllersConfigurationApplyConfiguration { + b := &KubeControllersConfigurationApplyConfiguration{} + b.WithName(name) + b.WithKind("KubeControllersConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractKubeControllersConfigurationFrom extracts the applied configuration owned by fieldManager from +// kubeControllersConfiguration for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// kubeControllersConfiguration must be a unmodified KubeControllersConfiguration API object that was retrieved from the Kubernetes API. +// ExtractKubeControllersConfigurationFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractKubeControllersConfigurationFrom(kubeControllersConfiguration *projectcalicov3.KubeControllersConfiguration, fieldManager string, subresource string) (*KubeControllersConfigurationApplyConfiguration, error) { + b := &KubeControllersConfigurationApplyConfiguration{} + err := managedfields.ExtractInto(kubeControllersConfiguration, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.KubeControllersConfiguration"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(kubeControllersConfiguration.Name) + + b.WithKind("KubeControllersConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractKubeControllersConfiguration extracts the applied configuration owned by fieldManager from +// kubeControllersConfiguration. If no managedFields are found in kubeControllersConfiguration for fieldManager, a +// KubeControllersConfigurationApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// kubeControllersConfiguration must be a unmodified KubeControllersConfiguration API object that was retrieved from the Kubernetes API. +// ExtractKubeControllersConfiguration provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractKubeControllersConfiguration(kubeControllersConfiguration *projectcalicov3.KubeControllersConfiguration, fieldManager string) (*KubeControllersConfigurationApplyConfiguration, error) { + return ExtractKubeControllersConfigurationFrom(kubeControllersConfiguration, fieldManager, "") +} + +// ExtractKubeControllersConfigurationStatus extracts the applied configuration owned by fieldManager from +// kubeControllersConfiguration for the status subresource. +func ExtractKubeControllersConfigurationStatus(kubeControllersConfiguration *projectcalicov3.KubeControllersConfiguration, fieldManager string) (*KubeControllersConfigurationApplyConfiguration, error) { + return ExtractKubeControllersConfigurationFrom(kubeControllersConfiguration, fieldManager, "status") +} + +func (b KubeControllersConfigurationApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithKind(value string) *KubeControllersConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithAPIVersion(value string) *KubeControllersConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithName(value string) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithGenerateName(value string) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithNamespace(value string) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithUID(value types.UID) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithResourceVersion(value string) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithGeneration(value int64) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithCreationTimestamp(value metav1.Time) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *KubeControllersConfigurationApplyConfiguration) WithLabels(entries map[string]string) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *KubeControllersConfigurationApplyConfiguration) WithAnnotations(entries map[string]string) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *KubeControllersConfigurationApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *KubeControllersConfigurationApplyConfiguration) WithFinalizers(values ...string) *KubeControllersConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *KubeControllersConfigurationApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithSpec(value *KubeControllersConfigurationSpecApplyConfiguration) *KubeControllersConfigurationApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *KubeControllersConfigurationApplyConfiguration) WithStatus(value *KubeControllersConfigurationStatusApplyConfiguration) *KubeControllersConfigurationApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *KubeControllersConfigurationApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *KubeControllersConfigurationApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *KubeControllersConfigurationApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *KubeControllersConfigurationApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfigurationspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfigurationspec.go new file mode 100644 index 00000000..60651439 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfigurationspec.go @@ -0,0 +1,87 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// KubeControllersConfigurationSpecApplyConfiguration represents a declarative configuration of the KubeControllersConfigurationSpec type for use +// with apply. +// +// KubeControllersConfigurationSpec contains the values of the Kubernetes controllers configuration. +type KubeControllersConfigurationSpecApplyConfiguration struct { + // LogSeverityScreen is the log severity above which logs are sent to the stdout. [Default: Info] + // Valid values are: "None", "Debug", "Info", "Warning", "Error", "Fatal", "Panic". + LogSeverityScreen *string `json:"logSeverityScreen,omitempty"` + // HealthChecks enables or disables support for health checks [Default: Enabled] + // Valid values are: "Enabled", "Disabled". + HealthChecks *string `json:"healthChecks,omitempty"` + // EtcdV3CompactionPeriod is the period between etcdv3 compaction requests. Set to 0 to disable. [Default: 10m] + EtcdV3CompactionPeriod *v1.Duration `json:"etcdV3CompactionPeriod,omitempty"` + // PrometheusMetricsPort is the TCP port that the Prometheus metrics server should bind to. Set to 0 to disable. [Default: 9094] + // Valid values are: 0-65535. + PrometheusMetricsPort *int `json:"prometheusMetricsPort,omitempty"` + // Controllers enables and configures individual Kubernetes controllers + Controllers *ControllersConfigApplyConfiguration `json:"controllers,omitempty"` + // DebugProfilePort configures the port to serve memory and cpu profiles on. If not specified, profiling + // is disabled. + // Valid values are: 0-65535. + DebugProfilePort *int32 `json:"debugProfilePort,omitempty"` +} + +// KubeControllersConfigurationSpecApplyConfiguration constructs a declarative configuration of the KubeControllersConfigurationSpec type for use with +// apply. +func KubeControllersConfigurationSpec() *KubeControllersConfigurationSpecApplyConfiguration { + return &KubeControllersConfigurationSpecApplyConfiguration{} +} + +// WithLogSeverityScreen sets the LogSeverityScreen field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LogSeverityScreen field is set to the value of the last call. +func (b *KubeControllersConfigurationSpecApplyConfiguration) WithLogSeverityScreen(value string) *KubeControllersConfigurationSpecApplyConfiguration { + b.LogSeverityScreen = &value + return b +} + +// WithHealthChecks sets the HealthChecks field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HealthChecks field is set to the value of the last call. +func (b *KubeControllersConfigurationSpecApplyConfiguration) WithHealthChecks(value string) *KubeControllersConfigurationSpecApplyConfiguration { + b.HealthChecks = &value + return b +} + +// WithEtcdV3CompactionPeriod sets the EtcdV3CompactionPeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdV3CompactionPeriod field is set to the value of the last call. +func (b *KubeControllersConfigurationSpecApplyConfiguration) WithEtcdV3CompactionPeriod(value v1.Duration) *KubeControllersConfigurationSpecApplyConfiguration { + b.EtcdV3CompactionPeriod = &value + return b +} + +// WithPrometheusMetricsPort sets the PrometheusMetricsPort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PrometheusMetricsPort field is set to the value of the last call. +func (b *KubeControllersConfigurationSpecApplyConfiguration) WithPrometheusMetricsPort(value int) *KubeControllersConfigurationSpecApplyConfiguration { + b.PrometheusMetricsPort = &value + return b +} + +// WithControllers sets the Controllers field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Controllers field is set to the value of the last call. +func (b *KubeControllersConfigurationSpecApplyConfiguration) WithControllers(value *ControllersConfigApplyConfiguration) *KubeControllersConfigurationSpecApplyConfiguration { + b.Controllers = value + return b +} + +// WithDebugProfilePort sets the DebugProfilePort field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DebugProfilePort field is set to the value of the last call. +func (b *KubeControllersConfigurationSpecApplyConfiguration) WithDebugProfilePort(value int32) *KubeControllersConfigurationSpecApplyConfiguration { + b.DebugProfilePort = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfigurationstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfigurationstatus.go new file mode 100644 index 00000000..61aa8888 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/kubecontrollersconfigurationstatus.go @@ -0,0 +1,48 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// KubeControllersConfigurationStatusApplyConfiguration represents a declarative configuration of the KubeControllersConfigurationStatus type for use +// with apply. +// +// KubeControllersConfigurationStatus represents the status of the configuration. It's useful for admins to +// be able to see the actual config that was applied, which can be modified by environment variables on the +// kube-controllers process. +type KubeControllersConfigurationStatusApplyConfiguration struct { + // RunningConfig contains the effective config that is running in the kube-controllers pod, after + // merging the API resource with any environment variables. + RunningConfig *KubeControllersConfigurationSpecApplyConfiguration `json:"runningConfig,omitempty"` + // EnvironmentVars contains the environment variables on the kube-controllers that influenced + // the RunningConfig. + EnvironmentVars map[string]string `json:"environmentVars,omitempty"` +} + +// KubeControllersConfigurationStatusApplyConfiguration constructs a declarative configuration of the KubeControllersConfigurationStatus type for use with +// apply. +func KubeControllersConfigurationStatus() *KubeControllersConfigurationStatusApplyConfiguration { + return &KubeControllersConfigurationStatusApplyConfiguration{} +} + +// WithRunningConfig sets the RunningConfig field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RunningConfig field is set to the value of the last call. +func (b *KubeControllersConfigurationStatusApplyConfiguration) WithRunningConfig(value *KubeControllersConfigurationSpecApplyConfiguration) *KubeControllersConfigurationStatusApplyConfiguration { + b.RunningConfig = value + return b +} + +// WithEnvironmentVars puts the entries into the EnvironmentVars field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the EnvironmentVars field, +// overwriting an existing map entries in EnvironmentVars field with the same key. +func (b *KubeControllersConfigurationStatusApplyConfiguration) WithEnvironmentVars(entries map[string]string) *KubeControllersConfigurationStatusApplyConfiguration { + if b.EnvironmentVars == nil && len(entries) > 0 { + b.EnvironmentVars = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.EnvironmentVars[k] = v + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/licensekey.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/licensekey.go new file mode 100644 index 00000000..56154f29 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/licensekey.go @@ -0,0 +1,273 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// LicenseKeyApplyConfiguration represents a declarative configuration of the LicenseKey type for use +// with apply. +// +// LicenseKey contains the Calico Enterprise license key for the cluster. +type LicenseKeyApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *LicenseKeySpecApplyConfiguration `json:"spec,omitempty"` + Status *LicenseKeyStatusApplyConfiguration `json:"status,omitempty"` +} + +// LicenseKey constructs a declarative configuration of the LicenseKey type for use with +// apply. +func LicenseKey(name string) *LicenseKeyApplyConfiguration { + b := &LicenseKeyApplyConfiguration{} + b.WithName(name) + b.WithKind("LicenseKey") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractLicenseKeyFrom extracts the applied configuration owned by fieldManager from +// licenseKey for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// licenseKey must be a unmodified LicenseKey API object that was retrieved from the Kubernetes API. +// ExtractLicenseKeyFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractLicenseKeyFrom(licenseKey *projectcalicov3.LicenseKey, fieldManager string, subresource string) (*LicenseKeyApplyConfiguration, error) { + b := &LicenseKeyApplyConfiguration{} + err := managedfields.ExtractInto(licenseKey, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.LicenseKey"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(licenseKey.Name) + + b.WithKind("LicenseKey") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractLicenseKey extracts the applied configuration owned by fieldManager from +// licenseKey. If no managedFields are found in licenseKey for fieldManager, a +// LicenseKeyApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// licenseKey must be a unmodified LicenseKey API object that was retrieved from the Kubernetes API. +// ExtractLicenseKey provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractLicenseKey(licenseKey *projectcalicov3.LicenseKey, fieldManager string) (*LicenseKeyApplyConfiguration, error) { + return ExtractLicenseKeyFrom(licenseKey, fieldManager, "") +} + +// ExtractLicenseKeyStatus extracts the applied configuration owned by fieldManager from +// licenseKey for the status subresource. +func ExtractLicenseKeyStatus(licenseKey *projectcalicov3.LicenseKey, fieldManager string) (*LicenseKeyApplyConfiguration, error) { + return ExtractLicenseKeyFrom(licenseKey, fieldManager, "status") +} + +func (b LicenseKeyApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithKind(value string) *LicenseKeyApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithAPIVersion(value string) *LicenseKeyApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithName(value string) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithGenerateName(value string) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithNamespace(value string) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithUID(value types.UID) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithResourceVersion(value string) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithGeneration(value int64) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithCreationTimestamp(value metav1.Time) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *LicenseKeyApplyConfiguration) WithLabels(entries map[string]string) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *LicenseKeyApplyConfiguration) WithAnnotations(entries map[string]string) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *LicenseKeyApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *LicenseKeyApplyConfiguration) WithFinalizers(values ...string) *LicenseKeyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *LicenseKeyApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithSpec(value *LicenseKeySpecApplyConfiguration) *LicenseKeyApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *LicenseKeyApplyConfiguration) WithStatus(value *LicenseKeyStatusApplyConfiguration) *LicenseKeyApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *LicenseKeyApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *LicenseKeyApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *LicenseKeyApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *LicenseKeyApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/licensekeyspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/licensekeyspec.go new file mode 100644 index 00000000..c9a0efe3 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/licensekeyspec.go @@ -0,0 +1,38 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// LicenseKeySpecApplyConfiguration represents a declarative configuration of the LicenseKeySpec type for use +// with apply. +// +// LicenseKeySpec contains the license key itself. +type LicenseKeySpecApplyConfiguration struct { + // Token is the JWT containing the license claims + Token *string `json:"token,omitempty"` + // Certificate is used to validate the token. + Certificate *string `json:"certificate,omitempty"` +} + +// LicenseKeySpecApplyConfiguration constructs a declarative configuration of the LicenseKeySpec type for use with +// apply. +func LicenseKeySpec() *LicenseKeySpecApplyConfiguration { + return &LicenseKeySpecApplyConfiguration{} +} + +// WithToken sets the Token field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Token field is set to the value of the last call. +func (b *LicenseKeySpecApplyConfiguration) WithToken(value string) *LicenseKeySpecApplyConfiguration { + b.Token = &value + return b +} + +// WithCertificate sets the Certificate field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Certificate field is set to the value of the last call. +func (b *LicenseKeySpecApplyConfiguration) WithCertificate(value string) *LicenseKeySpecApplyConfiguration { + b.Certificate = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/licensekeystatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/licensekeystatus.go new file mode 100644 index 00000000..8aae6d68 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/licensekeystatus.go @@ -0,0 +1,91 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + metav1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// LicenseKeyStatusApplyConfiguration represents a declarative configuration of the LicenseKeyStatus type for use +// with apply. +// +// LicenseKeyStatus contains the license key information. +type LicenseKeyStatusApplyConfiguration struct { + // Expiry is the expiry date of License + Expiry *v1.Time `json:"expiry,omitempty"` + // GracePeriod is how long after expiry the license remains functional (e.g. "90d") + GracePeriod *string `json:"gracePeriod,omitempty"` + // Maximum Number of Allowed Nodes + MaxNodes *int `json:"maxnodes,omitempty"` + // License package defines type of Calico license that is being enforced + Package *projectcalicov3.LicensePackageType `json:"package,omitempty"` + // List of features that are available via the applied license + Features []string `json:"features,omitempty"` + // Conditions is a list of conditions related to the license key. This can be used to indicate if the license is valid, expired, etc. + Conditions []metav1.ConditionApplyConfiguration `json:"conditions,omitempty"` +} + +// LicenseKeyStatusApplyConfiguration constructs a declarative configuration of the LicenseKeyStatus type for use with +// apply. +func LicenseKeyStatus() *LicenseKeyStatusApplyConfiguration { + return &LicenseKeyStatusApplyConfiguration{} +} + +// WithExpiry sets the Expiry field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Expiry field is set to the value of the last call. +func (b *LicenseKeyStatusApplyConfiguration) WithExpiry(value v1.Time) *LicenseKeyStatusApplyConfiguration { + b.Expiry = &value + return b +} + +// WithGracePeriod sets the GracePeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GracePeriod field is set to the value of the last call. +func (b *LicenseKeyStatusApplyConfiguration) WithGracePeriod(value string) *LicenseKeyStatusApplyConfiguration { + b.GracePeriod = &value + return b +} + +// WithMaxNodes sets the MaxNodes field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MaxNodes field is set to the value of the last call. +func (b *LicenseKeyStatusApplyConfiguration) WithMaxNodes(value int) *LicenseKeyStatusApplyConfiguration { + b.MaxNodes = &value + return b +} + +// WithPackage sets the Package field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Package field is set to the value of the last call. +func (b *LicenseKeyStatusApplyConfiguration) WithPackage(value projectcalicov3.LicensePackageType) *LicenseKeyStatusApplyConfiguration { + b.Package = &value + return b +} + +// WithFeatures adds the given value to the Features field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Features field. +func (b *LicenseKeyStatusApplyConfiguration) WithFeatures(values ...string) *LicenseKeyStatusApplyConfiguration { + for i := range values { + b.Features = append(b.Features, values[i]) + } + return b +} + +// WithConditions adds the given value to the Conditions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Conditions field. +func (b *LicenseKeyStatusApplyConfiguration) WithConditions(values ...*metav1.ConditionApplyConfiguration) *LicenseKeyStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithConditions") + } + b.Conditions = append(b.Conditions, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/loadbalancercontrollerconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/loadbalancercontrollerconfig.go new file mode 100644 index 00000000..2c15b302 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/loadbalancercontrollerconfig.go @@ -0,0 +1,30 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// LoadBalancerControllerConfigApplyConfiguration represents a declarative configuration of the LoadBalancerControllerConfig type for use +// with apply. +type LoadBalancerControllerConfigApplyConfiguration struct { + // AssignIPs controls which LoadBalancer Service gets IP assigned from Calico IPAM. + AssignIPs *projectcalicov3.AssignIPs `json:"assignIPs,omitempty"` +} + +// LoadBalancerControllerConfigApplyConfiguration constructs a declarative configuration of the LoadBalancerControllerConfig type for use with +// apply. +func LoadBalancerControllerConfig() *LoadBalancerControllerConfigApplyConfiguration { + return &LoadBalancerControllerConfigApplyConfiguration{} +} + +// WithAssignIPs sets the AssignIPs field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AssignIPs field is set to the value of the last call. +func (b *LoadBalancerControllerConfigApplyConfiguration) WithAssignIPs(value projectcalicov3.AssignIPs) *LoadBalancerControllerConfigApplyConfiguration { + b.AssignIPs = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/managedcluster.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/managedcluster.go new file mode 100644 index 00000000..3811d8fc --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/managedcluster.go @@ -0,0 +1,275 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// ManagedClusterApplyConfiguration represents a declarative configuration of the ManagedCluster type for use +// with apply. +// +// ManagedCluster represents a cluster that is being managed by the multi-cluster +// management plane. This object configures how Tigera multi-cluster management +// components communicate with the corresponding cluster. +type ManagedClusterApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *ManagedClusterSpecApplyConfiguration `json:"spec,omitempty"` + Status *ManagedClusterStatusApplyConfiguration `json:"status,omitempty"` +} + +// ManagedCluster constructs a declarative configuration of the ManagedCluster type for use with +// apply. +func ManagedCluster(name string) *ManagedClusterApplyConfiguration { + b := &ManagedClusterApplyConfiguration{} + b.WithName(name) + b.WithKind("ManagedCluster") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractManagedClusterFrom extracts the applied configuration owned by fieldManager from +// managedCluster for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// managedCluster must be a unmodified ManagedCluster API object that was retrieved from the Kubernetes API. +// ExtractManagedClusterFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractManagedClusterFrom(managedCluster *projectcalicov3.ManagedCluster, fieldManager string, subresource string) (*ManagedClusterApplyConfiguration, error) { + b := &ManagedClusterApplyConfiguration{} + err := managedfields.ExtractInto(managedCluster, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.ManagedCluster"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(managedCluster.Name) + + b.WithKind("ManagedCluster") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractManagedCluster extracts the applied configuration owned by fieldManager from +// managedCluster. If no managedFields are found in managedCluster for fieldManager, a +// ManagedClusterApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// managedCluster must be a unmodified ManagedCluster API object that was retrieved from the Kubernetes API. +// ExtractManagedCluster provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractManagedCluster(managedCluster *projectcalicov3.ManagedCluster, fieldManager string) (*ManagedClusterApplyConfiguration, error) { + return ExtractManagedClusterFrom(managedCluster, fieldManager, "") +} + +// ExtractManagedClusterStatus extracts the applied configuration owned by fieldManager from +// managedCluster for the status subresource. +func ExtractManagedClusterStatus(managedCluster *projectcalicov3.ManagedCluster, fieldManager string) (*ManagedClusterApplyConfiguration, error) { + return ExtractManagedClusterFrom(managedCluster, fieldManager, "status") +} + +func (b ManagedClusterApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithKind(value string) *ManagedClusterApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithAPIVersion(value string) *ManagedClusterApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithName(value string) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithGenerateName(value string) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithNamespace(value string) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithUID(value types.UID) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithResourceVersion(value string) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithGeneration(value int64) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithCreationTimestamp(value metav1.Time) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *ManagedClusterApplyConfiguration) WithLabels(entries map[string]string) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *ManagedClusterApplyConfiguration) WithAnnotations(entries map[string]string) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *ManagedClusterApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *ManagedClusterApplyConfiguration) WithFinalizers(values ...string) *ManagedClusterApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *ManagedClusterApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithSpec(value *ManagedClusterSpecApplyConfiguration) *ManagedClusterApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *ManagedClusterApplyConfiguration) WithStatus(value *ManagedClusterStatusApplyConfiguration) *ManagedClusterApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *ManagedClusterApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *ManagedClusterApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *ManagedClusterApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *ManagedClusterApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterspec.go new file mode 100644 index 00000000..5feca735 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterspec.go @@ -0,0 +1,52 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ManagedClusterSpecApplyConfiguration represents a declarative configuration of the ManagedClusterSpec type for use +// with apply. +// +// ManagedClusterSpec contains the specification of a ManagedCluster resource. +type ManagedClusterSpecApplyConfiguration struct { + // Field to store dynamically generated manifest for installing component into + // the actual application cluster corresponding to this Managed Cluster + InstallationManifest *string `json:"installationManifest,omitempty"` + // The namespace of the managed cluster's operator. This value is used in + // the generation of the InstallationManifest. + OperatorNamespace *string `json:"operatorNamespace,omitempty"` + // The certificate used to authenticate the managed cluster to the management cluster. + Certificate []byte `json:"certificate,omitempty"` +} + +// ManagedClusterSpecApplyConfiguration constructs a declarative configuration of the ManagedClusterSpec type for use with +// apply. +func ManagedClusterSpec() *ManagedClusterSpecApplyConfiguration { + return &ManagedClusterSpecApplyConfiguration{} +} + +// WithInstallationManifest sets the InstallationManifest field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the InstallationManifest field is set to the value of the last call. +func (b *ManagedClusterSpecApplyConfiguration) WithInstallationManifest(value string) *ManagedClusterSpecApplyConfiguration { + b.InstallationManifest = &value + return b +} + +// WithOperatorNamespace sets the OperatorNamespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the OperatorNamespace field is set to the value of the last call. +func (b *ManagedClusterSpecApplyConfiguration) WithOperatorNamespace(value string) *ManagedClusterSpecApplyConfiguration { + b.OperatorNamespace = &value + return b +} + +// WithCertificate adds the given value to the Certificate field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Certificate field. +func (b *ManagedClusterSpecApplyConfiguration) WithCertificate(values ...byte) *ManagedClusterSpecApplyConfiguration { + for i := range values { + b.Certificate = append(b.Certificate, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterstatus.go new file mode 100644 index 00000000..875dd456 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterstatus.go @@ -0,0 +1,30 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ManagedClusterStatusApplyConfiguration represents a declarative configuration of the ManagedClusterStatus type for use +// with apply. +type ManagedClusterStatusApplyConfiguration struct { + Conditions []ManagedClusterStatusConditionApplyConfiguration `json:"conditions,omitempty"` +} + +// ManagedClusterStatusApplyConfiguration constructs a declarative configuration of the ManagedClusterStatus type for use with +// apply. +func ManagedClusterStatus() *ManagedClusterStatusApplyConfiguration { + return &ManagedClusterStatusApplyConfiguration{} +} + +// WithConditions adds the given value to the Conditions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Conditions field. +func (b *ManagedClusterStatusApplyConfiguration) WithConditions(values ...*ManagedClusterStatusConditionApplyConfiguration) *ManagedClusterStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithConditions") + } + b.Conditions = append(b.Conditions, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterstatuscondition.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterstatuscondition.go new file mode 100644 index 00000000..7b944114 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/managedclusterstatuscondition.go @@ -0,0 +1,58 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// ManagedClusterStatusConditionApplyConfiguration represents a declarative configuration of the ManagedClusterStatusCondition type for use +// with apply. +// +// Condition contains various status information +type ManagedClusterStatusConditionApplyConfiguration struct { + Message *string `json:"message,omitempty"` + Reason *string `json:"reason,omitempty"` + Status *projectcalicov3.ManagedClusterStatusValue `json:"status,omitempty"` + Type *projectcalicov3.ManagedClusterStatusType `json:"type,omitempty"` +} + +// ManagedClusterStatusConditionApplyConfiguration constructs a declarative configuration of the ManagedClusterStatusCondition type for use with +// apply. +func ManagedClusterStatusCondition() *ManagedClusterStatusConditionApplyConfiguration { + return &ManagedClusterStatusConditionApplyConfiguration{} +} + +// WithMessage sets the Message field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Message field is set to the value of the last call. +func (b *ManagedClusterStatusConditionApplyConfiguration) WithMessage(value string) *ManagedClusterStatusConditionApplyConfiguration { + b.Message = &value + return b +} + +// WithReason sets the Reason field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Reason field is set to the value of the last call. +func (b *ManagedClusterStatusConditionApplyConfiguration) WithReason(value string) *ManagedClusterStatusConditionApplyConfiguration { + b.Reason = &value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *ManagedClusterStatusConditionApplyConfiguration) WithStatus(value projectcalicov3.ManagedClusterStatusValue) *ManagedClusterStatusConditionApplyConfiguration { + b.Status = &value + return b +} + +// WithType sets the Type field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Type field is set to the value of the last call. +func (b *ManagedClusterStatusConditionApplyConfiguration) WithType(value projectcalicov3.ManagedClusterStatusType) *ManagedClusterStatusConditionApplyConfiguration { + b.Type = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/migrationcontrollerconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/migrationcontrollerconfig.go new file mode 100644 index 00000000..f65c33fd --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/migrationcontrollerconfig.go @@ -0,0 +1,31 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// MigrationControllerConfigApplyConfiguration represents a declarative configuration of the MigrationControllerConfig type for use +// with apply. +type MigrationControllerConfigApplyConfiguration struct { + // PolicyNameMigrator enables or disables the Policy Name Migrator, which migrates + // old-style Calico backend policy names to use v3 style names. + PolicyNameMigrator *projectcalicov3.ControllerMode `json:"enabled,omitempty"` +} + +// MigrationControllerConfigApplyConfiguration constructs a declarative configuration of the MigrationControllerConfig type for use with +// apply. +func MigrationControllerConfig() *MigrationControllerConfigApplyConfiguration { + return &MigrationControllerConfigApplyConfiguration{} +} + +// WithPolicyNameMigrator sets the PolicyNameMigrator field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PolicyNameMigrator field is set to the value of the last call. +func (b *MigrationControllerConfigApplyConfiguration) WithPolicyNameMigrator(value projectcalicov3.ControllerMode) *MigrationControllerConfigApplyConfiguration { + b.PolicyNameMigrator = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/namedselector.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/namedselector.go new file mode 100644 index 00000000..32ab860d --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/namedselector.go @@ -0,0 +1,36 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// NamedSelectorApplyConfiguration represents a declarative configuration of the NamedSelector type for use +// with apply. +// +// A Calico format label selector with an associated name. +type NamedSelectorApplyConfiguration struct { + Name *string `json:"name,omitempty"` + Selector *string `json:"selector,omitempty"` +} + +// NamedSelectorApplyConfiguration constructs a declarative configuration of the NamedSelector type for use with +// apply. +func NamedSelector() *NamedSelectorApplyConfiguration { + return &NamedSelectorApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *NamedSelectorApplyConfiguration) WithName(value string) *NamedSelectorApplyConfiguration { + b.Name = &value + return b +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *NamedSelectorApplyConfiguration) WithSelector(value string) *NamedSelectorApplyConfiguration { + b.Selector = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/namesandlabelsmatch.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/namesandlabelsmatch.go new file mode 100644 index 00000000..9240d7a2 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/namesandlabelsmatch.go @@ -0,0 +1,41 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// NamesAndLabelsMatchApplyConfiguration represents a declarative configuration of the NamesAndLabelsMatch type for use +// with apply. +// +// NamesAndLabelsMatch is used to specify resource matches using both label and name selection. +type NamesAndLabelsMatchApplyConfiguration struct { + // Names is an optional field that specifies a set of resources by name. + Names []string `json:"names,omitempty"` + // Selector is an optional field that selects a set of resources by label. + // If both Names and Selector are specified then they are AND'ed. + Selector *string `json:"selector,omitempty"` +} + +// NamesAndLabelsMatchApplyConfiguration constructs a declarative configuration of the NamesAndLabelsMatch type for use with +// apply. +func NamesAndLabelsMatch() *NamesAndLabelsMatchApplyConfiguration { + return &NamesAndLabelsMatchApplyConfiguration{} +} + +// WithNames adds the given value to the Names field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Names field. +func (b *NamesAndLabelsMatchApplyConfiguration) WithNames(values ...string) *NamesAndLabelsMatchApplyConfiguration { + for i := range values { + b.Names = append(b.Names, values[i]) + } + return b +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *NamesAndLabelsMatchApplyConfiguration) WithSelector(value string) *NamesAndLabelsMatchApplyConfiguration { + b.Selector = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/namespacecontrollerconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/namespacecontrollerconfig.go new file mode 100644 index 00000000..9029ab87 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/namespacecontrollerconfig.go @@ -0,0 +1,33 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// NamespaceControllerConfigApplyConfiguration represents a declarative configuration of the NamespaceControllerConfig type for use +// with apply. +// +// NamespaceControllerConfig configures the service account controller, which syncs Kubernetes +// service accounts to Calico profiles (only used for etcdv3 datastore). +type NamespaceControllerConfigApplyConfiguration struct { + // ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m] + ReconcilerPeriod *v1.Duration `json:"reconcilerPeriod,omitempty"` +} + +// NamespaceControllerConfigApplyConfiguration constructs a declarative configuration of the NamespaceControllerConfig type for use with +// apply. +func NamespaceControllerConfig() *NamespaceControllerConfigApplyConfiguration { + return &NamespaceControllerConfigApplyConfiguration{} +} + +// WithReconcilerPeriod sets the ReconcilerPeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ReconcilerPeriod field is set to the value of the last call. +func (b *NamespaceControllerConfigApplyConfiguration) WithReconcilerPeriod(value v1.Duration) *NamespaceControllerConfigApplyConfiguration { + b.ReconcilerPeriod = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/networkpolicy.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/networkpolicy.go new file mode 100644 index 00000000..53bab44b --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/networkpolicy.go @@ -0,0 +1,258 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// NetworkPolicyApplyConfiguration represents a declarative configuration of the NetworkPolicy type for use +// with apply. +type NetworkPolicyApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *NetworkPolicySpecApplyConfiguration `json:"spec,omitempty"` +} + +// NetworkPolicy constructs a declarative configuration of the NetworkPolicy type for use with +// apply. +func NetworkPolicy(name, namespace string) *NetworkPolicyApplyConfiguration { + b := &NetworkPolicyApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("NetworkPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractNetworkPolicyFrom extracts the applied configuration owned by fieldManager from +// networkPolicy for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// networkPolicy must be a unmodified NetworkPolicy API object that was retrieved from the Kubernetes API. +// ExtractNetworkPolicyFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractNetworkPolicyFrom(networkPolicy *projectcalicov3.NetworkPolicy, fieldManager string, subresource string) (*NetworkPolicyApplyConfiguration, error) { + b := &NetworkPolicyApplyConfiguration{} + err := managedfields.ExtractInto(networkPolicy, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.NetworkPolicy"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(networkPolicy.Name) + b.WithNamespace(networkPolicy.Namespace) + + b.WithKind("NetworkPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractNetworkPolicy extracts the applied configuration owned by fieldManager from +// networkPolicy. If no managedFields are found in networkPolicy for fieldManager, a +// NetworkPolicyApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// networkPolicy must be a unmodified NetworkPolicy API object that was retrieved from the Kubernetes API. +// ExtractNetworkPolicy provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractNetworkPolicy(networkPolicy *projectcalicov3.NetworkPolicy, fieldManager string) (*NetworkPolicyApplyConfiguration, error) { + return ExtractNetworkPolicyFrom(networkPolicy, fieldManager, "") +} + +func (b NetworkPolicyApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithKind(value string) *NetworkPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithAPIVersion(value string) *NetworkPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithName(value string) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithGenerateName(value string) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithNamespace(value string) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithUID(value types.UID) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithResourceVersion(value string) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithGeneration(value int64) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithCreationTimestamp(value metav1.Time) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *NetworkPolicyApplyConfiguration) WithLabels(entries map[string]string) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *NetworkPolicyApplyConfiguration) WithAnnotations(entries map[string]string) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *NetworkPolicyApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *NetworkPolicyApplyConfiguration) WithFinalizers(values ...string) *NetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *NetworkPolicyApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *NetworkPolicyApplyConfiguration) WithSpec(value *NetworkPolicySpecApplyConfiguration) *NetworkPolicyApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *NetworkPolicyApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *NetworkPolicyApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *NetworkPolicyApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *NetworkPolicyApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/networkpolicyspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/networkpolicyspec.go new file mode 100644 index 00000000..17bfbeba --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/networkpolicyspec.go @@ -0,0 +1,170 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// NetworkPolicySpecApplyConfiguration represents a declarative configuration of the NetworkPolicySpec type for use +// with apply. +type NetworkPolicySpecApplyConfiguration struct { + // The name of the tier that this policy belongs to. If this is omitted, the default + // tier (name is "default") is assumed. The specified tier must exist in order to create + // security policies within the tier, the "default" tier is created automatically if it + // does not exist, this means for deployments requiring only a single Tier, the tier name + // may be omitted on all policy management requests. + Tier *string `json:"tier,omitempty"` + // Order is an optional field that specifies the order in which the policy is applied. + // Policies with higher "order" are applied after those with lower + // order within the same tier. If the order is omitted, it may be considered to be "infinite" - i.e. the + // policy will be applied last. Policies with identical order will be applied in + // alphanumerical order based on the Policy "Name" within the tier. + Order *float64 `json:"order,omitempty"` + // The ordered set of ingress rules. Each rule contains a set of packet match criteria and + // a corresponding action to apply. + Ingress []RuleApplyConfiguration `json:"ingress,omitempty"` + // The ordered set of egress rules. Each rule contains a set of packet match criteria and + // a corresponding action to apply. + Egress []RuleApplyConfiguration `json:"egress,omitempty"` + // The selector is an expression used to pick out the endpoints that the policy should + // be applied to. + // + // Selector expressions follow this syntax: + // + // label == "string_literal" -> comparison, e.g. my_label == "foo bar" + // label != "string_literal" -> not equal; also matches if label is not present + // label in { "a", "b", "c", ... } -> true if the value of label X is one of "a", "b", "c" + // label not in { "a", "b", "c", ... } -> true if the value of label X is not one of "a", "b", "c" + // has(label_name) -> True if that label is present + // ! expr -> negation of expr + // expr && expr -> Short-circuit and + // expr || expr -> Short-circuit or + // ( expr ) -> parens for grouping + // all() or the empty selector -> matches all endpoints. + // + // Label names are allowed to contain alphanumerics, -, _ and /. String literals are more permissive + // but they do not support escape characters. + // + // Examples (with made-up labels): + // + // type == "webserver" && deployment == "prod" + // type in {"frontend", "backend"} + // deployment != "dev" + // ! has(label_name) + Selector *string `json:"selector,omitempty"` + // Types indicates whether this policy applies to ingress, or to egress, or to both. When + // not explicitly specified (and so the value on creation is empty or nil), Calico defaults + // Types according to what Ingress and Egress are present in the policy. The + // default is: + // + // - [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are + // also no Ingress rules) + // + // - [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules + // + // - [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules. + // + // When the policy is read back again, Types will always be one of these values, never empty + // or nil. + Types []projectcalicov3.PolicyType `json:"types,omitempty"` + // ServiceAccountSelector is an optional field for an expression used to select a pod based on service accounts. + ServiceAccountSelector *string `json:"serviceAccountSelector,omitempty"` + // PerformanceHints contains a list of hints to Calico's policy engine to + // help process the policy more efficiently. Hints never change the + // enforcement behaviour of the policy. + // + // Currently, the only available hint is "AssumeNeededOnEveryNode". When + // that hint is set on a policy, Felix will act as if the policy matches + // a local endpoint even if it does not. This is useful for "preloading" + // any large static policies that are known to be used on every node. + // If the policy is _not_ used on a particular node then the work + // done to preload the policy (and to maintain it) is wasted. + PerformanceHints []projectcalicov3.PolicyPerformanceHint `json:"performanceHints,omitempty"` +} + +// NetworkPolicySpecApplyConfiguration constructs a declarative configuration of the NetworkPolicySpec type for use with +// apply. +func NetworkPolicySpec() *NetworkPolicySpecApplyConfiguration { + return &NetworkPolicySpecApplyConfiguration{} +} + +// WithTier sets the Tier field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Tier field is set to the value of the last call. +func (b *NetworkPolicySpecApplyConfiguration) WithTier(value string) *NetworkPolicySpecApplyConfiguration { + b.Tier = &value + return b +} + +// WithOrder sets the Order field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Order field is set to the value of the last call. +func (b *NetworkPolicySpecApplyConfiguration) WithOrder(value float64) *NetworkPolicySpecApplyConfiguration { + b.Order = &value + return b +} + +// WithIngress adds the given value to the Ingress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Ingress field. +func (b *NetworkPolicySpecApplyConfiguration) WithIngress(values ...*RuleApplyConfiguration) *NetworkPolicySpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithIngress") + } + b.Ingress = append(b.Ingress, *values[i]) + } + return b +} + +// WithEgress adds the given value to the Egress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Egress field. +func (b *NetworkPolicySpecApplyConfiguration) WithEgress(values ...*RuleApplyConfiguration) *NetworkPolicySpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithEgress") + } + b.Egress = append(b.Egress, *values[i]) + } + return b +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *NetworkPolicySpecApplyConfiguration) WithSelector(value string) *NetworkPolicySpecApplyConfiguration { + b.Selector = &value + return b +} + +// WithTypes adds the given value to the Types field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Types field. +func (b *NetworkPolicySpecApplyConfiguration) WithTypes(values ...projectcalicov3.PolicyType) *NetworkPolicySpecApplyConfiguration { + for i := range values { + b.Types = append(b.Types, values[i]) + } + return b +} + +// WithServiceAccountSelector sets the ServiceAccountSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ServiceAccountSelector field is set to the value of the last call. +func (b *NetworkPolicySpecApplyConfiguration) WithServiceAccountSelector(value string) *NetworkPolicySpecApplyConfiguration { + b.ServiceAccountSelector = &value + return b +} + +// WithPerformanceHints adds the given value to the PerformanceHints field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the PerformanceHints field. +func (b *NetworkPolicySpecApplyConfiguration) WithPerformanceHints(values ...projectcalicov3.PolicyPerformanceHint) *NetworkPolicySpecApplyConfiguration { + for i := range values { + b.PerformanceHints = append(b.PerformanceHints, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/networkset.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/networkset.go new file mode 100644 index 00000000..3bff7789 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/networkset.go @@ -0,0 +1,258 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// NetworkSetApplyConfiguration represents a declarative configuration of the NetworkSet type for use +// with apply. +type NetworkSetApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *NetworkSetSpecApplyConfiguration `json:"spec,omitempty"` +} + +// NetworkSet constructs a declarative configuration of the NetworkSet type for use with +// apply. +func NetworkSet(name, namespace string) *NetworkSetApplyConfiguration { + b := &NetworkSetApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("NetworkSet") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractNetworkSetFrom extracts the applied configuration owned by fieldManager from +// networkSet for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// networkSet must be a unmodified NetworkSet API object that was retrieved from the Kubernetes API. +// ExtractNetworkSetFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractNetworkSetFrom(networkSet *projectcalicov3.NetworkSet, fieldManager string, subresource string) (*NetworkSetApplyConfiguration, error) { + b := &NetworkSetApplyConfiguration{} + err := managedfields.ExtractInto(networkSet, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.NetworkSet"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(networkSet.Name) + b.WithNamespace(networkSet.Namespace) + + b.WithKind("NetworkSet") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractNetworkSet extracts the applied configuration owned by fieldManager from +// networkSet. If no managedFields are found in networkSet for fieldManager, a +// NetworkSetApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// networkSet must be a unmodified NetworkSet API object that was retrieved from the Kubernetes API. +// ExtractNetworkSet provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractNetworkSet(networkSet *projectcalicov3.NetworkSet, fieldManager string) (*NetworkSetApplyConfiguration, error) { + return ExtractNetworkSetFrom(networkSet, fieldManager, "") +} + +func (b NetworkSetApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithKind(value string) *NetworkSetApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithAPIVersion(value string) *NetworkSetApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithName(value string) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithGenerateName(value string) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithNamespace(value string) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithUID(value types.UID) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithResourceVersion(value string) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithGeneration(value int64) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithCreationTimestamp(value metav1.Time) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *NetworkSetApplyConfiguration) WithLabels(entries map[string]string) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *NetworkSetApplyConfiguration) WithAnnotations(entries map[string]string) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *NetworkSetApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *NetworkSetApplyConfiguration) WithFinalizers(values ...string) *NetworkSetApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *NetworkSetApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *NetworkSetApplyConfiguration) WithSpec(value *NetworkSetSpecApplyConfiguration) *NetworkSetApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *NetworkSetApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *NetworkSetApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *NetworkSetApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *NetworkSetApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/networksetspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/networksetspec.go new file mode 100644 index 00000000..d3376059 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/networksetspec.go @@ -0,0 +1,45 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// NetworkSetSpecApplyConfiguration represents a declarative configuration of the NetworkSetSpec type for use +// with apply. +// +// NetworkSetSpec contains the specification for a NetworkSet resource. +type NetworkSetSpecApplyConfiguration struct { + // The list of IP networks that belong to this set. + Nets []string `json:"nets,omitempty"` + // The list of domain names that belong to this set and are honored in egress allow rules + // only. Domain names specified here only work to allow egress traffic from the cluster to + // external destinations. They don't work to _deny_ traffic to destinations specified by + // domain name, or to allow ingress traffic from _sources_ specified by domain name. + AllowedEgressDomains []string `json:"allowedEgressDomains,omitempty"` +} + +// NetworkSetSpecApplyConfiguration constructs a declarative configuration of the NetworkSetSpec type for use with +// apply. +func NetworkSetSpec() *NetworkSetSpecApplyConfiguration { + return &NetworkSetSpecApplyConfiguration{} +} + +// WithNets adds the given value to the Nets field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Nets field. +func (b *NetworkSetSpecApplyConfiguration) WithNets(values ...string) *NetworkSetSpecApplyConfiguration { + for i := range values { + b.Nets = append(b.Nets, values[i]) + } + return b +} + +// WithAllowedEgressDomains adds the given value to the AllowedEgressDomains field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the AllowedEgressDomains field. +func (b *NetworkSetSpecApplyConfiguration) WithAllowedEgressDomains(values ...string) *NetworkSetSpecApplyConfiguration { + for i := range values { + b.AllowedEgressDomains = append(b.AllowedEgressDomains, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/nodecontrollerconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/nodecontrollerconfig.go new file mode 100644 index 00000000..3941e3ce --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/nodecontrollerconfig.go @@ -0,0 +1,65 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// NodeControllerConfigApplyConfiguration represents a declarative configuration of the NodeControllerConfig type for use +// with apply. +// +// NodeControllerConfig configures the node controller, which automatically cleans up configuration +// for nodes that no longer exist. Optionally, it can create host endpoints for all Kubernetes nodes. +type NodeControllerConfigApplyConfiguration struct { + // ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m] + ReconcilerPeriod *v1.Duration `json:"reconcilerPeriod,omitempty"` + // SyncLabels controls whether to copy Kubernetes node labels to Calico nodes. [Default: Enabled] + // Valid values are: "Enabled", "Disabled". + SyncLabels *string `json:"syncLabels,omitempty"` + // HostEndpoint controls syncing nodes to host endpoints. Disabled by default, set to nil to disable. + HostEndpoint *AutoHostEndpointConfigApplyConfiguration `json:"hostEndpoint,omitempty"` + // LeakGracePeriod is the period used by the controller to determine if an IP address has been leaked. + // Set to 0 to disable IP garbage collection. [Default: 15m] + LeakGracePeriod *v1.Duration `json:"leakGracePeriod,omitempty"` +} + +// NodeControllerConfigApplyConfiguration constructs a declarative configuration of the NodeControllerConfig type for use with +// apply. +func NodeControllerConfig() *NodeControllerConfigApplyConfiguration { + return &NodeControllerConfigApplyConfiguration{} +} + +// WithReconcilerPeriod sets the ReconcilerPeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ReconcilerPeriod field is set to the value of the last call. +func (b *NodeControllerConfigApplyConfiguration) WithReconcilerPeriod(value v1.Duration) *NodeControllerConfigApplyConfiguration { + b.ReconcilerPeriod = &value + return b +} + +// WithSyncLabels sets the SyncLabels field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SyncLabels field is set to the value of the last call. +func (b *NodeControllerConfigApplyConfiguration) WithSyncLabels(value string) *NodeControllerConfigApplyConfiguration { + b.SyncLabels = &value + return b +} + +// WithHostEndpoint sets the HostEndpoint field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HostEndpoint field is set to the value of the last call. +func (b *NodeControllerConfigApplyConfiguration) WithHostEndpoint(value *AutoHostEndpointConfigApplyConfiguration) *NodeControllerConfigApplyConfiguration { + b.HostEndpoint = value + return b +} + +// WithLeakGracePeriod sets the LeakGracePeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LeakGracePeriod field is set to the value of the last call. +func (b *NodeControllerConfigApplyConfiguration) WithLeakGracePeriod(value v1.Duration) *NodeControllerConfigApplyConfiguration { + b.LeakGracePeriod = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapture.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapture.go new file mode 100644 index 00000000..9ece682b --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapture.go @@ -0,0 +1,278 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// PacketCaptureApplyConfiguration represents a declarative configuration of the PacketCapture type for use +// with apply. +// +// PacketCapture contains the configuration for any packet capture. +type PacketCaptureApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + // Standard object's metadata. + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + // Specification of the PacketCapture. + Spec *PacketCaptureSpecApplyConfiguration `json:"spec,omitempty"` + // Status of the PacketCapture + Status *PacketCaptureStatusApplyConfiguration `json:"status,omitempty"` +} + +// PacketCapture constructs a declarative configuration of the PacketCapture type for use with +// apply. +func PacketCapture(name, namespace string) *PacketCaptureApplyConfiguration { + b := &PacketCaptureApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("PacketCapture") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractPacketCaptureFrom extracts the applied configuration owned by fieldManager from +// packetCapture for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// packetCapture must be a unmodified PacketCapture API object that was retrieved from the Kubernetes API. +// ExtractPacketCaptureFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractPacketCaptureFrom(packetCapture *projectcalicov3.PacketCapture, fieldManager string, subresource string) (*PacketCaptureApplyConfiguration, error) { + b := &PacketCaptureApplyConfiguration{} + err := managedfields.ExtractInto(packetCapture, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.PacketCapture"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(packetCapture.Name) + b.WithNamespace(packetCapture.Namespace) + + b.WithKind("PacketCapture") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractPacketCapture extracts the applied configuration owned by fieldManager from +// packetCapture. If no managedFields are found in packetCapture for fieldManager, a +// PacketCaptureApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// packetCapture must be a unmodified PacketCapture API object that was retrieved from the Kubernetes API. +// ExtractPacketCapture provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractPacketCapture(packetCapture *projectcalicov3.PacketCapture, fieldManager string) (*PacketCaptureApplyConfiguration, error) { + return ExtractPacketCaptureFrom(packetCapture, fieldManager, "") +} + +// ExtractPacketCaptureStatus extracts the applied configuration owned by fieldManager from +// packetCapture for the status subresource. +func ExtractPacketCaptureStatus(packetCapture *projectcalicov3.PacketCapture, fieldManager string) (*PacketCaptureApplyConfiguration, error) { + return ExtractPacketCaptureFrom(packetCapture, fieldManager, "status") +} + +func (b PacketCaptureApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithKind(value string) *PacketCaptureApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithAPIVersion(value string) *PacketCaptureApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithName(value string) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithGenerateName(value string) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithNamespace(value string) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithUID(value types.UID) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithResourceVersion(value string) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithGeneration(value int64) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithCreationTimestamp(value metav1.Time) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *PacketCaptureApplyConfiguration) WithLabels(entries map[string]string) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *PacketCaptureApplyConfiguration) WithAnnotations(entries map[string]string) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *PacketCaptureApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *PacketCaptureApplyConfiguration) WithFinalizers(values ...string) *PacketCaptureApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *PacketCaptureApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithSpec(value *PacketCaptureSpecApplyConfiguration) *PacketCaptureApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *PacketCaptureApplyConfiguration) WithStatus(value *PacketCaptureStatusApplyConfiguration) *PacketCaptureApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *PacketCaptureApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *PacketCaptureApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *PacketCaptureApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *PacketCaptureApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturefile.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturefile.go new file mode 100644 index 00000000..3c54a32f --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturefile.go @@ -0,0 +1,67 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// PacketCaptureFileApplyConfiguration represents a declarative configuration of the PacketCaptureFile type for use +// with apply. +// +// PacketCaptureFile describes files generated by a PacketCapture. It describes the location of the packet capture files +// that is identified via a node, its directory and the file names generated. +type PacketCaptureFileApplyConfiguration struct { + // Node identifies with a physical node from the cluster via its hostname + Node *string `json:"node,omitempty"` + // Directory represents the path inside the calico-node container for the the generated files + Directory *string `json:"directory,omitempty"` + // FileNames represents the name of the generated file for a PacketCapture ordered alphanumerically. + // The active packet capture file will be identified using the following schema: + // "{workload endpoint name}_{host network interface}.pcap" . + // Rotated capture files name will contain an index matching the rotation timestamp. + FileNames []string `json:"fileNames,omitempty"` + State *projectcalicov3.PacketCaptureState `json:"state,omitempty"` +} + +// PacketCaptureFileApplyConfiguration constructs a declarative configuration of the PacketCaptureFile type for use with +// apply. +func PacketCaptureFile() *PacketCaptureFileApplyConfiguration { + return &PacketCaptureFileApplyConfiguration{} +} + +// WithNode sets the Node field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Node field is set to the value of the last call. +func (b *PacketCaptureFileApplyConfiguration) WithNode(value string) *PacketCaptureFileApplyConfiguration { + b.Node = &value + return b +} + +// WithDirectory sets the Directory field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Directory field is set to the value of the last call. +func (b *PacketCaptureFileApplyConfiguration) WithDirectory(value string) *PacketCaptureFileApplyConfiguration { + b.Directory = &value + return b +} + +// WithFileNames adds the given value to the FileNames field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the FileNames field. +func (b *PacketCaptureFileApplyConfiguration) WithFileNames(values ...string) *PacketCaptureFileApplyConfiguration { + for i := range values { + b.FileNames = append(b.FileNames, values[i]) + } + return b +} + +// WithState sets the State field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the State field is set to the value of the last call. +func (b *PacketCaptureFileApplyConfiguration) WithState(value projectcalicov3.PacketCaptureState) *PacketCaptureFileApplyConfiguration { + b.State = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturerule.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturerule.go new file mode 100644 index 00000000..e0f6056c --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturerule.go @@ -0,0 +1,50 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + numorstring "github.com/tigera/api/pkg/lib/numorstring" +) + +// PacketCaptureRuleApplyConfiguration represents a declarative configuration of the PacketCaptureRule type for use +// with apply. +// +// A PacketCaptureRule encapsulates a set of match criteria for traffic captured from an interface. +type PacketCaptureRuleApplyConfiguration struct { + // Protocol is an optional field that defines a filter for all traffic for + // a specific IP protocol. + // + // Must be one of these string values: "TCP", "UDP", "ICMP", "ICMPv6", "SCTP", "UDPLite" + // or an integer in the range 1-255. + Protocol *numorstring.Protocol `json:"protocol,omitempty"` + // Ports is an optional field that defines a filter for all traffic that has a + // source or destination port that matches one of these ranges/values. This value is a + // list of integers or strings that represent ranges of ports. + Ports []numorstring.Port `json:"ports,omitempty"` +} + +// PacketCaptureRuleApplyConfiguration constructs a declarative configuration of the PacketCaptureRule type for use with +// apply. +func PacketCaptureRule() *PacketCaptureRuleApplyConfiguration { + return &PacketCaptureRuleApplyConfiguration{} +} + +// WithProtocol sets the Protocol field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Protocol field is set to the value of the last call. +func (b *PacketCaptureRuleApplyConfiguration) WithProtocol(value numorstring.Protocol) *PacketCaptureRuleApplyConfiguration { + b.Protocol = &value + return b +} + +// WithPorts adds the given value to the Ports field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Ports field. +func (b *PacketCaptureRuleApplyConfiguration) WithPorts(values ...numorstring.Port) *PacketCaptureRuleApplyConfiguration { + for i := range values { + b.Ports = append(b.Ports, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturespec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturespec.go new file mode 100644 index 00000000..2047612d --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturespec.go @@ -0,0 +1,98 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// PacketCaptureSpecApplyConfiguration represents a declarative configuration of the PacketCaptureSpec type for use +// with apply. +// +// PacketCaptureSpec contains the values of the packet capture. +type PacketCaptureSpecApplyConfiguration struct { + // The selector is an expression used to pick out the endpoints that the policy should + // be applied to. The selector will only match endpoints in the same namespace as the + // PacketCapture resource. + // + // Selector expressions follow this syntax: + // + // label == "string_literal" -> comparison, e.g. my_label == "foo bar" + // label != "string_literal" -> not equal; also matches if label is not present + // label in { "a", "b", "c", ... } -> true if the value of label X is one of "a", "b", "c" + // label not in { "a", "b", "c", ... } -> true if the value of label X is not one of "a", "b", "c" + // has(label_name) -> True if that label is present + // ! expr -> negation of expr + // expr && expr -> Short-circuit and + // expr || expr -> Short-circuit or + // ( expr ) -> parens for grouping + // all() -> matches all endpoints. + // an empty selector will default to all + // + // Label names are allowed to contain alphanumerics, -, _ and /. String literals are more permissive + // but they do not support escape characters. + // + // Examples (with made-up labels): + // + // type == "webserver" && deployment == "prod" + // type in {"frontend", "backend"} + // deployment != "dev" + // ! has(label_name) + Selector *string `json:"selector,omitempty"` + // The ordered set of filters applied to traffic captured from an interface. Each rule contains a set of + // packet match criteria. + Filters []PacketCaptureRuleApplyConfiguration `json:"filters,omitempty"` + // Defines the start time from which this PacketCapture will capture packets. + // If omitted or the value is in the past, the capture will start immediately. + // If the value is changed to a future time, capture will stop immediately and restart at that time + StartTime *v1.Time `json:"startTime,omitempty"` + // Defines the end time at which this PacketCapture will stop capturing packets. + // If omitted the capture will continue indefinitely. + // If the value is changed to the past, capture will stop immediately. + EndTime *v1.Time `json:"endTime,omitempty"` +} + +// PacketCaptureSpecApplyConfiguration constructs a declarative configuration of the PacketCaptureSpec type for use with +// apply. +func PacketCaptureSpec() *PacketCaptureSpecApplyConfiguration { + return &PacketCaptureSpecApplyConfiguration{} +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *PacketCaptureSpecApplyConfiguration) WithSelector(value string) *PacketCaptureSpecApplyConfiguration { + b.Selector = &value + return b +} + +// WithFilters adds the given value to the Filters field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Filters field. +func (b *PacketCaptureSpecApplyConfiguration) WithFilters(values ...*PacketCaptureRuleApplyConfiguration) *PacketCaptureSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithFilters") + } + b.Filters = append(b.Filters, *values[i]) + } + return b +} + +// WithStartTime sets the StartTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StartTime field is set to the value of the last call. +func (b *PacketCaptureSpecApplyConfiguration) WithStartTime(value v1.Time) *PacketCaptureSpecApplyConfiguration { + b.StartTime = &value + return b +} + +// WithEndTime sets the EndTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EndTime field is set to the value of the last call. +func (b *PacketCaptureSpecApplyConfiguration) WithEndTime(value v1.Time) *PacketCaptureSpecApplyConfiguration { + b.EndTime = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturestatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturestatus.go new file mode 100644 index 00000000..7686d825 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/packetcapturestatus.go @@ -0,0 +1,33 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// PacketCaptureStatusApplyConfiguration represents a declarative configuration of the PacketCaptureStatus type for use +// with apply. +// +// PacketCaptureStatus describes the files that have been captured, for a given PacketCapture, on each node +// that generates packet capture files +type PacketCaptureStatusApplyConfiguration struct { + Files []PacketCaptureFileApplyConfiguration `json:"files,omitempty"` +} + +// PacketCaptureStatusApplyConfiguration constructs a declarative configuration of the PacketCaptureStatus type for use with +// apply. +func PacketCaptureStatus() *PacketCaptureStatusApplyConfiguration { + return &PacketCaptureStatusApplyConfiguration{} +} + +// WithFiles adds the given value to the Files field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Files field. +func (b *PacketCaptureStatusApplyConfiguration) WithFiles(values ...*PacketCaptureFileApplyConfiguration) *PacketCaptureStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithFiles") + } + b.Files = append(b.Files, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/policycontrollerconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/policycontrollerconfig.go new file mode 100644 index 00000000..616a88a3 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/policycontrollerconfig.go @@ -0,0 +1,33 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// PolicyControllerConfigApplyConfiguration represents a declarative configuration of the PolicyControllerConfig type for use +// with apply. +// +// PolicyControllerConfig configures the network policy controller, which syncs Kubernetes policies +// to Calico policies (only used for etcdv3 datastore). +type PolicyControllerConfigApplyConfiguration struct { + // ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m] + ReconcilerPeriod *v1.Duration `json:"reconcilerPeriod,omitempty"` +} + +// PolicyControllerConfigApplyConfiguration constructs a declarative configuration of the PolicyControllerConfig type for use with +// apply. +func PolicyControllerConfig() *PolicyControllerConfigApplyConfiguration { + return &PolicyControllerConfigApplyConfiguration{} +} + +// WithReconcilerPeriod sets the ReconcilerPeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ReconcilerPeriod field is set to the value of the last call. +func (b *PolicyControllerConfigApplyConfiguration) WithReconcilerPeriod(value v1.Duration) *PolicyControllerConfigApplyConfiguration { + b.ReconcilerPeriod = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscope.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscope.go new file mode 100644 index 00000000..56506bb2 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscope.go @@ -0,0 +1,271 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// PolicyRecommendationScopeApplyConfiguration represents a declarative configuration of the PolicyRecommendationScope type for use +// with apply. +type PolicyRecommendationScopeApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *PolicyRecommendationScopeSpecApplyConfiguration `json:"spec,omitempty"` + Status *PolicyRecommendationScopeStatusApplyConfiguration `json:"status,omitempty"` +} + +// PolicyRecommendationScope constructs a declarative configuration of the PolicyRecommendationScope type for use with +// apply. +func PolicyRecommendationScope(name string) *PolicyRecommendationScopeApplyConfiguration { + b := &PolicyRecommendationScopeApplyConfiguration{} + b.WithName(name) + b.WithKind("PolicyRecommendationScope") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractPolicyRecommendationScopeFrom extracts the applied configuration owned by fieldManager from +// policyRecommendationScope for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// policyRecommendationScope must be a unmodified PolicyRecommendationScope API object that was retrieved from the Kubernetes API. +// ExtractPolicyRecommendationScopeFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractPolicyRecommendationScopeFrom(policyRecommendationScope *projectcalicov3.PolicyRecommendationScope, fieldManager string, subresource string) (*PolicyRecommendationScopeApplyConfiguration, error) { + b := &PolicyRecommendationScopeApplyConfiguration{} + err := managedfields.ExtractInto(policyRecommendationScope, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.PolicyRecommendationScope"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(policyRecommendationScope.Name) + + b.WithKind("PolicyRecommendationScope") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractPolicyRecommendationScope extracts the applied configuration owned by fieldManager from +// policyRecommendationScope. If no managedFields are found in policyRecommendationScope for fieldManager, a +// PolicyRecommendationScopeApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// policyRecommendationScope must be a unmodified PolicyRecommendationScope API object that was retrieved from the Kubernetes API. +// ExtractPolicyRecommendationScope provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractPolicyRecommendationScope(policyRecommendationScope *projectcalicov3.PolicyRecommendationScope, fieldManager string) (*PolicyRecommendationScopeApplyConfiguration, error) { + return ExtractPolicyRecommendationScopeFrom(policyRecommendationScope, fieldManager, "") +} + +// ExtractPolicyRecommendationScopeStatus extracts the applied configuration owned by fieldManager from +// policyRecommendationScope for the status subresource. +func ExtractPolicyRecommendationScopeStatus(policyRecommendationScope *projectcalicov3.PolicyRecommendationScope, fieldManager string) (*PolicyRecommendationScopeApplyConfiguration, error) { + return ExtractPolicyRecommendationScopeFrom(policyRecommendationScope, fieldManager, "status") +} + +func (b PolicyRecommendationScopeApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithKind(value string) *PolicyRecommendationScopeApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithAPIVersion(value string) *PolicyRecommendationScopeApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithName(value string) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithGenerateName(value string) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithNamespace(value string) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithUID(value types.UID) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithResourceVersion(value string) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithGeneration(value int64) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithCreationTimestamp(value metav1.Time) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *PolicyRecommendationScopeApplyConfiguration) WithLabels(entries map[string]string) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *PolicyRecommendationScopeApplyConfiguration) WithAnnotations(entries map[string]string) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *PolicyRecommendationScopeApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *PolicyRecommendationScopeApplyConfiguration) WithFinalizers(values ...string) *PolicyRecommendationScopeApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *PolicyRecommendationScopeApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithSpec(value *PolicyRecommendationScopeSpecApplyConfiguration) *PolicyRecommendationScopeApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *PolicyRecommendationScopeApplyConfiguration) WithStatus(value *PolicyRecommendationScopeStatusApplyConfiguration) *PolicyRecommendationScopeApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *PolicyRecommendationScopeApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *PolicyRecommendationScopeApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *PolicyRecommendationScopeApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *PolicyRecommendationScopeApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopenamespacespec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopenamespacespec.go new file mode 100644 index 00000000..93dfd1e3 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopenamespacespec.go @@ -0,0 +1,67 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// PolicyRecommendationScopeNamespaceSpecApplyConfiguration represents a declarative configuration of the PolicyRecommendationScopeNamespaceSpec type for use +// with apply. +// +// PolicyRecommendationScopeNamespaceSpec contains namespace information that defines the namespace based +// recommended policy. +type PolicyRecommendationScopeNamespaceSpecApplyConfiguration struct { + // Pass intra-namespace traffic. + // [Default: false] + IntraNamespacePassThroughTraffic *bool `json:"intraNamespacePassThroughTraffic,omitempty"` + // Recommendation status. One of Enabled, Disabled. + RecStatus *projectcalicov3.PolicyRecommendationNamespaceStatus `json:"recStatus,omitempty"` + // The namespace selector is an expression used to pick out the namespaces that the policy + // recommendation engine should create policies for. The syntax is the same as the + // NetworkPolicy.projectcalico.org resource selectors. + Selector *string `json:"selector,omitempty"` + // The name of the policy recommendation tier for namespace-isolated policies. + // [Default: "namespace-isolation"] + TierName *string `json:"tierName,omitempty"` +} + +// PolicyRecommendationScopeNamespaceSpecApplyConfiguration constructs a declarative configuration of the PolicyRecommendationScopeNamespaceSpec type for use with +// apply. +func PolicyRecommendationScopeNamespaceSpec() *PolicyRecommendationScopeNamespaceSpecApplyConfiguration { + return &PolicyRecommendationScopeNamespaceSpecApplyConfiguration{} +} + +// WithIntraNamespacePassThroughTraffic sets the IntraNamespacePassThroughTraffic field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IntraNamespacePassThroughTraffic field is set to the value of the last call. +func (b *PolicyRecommendationScopeNamespaceSpecApplyConfiguration) WithIntraNamespacePassThroughTraffic(value bool) *PolicyRecommendationScopeNamespaceSpecApplyConfiguration { + b.IntraNamespacePassThroughTraffic = &value + return b +} + +// WithRecStatus sets the RecStatus field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RecStatus field is set to the value of the last call. +func (b *PolicyRecommendationScopeNamespaceSpecApplyConfiguration) WithRecStatus(value projectcalicov3.PolicyRecommendationNamespaceStatus) *PolicyRecommendationScopeNamespaceSpecApplyConfiguration { + b.RecStatus = &value + return b +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *PolicyRecommendationScopeNamespaceSpecApplyConfiguration) WithSelector(value string) *PolicyRecommendationScopeNamespaceSpecApplyConfiguration { + b.Selector = &value + return b +} + +// WithTierName sets the TierName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TierName field is set to the value of the last call. +func (b *PolicyRecommendationScopeNamespaceSpecApplyConfiguration) WithTierName(value string) *PolicyRecommendationScopeNamespaceSpecApplyConfiguration { + b.TierName = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopespec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopespec.go new file mode 100644 index 00000000..319986fa --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopespec.go @@ -0,0 +1,90 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// PolicyRecommendationScopeSpecApplyConfiguration represents a declarative configuration of the PolicyRecommendationScopeSpec type for use +// with apply. +type PolicyRecommendationScopeSpecApplyConfiguration struct { + // How frequently to run the recommendation engine to create and refine recommended policies. + // [Default: 150s] + Interval *v1.Duration `json:"interval,omitempty"` + // How far back to look in flow logs when first creating a recommended policy. + // [Default: 24h] + InitialLookback *v1.Duration `json:"initialLookback,omitempty"` + // StabilizationPeriod is the amount of time a recommended policy should remain unchanged to be + // deemed stable and ready to be enforced. + // [Default: 10m] + StabilizationPeriod *v1.Duration `json:"stabilizationPeriod,omitempty"` + // The maximum number of rules that are permitted in the ingress or egress set. For egress rules, + // any egress domain rules will be simplified by contracting all domains into a single egress + // domain NetworkSet. If the number of rules exceeds this limit, the recommendation engine will + // treat this as an error condition. + // [Default: 20] + MaxRules *int `json:"maxRules,omitempty"` + // The number of staged policies that are actively learning at any one time, after which the + // policy recommendation engine will stop adding new recommendations. + // [Default: 20] + PoliciesLearningCutOff *int `json:"policiesLearningCutOff,omitempty"` + // The namespace spec contains the namespace relative recommendation vars. + NamespaceSpec *PolicyRecommendationScopeNamespaceSpecApplyConfiguration `json:"namespaceSpec,omitempty"` +} + +// PolicyRecommendationScopeSpecApplyConfiguration constructs a declarative configuration of the PolicyRecommendationScopeSpec type for use with +// apply. +func PolicyRecommendationScopeSpec() *PolicyRecommendationScopeSpecApplyConfiguration { + return &PolicyRecommendationScopeSpecApplyConfiguration{} +} + +// WithInterval sets the Interval field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Interval field is set to the value of the last call. +func (b *PolicyRecommendationScopeSpecApplyConfiguration) WithInterval(value v1.Duration) *PolicyRecommendationScopeSpecApplyConfiguration { + b.Interval = &value + return b +} + +// WithInitialLookback sets the InitialLookback field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the InitialLookback field is set to the value of the last call. +func (b *PolicyRecommendationScopeSpecApplyConfiguration) WithInitialLookback(value v1.Duration) *PolicyRecommendationScopeSpecApplyConfiguration { + b.InitialLookback = &value + return b +} + +// WithStabilizationPeriod sets the StabilizationPeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StabilizationPeriod field is set to the value of the last call. +func (b *PolicyRecommendationScopeSpecApplyConfiguration) WithStabilizationPeriod(value v1.Duration) *PolicyRecommendationScopeSpecApplyConfiguration { + b.StabilizationPeriod = &value + return b +} + +// WithMaxRules sets the MaxRules field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MaxRules field is set to the value of the last call. +func (b *PolicyRecommendationScopeSpecApplyConfiguration) WithMaxRules(value int) *PolicyRecommendationScopeSpecApplyConfiguration { + b.MaxRules = &value + return b +} + +// WithPoliciesLearningCutOff sets the PoliciesLearningCutOff field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PoliciesLearningCutOff field is set to the value of the last call. +func (b *PolicyRecommendationScopeSpecApplyConfiguration) WithPoliciesLearningCutOff(value int) *PolicyRecommendationScopeSpecApplyConfiguration { + b.PoliciesLearningCutOff = &value + return b +} + +// WithNamespaceSpec sets the NamespaceSpec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NamespaceSpec field is set to the value of the last call. +func (b *PolicyRecommendationScopeSpecApplyConfiguration) WithNamespaceSpec(value *PolicyRecommendationScopeNamespaceSpecApplyConfiguration) *PolicyRecommendationScopeSpecApplyConfiguration { + b.NamespaceSpec = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopestatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopestatus.go new file mode 100644 index 00000000..2954e4f1 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopestatus.go @@ -0,0 +1,30 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// PolicyRecommendationScopeStatusApplyConfiguration represents a declarative configuration of the PolicyRecommendationScopeStatus type for use +// with apply. +type PolicyRecommendationScopeStatusApplyConfiguration struct { + Conditions []PolicyRecommendationScopeStatusConditionApplyConfiguration `json:"conditions,omitempty"` +} + +// PolicyRecommendationScopeStatusApplyConfiguration constructs a declarative configuration of the PolicyRecommendationScopeStatus type for use with +// apply. +func PolicyRecommendationScopeStatus() *PolicyRecommendationScopeStatusApplyConfiguration { + return &PolicyRecommendationScopeStatusApplyConfiguration{} +} + +// WithConditions adds the given value to the Conditions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Conditions field. +func (b *PolicyRecommendationScopeStatusApplyConfiguration) WithConditions(values ...*PolicyRecommendationScopeStatusConditionApplyConfiguration) *PolicyRecommendationScopeStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithConditions") + } + b.Conditions = append(b.Conditions, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopestatuscondition.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopestatuscondition.go new file mode 100644 index 00000000..bab391dc --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/policyrecommendationscopestatuscondition.go @@ -0,0 +1,58 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// PolicyRecommendationScopeStatusConditionApplyConfiguration represents a declarative configuration of the PolicyRecommendationScopeStatusCondition type for use +// with apply. +// +// Condition contains various status information +type PolicyRecommendationScopeStatusConditionApplyConfiguration struct { + Message *string `json:"message,omitempty"` + Reason *string `json:"reason,omitempty"` + Status *projectcalicov3.PolicyRecommendationScopeStatusValue `json:"status,omitempty"` + Type *projectcalicov3.PolicyRecommendationScopeStatusType `json:"type,omitempty"` +} + +// PolicyRecommendationScopeStatusConditionApplyConfiguration constructs a declarative configuration of the PolicyRecommendationScopeStatusCondition type for use with +// apply. +func PolicyRecommendationScopeStatusCondition() *PolicyRecommendationScopeStatusConditionApplyConfiguration { + return &PolicyRecommendationScopeStatusConditionApplyConfiguration{} +} + +// WithMessage sets the Message field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Message field is set to the value of the last call. +func (b *PolicyRecommendationScopeStatusConditionApplyConfiguration) WithMessage(value string) *PolicyRecommendationScopeStatusConditionApplyConfiguration { + b.Message = &value + return b +} + +// WithReason sets the Reason field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Reason field is set to the value of the last call. +func (b *PolicyRecommendationScopeStatusConditionApplyConfiguration) WithReason(value string) *PolicyRecommendationScopeStatusConditionApplyConfiguration { + b.Reason = &value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *PolicyRecommendationScopeStatusConditionApplyConfiguration) WithStatus(value projectcalicov3.PolicyRecommendationScopeStatusValue) *PolicyRecommendationScopeStatusConditionApplyConfiguration { + b.Status = &value + return b +} + +// WithType sets the Type field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Type field is set to the value of the last call. +func (b *PolicyRecommendationScopeStatusConditionApplyConfiguration) WithType(value projectcalicov3.PolicyRecommendationScopeStatusType) *PolicyRecommendationScopeStatusConditionApplyConfiguration { + b.Type = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/position.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/position.go new file mode 100644 index 00000000..6c9ead96 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/position.go @@ -0,0 +1,54 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// PositionApplyConfiguration represents a declarative configuration of the Position type for use +// with apply. +// +// UI screen position. +type PositionApplyConfiguration struct { + ID *string `json:"id,omitempty"` + XPos *int `json:"xPos,omitempty"` + YPos *int `json:"yPos,omitempty"` + ZPos *int `json:"zPos,omitempty"` +} + +// PositionApplyConfiguration constructs a declarative configuration of the Position type for use with +// apply. +func Position() *PositionApplyConfiguration { + return &PositionApplyConfiguration{} +} + +// WithID sets the ID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ID field is set to the value of the last call. +func (b *PositionApplyConfiguration) WithID(value string) *PositionApplyConfiguration { + b.ID = &value + return b +} + +// WithXPos sets the XPos field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the XPos field is set to the value of the last call. +func (b *PositionApplyConfiguration) WithXPos(value int) *PositionApplyConfiguration { + b.XPos = &value + return b +} + +// WithYPos sets the YPos field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the YPos field is set to the value of the last call. +func (b *PositionApplyConfiguration) WithYPos(value int) *PositionApplyConfiguration { + b.YPos = &value + return b +} + +// WithZPos sets the ZPos field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ZPos field is set to the value of the last call. +func (b *PositionApplyConfiguration) WithZPos(value int) *PositionApplyConfiguration { + b.ZPos = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/prefixadvertisement.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/prefixadvertisement.go new file mode 100644 index 00000000..f1d09291 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/prefixadvertisement.go @@ -0,0 +1,43 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// PrefixAdvertisementApplyConfiguration represents a declarative configuration of the PrefixAdvertisement type for use +// with apply. +// +// PrefixAdvertisement configures advertisement properties for the specified CIDR. +type PrefixAdvertisementApplyConfiguration struct { + // CIDR for which properties should be advertised. + CIDR *string `json:"cidr,omitempty"` + // Communities can be list of either community names already defined in `Specs.Communities` or community value of format `aa:nn` or `aa:nn:mm`. + // For standard community use `aa:nn` format, where `aa` and `nn` are 16 bit number. + // For large community use `aa:nn:mm` format, where `aa`, `nn` and `mm` are 32 bit number. + // Where,`aa` is an AS Number, `nn` and `mm` are per-AS identifier. + Communities []string `json:"communities,omitempty"` +} + +// PrefixAdvertisementApplyConfiguration constructs a declarative configuration of the PrefixAdvertisement type for use with +// apply. +func PrefixAdvertisement() *PrefixAdvertisementApplyConfiguration { + return &PrefixAdvertisementApplyConfiguration{} +} + +// WithCIDR sets the CIDR field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CIDR field is set to the value of the last call. +func (b *PrefixAdvertisementApplyConfiguration) WithCIDR(value string) *PrefixAdvertisementApplyConfiguration { + b.CIDR = &value + return b +} + +// WithCommunities adds the given value to the Communities field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Communities field. +func (b *PrefixAdvertisementApplyConfiguration) WithCommunities(values ...string) *PrefixAdvertisementApplyConfiguration { + for i := range values { + b.Communities = append(b.Communities, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/profile.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/profile.go new file mode 100644 index 00000000..59f6cb99 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/profile.go @@ -0,0 +1,256 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// ProfileApplyConfiguration represents a declarative configuration of the Profile type for use +// with apply. +type ProfileApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *ProfileSpecApplyConfiguration `json:"spec,omitempty"` +} + +// Profile constructs a declarative configuration of the Profile type for use with +// apply. +func Profile(name string) *ProfileApplyConfiguration { + b := &ProfileApplyConfiguration{} + b.WithName(name) + b.WithKind("Profile") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractProfileFrom extracts the applied configuration owned by fieldManager from +// profile for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// profile must be a unmodified Profile API object that was retrieved from the Kubernetes API. +// ExtractProfileFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractProfileFrom(profile *projectcalicov3.Profile, fieldManager string, subresource string) (*ProfileApplyConfiguration, error) { + b := &ProfileApplyConfiguration{} + err := managedfields.ExtractInto(profile, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.Profile"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(profile.Name) + + b.WithKind("Profile") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractProfile extracts the applied configuration owned by fieldManager from +// profile. If no managedFields are found in profile for fieldManager, a +// ProfileApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// profile must be a unmodified Profile API object that was retrieved from the Kubernetes API. +// ExtractProfile provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractProfile(profile *projectcalicov3.Profile, fieldManager string) (*ProfileApplyConfiguration, error) { + return ExtractProfileFrom(profile, fieldManager, "") +} + +func (b ProfileApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithKind(value string) *ProfileApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithAPIVersion(value string) *ProfileApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithName(value string) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithGenerateName(value string) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithNamespace(value string) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithUID(value types.UID) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithResourceVersion(value string) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithGeneration(value int64) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithCreationTimestamp(value metav1.Time) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *ProfileApplyConfiguration) WithLabels(entries map[string]string) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *ProfileApplyConfiguration) WithAnnotations(entries map[string]string) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *ProfileApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *ProfileApplyConfiguration) WithFinalizers(values ...string) *ProfileApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *ProfileApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *ProfileApplyConfiguration) WithSpec(value *ProfileSpecApplyConfiguration) *ProfileApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *ProfileApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *ProfileApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *ProfileApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *ProfileApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/profilespec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/profilespec.go new file mode 100644 index 00000000..2192fcaa --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/profilespec.go @@ -0,0 +1,78 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ProfileSpecApplyConfiguration represents a declarative configuration of the ProfileSpec type for use +// with apply. +// +// ProfileSpec contains the specification for a security Profile resource. +type ProfileSpecApplyConfiguration struct { + // The ordered set of ingress rules. Each rule contains a set of packet match criteria and + // a corresponding action to apply. + Ingress []RuleApplyConfiguration `json:"ingress,omitempty"` + // The ordered set of egress rules. Each rule contains a set of packet match criteria and + // a corresponding action to apply. + Egress []RuleApplyConfiguration `json:"egress,omitempty"` + // An option set of labels to apply to each endpoint (in addition to their own labels) + // referencing this profile. If labels configured on the endpoint have keys matching those + // labels inherited from the profile, the endpoint label values take precedence. + LabelsToApply map[string]string `json:"labelsToApply,omitempty"` + // Egress control. + EgressGateway *EgressGatewaySpecApplyConfiguration `json:"egressGateway,omitempty"` +} + +// ProfileSpecApplyConfiguration constructs a declarative configuration of the ProfileSpec type for use with +// apply. +func ProfileSpec() *ProfileSpecApplyConfiguration { + return &ProfileSpecApplyConfiguration{} +} + +// WithIngress adds the given value to the Ingress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Ingress field. +func (b *ProfileSpecApplyConfiguration) WithIngress(values ...*RuleApplyConfiguration) *ProfileSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithIngress") + } + b.Ingress = append(b.Ingress, *values[i]) + } + return b +} + +// WithEgress adds the given value to the Egress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Egress field. +func (b *ProfileSpecApplyConfiguration) WithEgress(values ...*RuleApplyConfiguration) *ProfileSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithEgress") + } + b.Egress = append(b.Egress, *values[i]) + } + return b +} + +// WithLabelsToApply puts the entries into the LabelsToApply field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the LabelsToApply field, +// overwriting an existing map entries in LabelsToApply field with the same key. +func (b *ProfileSpecApplyConfiguration) WithLabelsToApply(entries map[string]string) *ProfileSpecApplyConfiguration { + if b.LabelsToApply == nil && len(entries) > 0 { + b.LabelsToApply = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.LabelsToApply[k] = v + } + return b +} + +// WithEgressGateway sets the EgressGateway field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EgressGateway field is set to the value of the last call. +func (b *ProfileSpecApplyConfiguration) WithEgressGateway(value *EgressGatewaySpecApplyConfiguration) *ProfileSpecApplyConfiguration { + b.EgressGateway = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/protoport.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/protoport.go new file mode 100644 index 00000000..9ab4ecdb --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/protoport.go @@ -0,0 +1,45 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ProtoPortApplyConfiguration represents a declarative configuration of the ProtoPort type for use +// with apply. +// +// ProtoPort is combination of protocol, port, and CIDR. Protocol and port must be specified. +type ProtoPortApplyConfiguration struct { + Protocol *string `json:"protocol,omitempty"` + Port *uint16 `json:"port,omitempty"` + Net *string `json:"net,omitempty"` +} + +// ProtoPortApplyConfiguration constructs a declarative configuration of the ProtoPort type for use with +// apply. +func ProtoPort() *ProtoPortApplyConfiguration { + return &ProtoPortApplyConfiguration{} +} + +// WithProtocol sets the Protocol field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Protocol field is set to the value of the last call. +func (b *ProtoPortApplyConfiguration) WithProtocol(value string) *ProtoPortApplyConfiguration { + b.Protocol = &value + return b +} + +// WithPort sets the Port field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Port field is set to the value of the last call. +func (b *ProtoPortApplyConfiguration) WithPort(value uint16) *ProtoPortApplyConfiguration { + b.Port = &value + return b +} + +// WithNet sets the Net field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Net field is set to the value of the last call. +func (b *ProtoPortApplyConfiguration) WithNet(value string) *ProtoPortApplyConfiguration { + b.Net = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/pull.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/pull.go new file mode 100644 index 00000000..607900eb --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/pull.go @@ -0,0 +1,34 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// PullApplyConfiguration represents a declarative configuration of the Pull type for use +// with apply. +type PullApplyConfiguration struct { + Period *string `json:"period,omitempty"` + HTTP *HTTPPullApplyConfiguration `json:"http,omitempty"` +} + +// PullApplyConfiguration constructs a declarative configuration of the Pull type for use with +// apply. +func Pull() *PullApplyConfiguration { + return &PullApplyConfiguration{} +} + +// WithPeriod sets the Period field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Period field is set to the value of the last call. +func (b *PullApplyConfiguration) WithPeriod(value string) *PullApplyConfiguration { + b.Period = &value + return b +} + +// WithHTTP sets the HTTP field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HTTP field is set to the value of the last call. +func (b *PullApplyConfiguration) WithHTTP(value *HTTPPullApplyConfiguration) *PullApplyConfiguration { + b.HTTP = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclusterconfiguration.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclusterconfiguration.go new file mode 100644 index 00000000..5edfd004 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclusterconfiguration.go @@ -0,0 +1,258 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// RemoteClusterConfigurationApplyConfiguration represents a declarative configuration of the RemoteClusterConfiguration type for use +// with apply. +// +// RemoteClusterConfiguration contains the configuration for remote clusters. +type RemoteClusterConfigurationApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *RemoteClusterConfigurationSpecApplyConfiguration `json:"spec,omitempty"` +} + +// RemoteClusterConfiguration constructs a declarative configuration of the RemoteClusterConfiguration type for use with +// apply. +func RemoteClusterConfiguration(name string) *RemoteClusterConfigurationApplyConfiguration { + b := &RemoteClusterConfigurationApplyConfiguration{} + b.WithName(name) + b.WithKind("RemoteClusterConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractRemoteClusterConfigurationFrom extracts the applied configuration owned by fieldManager from +// remoteClusterConfiguration for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// remoteClusterConfiguration must be a unmodified RemoteClusterConfiguration API object that was retrieved from the Kubernetes API. +// ExtractRemoteClusterConfigurationFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractRemoteClusterConfigurationFrom(remoteClusterConfiguration *projectcalicov3.RemoteClusterConfiguration, fieldManager string, subresource string) (*RemoteClusterConfigurationApplyConfiguration, error) { + b := &RemoteClusterConfigurationApplyConfiguration{} + err := managedfields.ExtractInto(remoteClusterConfiguration, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.RemoteClusterConfiguration"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(remoteClusterConfiguration.Name) + + b.WithKind("RemoteClusterConfiguration") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractRemoteClusterConfiguration extracts the applied configuration owned by fieldManager from +// remoteClusterConfiguration. If no managedFields are found in remoteClusterConfiguration for fieldManager, a +// RemoteClusterConfigurationApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// remoteClusterConfiguration must be a unmodified RemoteClusterConfiguration API object that was retrieved from the Kubernetes API. +// ExtractRemoteClusterConfiguration provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractRemoteClusterConfiguration(remoteClusterConfiguration *projectcalicov3.RemoteClusterConfiguration, fieldManager string) (*RemoteClusterConfigurationApplyConfiguration, error) { + return ExtractRemoteClusterConfigurationFrom(remoteClusterConfiguration, fieldManager, "") +} + +func (b RemoteClusterConfigurationApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithKind(value string) *RemoteClusterConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithAPIVersion(value string) *RemoteClusterConfigurationApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithName(value string) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithGenerateName(value string) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithNamespace(value string) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithUID(value types.UID) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithResourceVersion(value string) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithGeneration(value int64) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithCreationTimestamp(value metav1.Time) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *RemoteClusterConfigurationApplyConfiguration) WithLabels(entries map[string]string) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *RemoteClusterConfigurationApplyConfiguration) WithAnnotations(entries map[string]string) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *RemoteClusterConfigurationApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *RemoteClusterConfigurationApplyConfiguration) WithFinalizers(values ...string) *RemoteClusterConfigurationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *RemoteClusterConfigurationApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *RemoteClusterConfigurationApplyConfiguration) WithSpec(value *RemoteClusterConfigurationSpecApplyConfiguration) *RemoteClusterConfigurationApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *RemoteClusterConfigurationApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *RemoteClusterConfigurationApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *RemoteClusterConfigurationApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *RemoteClusterConfigurationApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclusterconfigurationspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclusterconfigurationspec.go new file mode 100644 index 00000000..2591be8a --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclusterconfigurationspec.go @@ -0,0 +1,197 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/api/core/v1" +) + +// RemoteClusterConfigurationSpecApplyConfiguration represents a declarative configuration of the RemoteClusterConfigurationSpec type for use +// with apply. +// +// It's desirable to keep the list of things configurable here in sync with the other mechanism in apiconfig.go +// RemoteClusterConfigurationSpec contains the values of describing the cluster. +type RemoteClusterConfigurationSpecApplyConfiguration struct { + // Indicates the datastore to use. If unspecified, defaults to etcdv3 + DatastoreType *string `json:"datastoreType,omitempty"` + // Specifies a Secret to read for the RemoteClusterconfiguration. + // If defined all datastore configuration in this struct will be cleared + // and overwritten with the appropriate fields in the Secret. + ClusterAccessSecret *v1.ObjectReference `json:"clusterAccessSecret,omitempty"` + // Inline the ectd config fields + EtcdConfigApplyConfiguration `json:",inline"` + // Inline the k8s config fields. + KubeConfigApplyConfiguration `json:",inline"` + // Configuration options that do not relate to the underlying datastore connection. These fields relate to the + // syncing of resources once the connection is established. These fields can be set independent of the other + // connection-oriented fields, e.g. they can be set when ClusterAccessSecret is non-nil. + SyncOptions *RemoteClusterSyncOptionsApplyConfiguration `json:"syncOptions,omitempty"` +} + +// RemoteClusterConfigurationSpecApplyConfiguration constructs a declarative configuration of the RemoteClusterConfigurationSpec type for use with +// apply. +func RemoteClusterConfigurationSpec() *RemoteClusterConfigurationSpecApplyConfiguration { + return &RemoteClusterConfigurationSpecApplyConfiguration{} +} + +// WithDatastoreType sets the DatastoreType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DatastoreType field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithDatastoreType(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.DatastoreType = &value + return b +} + +// WithClusterAccessSecret sets the ClusterAccessSecret field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ClusterAccessSecret field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithClusterAccessSecret(value v1.ObjectReference) *RemoteClusterConfigurationSpecApplyConfiguration { + b.ClusterAccessSecret = &value + return b +} + +// WithEtcdEndpoints sets the EtcdEndpoints field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdEndpoints field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithEtcdEndpoints(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.EtcdConfigApplyConfiguration.EtcdEndpoints = &value + return b +} + +// WithEtcdUsername sets the EtcdUsername field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdUsername field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithEtcdUsername(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.EtcdConfigApplyConfiguration.EtcdUsername = &value + return b +} + +// WithEtcdPassword sets the EtcdPassword field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdPassword field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithEtcdPassword(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.EtcdConfigApplyConfiguration.EtcdPassword = &value + return b +} + +// WithEtcdKeyFile sets the EtcdKeyFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdKeyFile field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithEtcdKeyFile(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.EtcdConfigApplyConfiguration.EtcdKeyFile = &value + return b +} + +// WithEtcdCertFile sets the EtcdCertFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdCertFile field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithEtcdCertFile(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.EtcdConfigApplyConfiguration.EtcdCertFile = &value + return b +} + +// WithEtcdCACertFile sets the EtcdCACertFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdCACertFile field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithEtcdCACertFile(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.EtcdConfigApplyConfiguration.EtcdCACertFile = &value + return b +} + +// WithEtcdKey sets the EtcdKey field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdKey field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithEtcdKey(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.EtcdConfigApplyConfiguration.EtcdKey = &value + return b +} + +// WithEtcdCert sets the EtcdCert field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdCert field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithEtcdCert(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.EtcdConfigApplyConfiguration.EtcdCert = &value + return b +} + +// WithEtcdCACert sets the EtcdCACert field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the EtcdCACert field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithEtcdCACert(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.EtcdConfigApplyConfiguration.EtcdCACert = &value + return b +} + +// WithKubeconfig sets the Kubeconfig field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kubeconfig field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithKubeconfig(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.KubeConfigApplyConfiguration.Kubeconfig = &value + return b +} + +// WithK8sAPIEndpoint sets the K8sAPIEndpoint field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sAPIEndpoint field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithK8sAPIEndpoint(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.KubeConfigApplyConfiguration.K8sAPIEndpoint = &value + return b +} + +// WithK8sKeyFile sets the K8sKeyFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sKeyFile field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithK8sKeyFile(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.KubeConfigApplyConfiguration.K8sKeyFile = &value + return b +} + +// WithK8sCertFile sets the K8sCertFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sCertFile field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithK8sCertFile(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.KubeConfigApplyConfiguration.K8sCertFile = &value + return b +} + +// WithK8sCAFile sets the K8sCAFile field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sCAFile field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithK8sCAFile(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.KubeConfigApplyConfiguration.K8sCAFile = &value + return b +} + +// WithK8sAPIToken sets the K8sAPIToken field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sAPIToken field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithK8sAPIToken(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.KubeConfigApplyConfiguration.K8sAPIToken = &value + return b +} + +// WithK8sInsecureSkipTLSVerify sets the K8sInsecureSkipTLSVerify field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the K8sInsecureSkipTLSVerify field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithK8sInsecureSkipTLSVerify(value bool) *RemoteClusterConfigurationSpecApplyConfiguration { + b.KubeConfigApplyConfiguration.K8sInsecureSkipTLSVerify = &value + return b +} + +// WithKubeconfigInline sets the KubeconfigInline field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the KubeconfigInline field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithKubeconfigInline(value string) *RemoteClusterConfigurationSpecApplyConfiguration { + b.KubeConfigApplyConfiguration.KubeconfigInline = &value + return b +} + +// WithSyncOptions sets the SyncOptions field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SyncOptions field is set to the value of the last call. +func (b *RemoteClusterConfigurationSpecApplyConfiguration) WithSyncOptions(value *RemoteClusterSyncOptionsApplyConfiguration) *RemoteClusterConfigurationSpecApplyConfiguration { + b.SyncOptions = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclustersyncoptions.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclustersyncoptions.go new file mode 100644 index 00000000..a8d23ee1 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/remoteclustersyncoptions.go @@ -0,0 +1,33 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// RemoteClusterSyncOptionsApplyConfiguration represents a declarative configuration of the RemoteClusterSyncOptions type for use +// with apply. +type RemoteClusterSyncOptionsApplyConfiguration struct { + // Determines whether overlay routing will be established between federated clusters. If unspecified during create or + // update of RemoteClusterConfiguration, this field will default based on the encapsulation mode of the local cluster + // at the time of RemoteClusterConfiguration application: "Enabled" if VXLAN, "Disabled" otherwise. If upgrading from + // a version that predates this field, this field will default to "Disabled". + OverlayRoutingMode *projectcalicov3.OverlayRoutingMode `json:"overlayRoutingMode,omitempty"` +} + +// RemoteClusterSyncOptionsApplyConfiguration constructs a declarative configuration of the RemoteClusterSyncOptions type for use with +// apply. +func RemoteClusterSyncOptions() *RemoteClusterSyncOptionsApplyConfiguration { + return &RemoteClusterSyncOptionsApplyConfiguration{} +} + +// WithOverlayRoutingMode sets the OverlayRoutingMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the OverlayRoutingMode field is set to the value of the last call. +func (b *RemoteClusterSyncOptionsApplyConfiguration) WithOverlayRoutingMode(value projectcalicov3.OverlayRoutingMode) *RemoteClusterSyncOptionsApplyConfiguration { + b.OverlayRoutingMode = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/reportjob.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/reportjob.go new file mode 100644 index 00000000..584f237d --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/reportjob.go @@ -0,0 +1,53 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + corev1 "k8s.io/api/core/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// ReportJobApplyConfiguration represents a declarative configuration of the ReportJob type for use +// with apply. +// +// ReportJob contains +type ReportJobApplyConfiguration struct { + // The start time of the report. + Start *v1.Time `json:"start,omitempty"` + // The end time of the report. + End *v1.Time `json:"end,omitempty"` + // A reference to the report creation job if known. + Job *corev1.ObjectReference `json:"job,omitempty"` +} + +// ReportJobApplyConfiguration constructs a declarative configuration of the ReportJob type for use with +// apply. +func ReportJob() *ReportJobApplyConfiguration { + return &ReportJobApplyConfiguration{} +} + +// WithStart sets the Start field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Start field is set to the value of the last call. +func (b *ReportJobApplyConfiguration) WithStart(value v1.Time) *ReportJobApplyConfiguration { + b.Start = &value + return b +} + +// WithEnd sets the End field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the End field is set to the value of the last call. +func (b *ReportJobApplyConfiguration) WithEnd(value v1.Time) *ReportJobApplyConfiguration { + b.End = &value + return b +} + +// WithJob sets the Job field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Job field is set to the value of the last call. +func (b *ReportJobApplyConfiguration) WithJob(value corev1.ObjectReference) *ReportJobApplyConfiguration { + b.Job = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/reportspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/reportspec.go new file mode 100644 index 00000000..87eb8a33 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/reportspec.go @@ -0,0 +1,95 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ReportSpecApplyConfiguration represents a declarative configuration of the ReportSpec type for use +// with apply. +// +// ReportSpec contains the values of the GlobalReport. +type ReportSpecApplyConfiguration struct { + // The name of the report type. + ReportType *string `json:"reportType,omitempty"` + // Endpoints is used to specify which endpoints are in-scope and stored in the generated report data. + // Only used if endpoints data and/or audit logs are gathered in the report. If omitted, treated as everything + // in-scope. + Endpoints *EndpointsSelectionApplyConfiguration `json:"endpoints,omitempty"` + // The report schedule specified in cron format. This specifies both the start and end times of each report, + // where the end time of one report becomes the start time of the next report. + // Separate jobs are created to generate a report, and the job generates the report data from archived audit + // and traffic data. To ensure this data is actually archived, the jobs to generate each report starts at a + // configurable time *after* the end time of the report that is being generated. The default job start delay is + // 30m, but is configurable through the compliance-controller environments. + // The cron format has minute accuracy, but only up to two values may be configured for the minute column which + // means you may only have at most two reports for each hour period. + Schedule *string `json:"schedule,omitempty"` + // The node selector used to specify which nodes the report job may be scheduled on. + JobNodeSelector map[string]string `json:"jobNodeSelector,omitempty"` + // This flag tells the controller to suspend subsequent jobs for generating reports, it does not apply to already + // started jobs. If jobs are resumed then the controller will start creating jobs for any reports that were missed + // while the job was suspended. + Suspend *bool `json:"suspend,omitempty"` + // This field contain all the parameters for configuring a CIS benchmark report. + CIS *CISBenchmarkParamsApplyConfiguration `json:"cis,omitempty"` +} + +// ReportSpecApplyConfiguration constructs a declarative configuration of the ReportSpec type for use with +// apply. +func ReportSpec() *ReportSpecApplyConfiguration { + return &ReportSpecApplyConfiguration{} +} + +// WithReportType sets the ReportType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ReportType field is set to the value of the last call. +func (b *ReportSpecApplyConfiguration) WithReportType(value string) *ReportSpecApplyConfiguration { + b.ReportType = &value + return b +} + +// WithEndpoints sets the Endpoints field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Endpoints field is set to the value of the last call. +func (b *ReportSpecApplyConfiguration) WithEndpoints(value *EndpointsSelectionApplyConfiguration) *ReportSpecApplyConfiguration { + b.Endpoints = value + return b +} + +// WithSchedule sets the Schedule field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Schedule field is set to the value of the last call. +func (b *ReportSpecApplyConfiguration) WithSchedule(value string) *ReportSpecApplyConfiguration { + b.Schedule = &value + return b +} + +// WithJobNodeSelector puts the entries into the JobNodeSelector field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the JobNodeSelector field, +// overwriting an existing map entries in JobNodeSelector field with the same key. +func (b *ReportSpecApplyConfiguration) WithJobNodeSelector(entries map[string]string) *ReportSpecApplyConfiguration { + if b.JobNodeSelector == nil && len(entries) > 0 { + b.JobNodeSelector = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.JobNodeSelector[k] = v + } + return b +} + +// WithSuspend sets the Suspend field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Suspend field is set to the value of the last call. +func (b *ReportSpecApplyConfiguration) WithSuspend(value bool) *ReportSpecApplyConfiguration { + b.Suspend = &value + return b +} + +// WithCIS sets the CIS field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CIS field is set to the value of the last call. +func (b *ReportSpecApplyConfiguration) WithCIS(value *CISBenchmarkParamsApplyConfiguration) *ReportSpecApplyConfiguration { + b.CIS = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/reportstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/reportstatus.go new file mode 100644 index 00000000..571fb4b8 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/reportstatus.go @@ -0,0 +1,73 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ReportStatusApplyConfiguration represents a declarative configuration of the ReportStatus type for use +// with apply. +// +// ReportStatus contains the status of the automated report generation. +type ReportStatusApplyConfiguration struct { + // The configured report jobs that have completed successfully. + LastSuccessfulReportJobs []CompletedReportJobApplyConfiguration `json:"lastSuccessfulReportJobs,omitempty"` + // The configured report jobs that have failed. + LastFailedReportJobs []CompletedReportJobApplyConfiguration `json:"lastFailedReportJobs,omitempty"` + // The set of active report jobs. + ActiveReportJobs []ReportJobApplyConfiguration `json:"activeReportJobs,omitempty"` + // The last scheduled report job. + LastScheduledReportJob *ReportJobApplyConfiguration `json:"lastScheduledReportJob,omitempty"` +} + +// ReportStatusApplyConfiguration constructs a declarative configuration of the ReportStatus type for use with +// apply. +func ReportStatus() *ReportStatusApplyConfiguration { + return &ReportStatusApplyConfiguration{} +} + +// WithLastSuccessfulReportJobs adds the given value to the LastSuccessfulReportJobs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the LastSuccessfulReportJobs field. +func (b *ReportStatusApplyConfiguration) WithLastSuccessfulReportJobs(values ...*CompletedReportJobApplyConfiguration) *ReportStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithLastSuccessfulReportJobs") + } + b.LastSuccessfulReportJobs = append(b.LastSuccessfulReportJobs, *values[i]) + } + return b +} + +// WithLastFailedReportJobs adds the given value to the LastFailedReportJobs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the LastFailedReportJobs field. +func (b *ReportStatusApplyConfiguration) WithLastFailedReportJobs(values ...*CompletedReportJobApplyConfiguration) *ReportStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithLastFailedReportJobs") + } + b.LastFailedReportJobs = append(b.LastFailedReportJobs, *values[i]) + } + return b +} + +// WithActiveReportJobs adds the given value to the ActiveReportJobs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ActiveReportJobs field. +func (b *ReportStatusApplyConfiguration) WithActiveReportJobs(values ...*ReportJobApplyConfiguration) *ReportStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithActiveReportJobs") + } + b.ActiveReportJobs = append(b.ActiveReportJobs, *values[i]) + } + return b +} + +// WithLastScheduledReportJob sets the LastScheduledReportJob field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastScheduledReportJob field is set to the value of the last call. +func (b *ReportStatusApplyConfiguration) WithLastScheduledReportJob(value *ReportJobApplyConfiguration) *ReportStatusApplyConfiguration { + b.LastScheduledReportJob = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/reporttemplate.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/reporttemplate.go new file mode 100644 index 00000000..78d3d38f --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/reporttemplate.go @@ -0,0 +1,49 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ReportTemplateApplyConfiguration represents a declarative configuration of the ReportTemplate type for use +// with apply. +// +// ReportTemplate defines a template used to render a report into downloadable or UI compatible format. +type ReportTemplateApplyConfiguration struct { + // The name of this template. This should be unique across all template names within a ReportType. This will be used + // by the UI as the suffix of the downloadable file name. + Name *string `json:"name,omitempty"` + // A user-facing description of the template. + Description *string `json:"description,omitempty"` + // The base-64 encoded go template used to render the report data. + Template *string `json:"template,omitempty"` +} + +// ReportTemplateApplyConfiguration constructs a declarative configuration of the ReportTemplate type for use with +// apply. +func ReportTemplate() *ReportTemplateApplyConfiguration { + return &ReportTemplateApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *ReportTemplateApplyConfiguration) WithName(value string) *ReportTemplateApplyConfiguration { + b.Name = &value + return b +} + +// WithDescription sets the Description field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Description field is set to the value of the last call. +func (b *ReportTemplateApplyConfiguration) WithDescription(value string) *ReportTemplateApplyConfiguration { + b.Description = &value + return b +} + +// WithTemplate sets the Template field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Template field is set to the value of the last call. +func (b *ReportTemplateApplyConfiguration) WithTemplate(value string) *ReportTemplateApplyConfiguration { + b.Template = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/reporttypespec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/reporttypespec.go new file mode 100644 index 00000000..ce55abfb --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/reporttypespec.go @@ -0,0 +1,87 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ReportTypeSpecApplyConfiguration represents a declarative configuration of the ReportTypeSpec type for use +// with apply. +// +// ReportTypeSpec contains the various templates, and configuration used to render a specific type of report. +type ReportTypeSpecApplyConfiguration struct { + // The summary template, explicitly used by the UI to render a summary version of the report. This should render + // to json containing a sets of widgets that the UI can use to render the summary. The rendered data is returned + // on the list query of the reports. + UISummaryTemplate *ReportTemplateApplyConfiguration `json:"uiSummaryTemplate,omitempty"` + // The set of templates used to render the report for downloads. + DownloadTemplates []ReportTemplateApplyConfiguration `json:"downloadTemplates,omitempty"` + // Whether to include endpoint data in the report. The actual endpoints included may be filtered by the Report, + // but will otherwise contain the full set of endpoints. + IncludeEndpointData *bool `json:"includeEndpointData,omitempty"` + // Whether to include endpoint-to-endpoint flow log data in the report. + IncludeEndpointFlowLogData *bool `json:"includeEndpointFlowLogData,omitempty"` + // What audit log data should be included in the report. If not specified, the report will contain no audit log + // data. The selection may be further filtered by the Report. + AuditEventsSelection *AuditEventsSelectionApplyConfiguration `json:"auditEventsSelection,omitempty"` + // Whether to include the full cis benchmark test results in the report. + IncludeCISBenchmarkData *bool `json:"includeCISBenchmarkData,omitempty"` +} + +// ReportTypeSpecApplyConfiguration constructs a declarative configuration of the ReportTypeSpec type for use with +// apply. +func ReportTypeSpec() *ReportTypeSpecApplyConfiguration { + return &ReportTypeSpecApplyConfiguration{} +} + +// WithUISummaryTemplate sets the UISummaryTemplate field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UISummaryTemplate field is set to the value of the last call. +func (b *ReportTypeSpecApplyConfiguration) WithUISummaryTemplate(value *ReportTemplateApplyConfiguration) *ReportTypeSpecApplyConfiguration { + b.UISummaryTemplate = value + return b +} + +// WithDownloadTemplates adds the given value to the DownloadTemplates field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the DownloadTemplates field. +func (b *ReportTypeSpecApplyConfiguration) WithDownloadTemplates(values ...*ReportTemplateApplyConfiguration) *ReportTypeSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithDownloadTemplates") + } + b.DownloadTemplates = append(b.DownloadTemplates, *values[i]) + } + return b +} + +// WithIncludeEndpointData sets the IncludeEndpointData field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IncludeEndpointData field is set to the value of the last call. +func (b *ReportTypeSpecApplyConfiguration) WithIncludeEndpointData(value bool) *ReportTypeSpecApplyConfiguration { + b.IncludeEndpointData = &value + return b +} + +// WithIncludeEndpointFlowLogData sets the IncludeEndpointFlowLogData field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IncludeEndpointFlowLogData field is set to the value of the last call. +func (b *ReportTypeSpecApplyConfiguration) WithIncludeEndpointFlowLogData(value bool) *ReportTypeSpecApplyConfiguration { + b.IncludeEndpointFlowLogData = &value + return b +} + +// WithAuditEventsSelection sets the AuditEventsSelection field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AuditEventsSelection field is set to the value of the last call. +func (b *ReportTypeSpecApplyConfiguration) WithAuditEventsSelection(value *AuditEventsSelectionApplyConfiguration) *ReportTypeSpecApplyConfiguration { + b.AuditEventsSelection = value + return b +} + +// WithIncludeCISBenchmarkData sets the IncludeCISBenchmarkData field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IncludeCISBenchmarkData field is set to the value of the last call. +func (b *ReportTypeSpecApplyConfiguration) WithIncludeCISBenchmarkData(value bool) *ReportTypeSpecApplyConfiguration { + b.IncludeCISBenchmarkData = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/routetableidrange.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/routetableidrange.go new file mode 100644 index 00000000..a4e0ce6c --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/routetableidrange.go @@ -0,0 +1,34 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// RouteTableIDRangeApplyConfiguration represents a declarative configuration of the RouteTableIDRange type for use +// with apply. +type RouteTableIDRangeApplyConfiguration struct { + Min *int `json:"min,omitempty"` + Max *int `json:"max,omitempty"` +} + +// RouteTableIDRangeApplyConfiguration constructs a declarative configuration of the RouteTableIDRange type for use with +// apply. +func RouteTableIDRange() *RouteTableIDRangeApplyConfiguration { + return &RouteTableIDRangeApplyConfiguration{} +} + +// WithMin sets the Min field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Min field is set to the value of the last call. +func (b *RouteTableIDRangeApplyConfiguration) WithMin(value int) *RouteTableIDRangeApplyConfiguration { + b.Min = &value + return b +} + +// WithMax sets the Max field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Max field is set to the value of the last call. +func (b *RouteTableIDRangeApplyConfiguration) WithMax(value int) *RouteTableIDRangeApplyConfiguration { + b.Max = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/routetablerange.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/routetablerange.go new file mode 100644 index 00000000..83ded209 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/routetablerange.go @@ -0,0 +1,34 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// RouteTableRangeApplyConfiguration represents a declarative configuration of the RouteTableRange type for use +// with apply. +type RouteTableRangeApplyConfiguration struct { + Min *int `json:"min,omitempty"` + Max *int `json:"max,omitempty"` +} + +// RouteTableRangeApplyConfiguration constructs a declarative configuration of the RouteTableRange type for use with +// apply. +func RouteTableRange() *RouteTableRangeApplyConfiguration { + return &RouteTableRangeApplyConfiguration{} +} + +// WithMin sets the Min field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Min field is set to the value of the last call. +func (b *RouteTableRangeApplyConfiguration) WithMin(value int) *RouteTableRangeApplyConfiguration { + b.Min = &value + return b +} + +// WithMax sets the Max field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Max field is set to the value of the last call. +func (b *RouteTableRangeApplyConfiguration) WithMax(value int) *RouteTableRangeApplyConfiguration { + b.Max = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/rule.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/rule.go new file mode 100644 index 00000000..e6a93efd --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/rule.go @@ -0,0 +1,136 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + numorstring "github.com/tigera/api/pkg/lib/numorstring" +) + +// RuleApplyConfiguration represents a declarative configuration of the Rule type for use +// with apply. +// +// A Rule encapsulates a set of match criteria and an action. Both selector-based security Policy +// and security Profiles reference rules - separated out as a list of rules for both +// ingress and egress packet matching. +// +// Each positive match criteria has a negated version, prefixed with "Not". All the match +// criteria within a rule must be satisfied for a packet to match. A single rule can contain +// the positive and negative version of a match and both must be satisfied for the rule to match. +type RuleApplyConfiguration struct { + Action *projectcalicov3.Action `json:"action,omitempty"` + // IPVersion is an optional field that restricts the rule to only match a specific IP + // version. + IPVersion *int `json:"ipVersion,omitempty"` + // Protocol is an optional field that restricts the rule to only apply to traffic of + // a specific IP protocol. Required if any of the EntityRules contain Ports + // (because ports only apply to certain protocols). + // + // Must be one of these string values: "TCP", "UDP", "ICMP", "ICMPv6", "SCTP", "UDPLite" + // or an integer in the range 1-255. + Protocol *numorstring.Protocol `json:"protocol,omitempty"` + // ICMP is an optional field that restricts the rule to apply to a specific type and + // code of ICMP traffic. This should only be specified if the Protocol field is set to + // "ICMP" or "ICMPv6". + ICMP *ICMPFieldsApplyConfiguration `json:"icmp,omitempty"` + // NotProtocol is the negated version of the Protocol field. + NotProtocol *numorstring.Protocol `json:"notProtocol,omitempty"` + // NotICMP is the negated version of the ICMP field. + NotICMP *ICMPFieldsApplyConfiguration `json:"notICMP,omitempty"` + // Source contains the match criteria that apply to source entity. + Source *EntityRuleApplyConfiguration `json:"source,omitempty"` + // Destination contains the match criteria that apply to destination entity. + Destination *EntityRuleApplyConfiguration `json:"destination,omitempty"` + // HTTP contains match criteria that apply to HTTP requests. + HTTP *HTTPMatchApplyConfiguration `json:"http,omitempty"` + // Metadata contains additional information for this rule + Metadata *RuleMetadataApplyConfiguration `json:"metadata,omitempty"` +} + +// RuleApplyConfiguration constructs a declarative configuration of the Rule type for use with +// apply. +func Rule() *RuleApplyConfiguration { + return &RuleApplyConfiguration{} +} + +// WithAction sets the Action field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Action field is set to the value of the last call. +func (b *RuleApplyConfiguration) WithAction(value projectcalicov3.Action) *RuleApplyConfiguration { + b.Action = &value + return b +} + +// WithIPVersion sets the IPVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IPVersion field is set to the value of the last call. +func (b *RuleApplyConfiguration) WithIPVersion(value int) *RuleApplyConfiguration { + b.IPVersion = &value + return b +} + +// WithProtocol sets the Protocol field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Protocol field is set to the value of the last call. +func (b *RuleApplyConfiguration) WithProtocol(value numorstring.Protocol) *RuleApplyConfiguration { + b.Protocol = &value + return b +} + +// WithICMP sets the ICMP field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ICMP field is set to the value of the last call. +func (b *RuleApplyConfiguration) WithICMP(value *ICMPFieldsApplyConfiguration) *RuleApplyConfiguration { + b.ICMP = value + return b +} + +// WithNotProtocol sets the NotProtocol field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NotProtocol field is set to the value of the last call. +func (b *RuleApplyConfiguration) WithNotProtocol(value numorstring.Protocol) *RuleApplyConfiguration { + b.NotProtocol = &value + return b +} + +// WithNotICMP sets the NotICMP field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NotICMP field is set to the value of the last call. +func (b *RuleApplyConfiguration) WithNotICMP(value *ICMPFieldsApplyConfiguration) *RuleApplyConfiguration { + b.NotICMP = value + return b +} + +// WithSource sets the Source field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Source field is set to the value of the last call. +func (b *RuleApplyConfiguration) WithSource(value *EntityRuleApplyConfiguration) *RuleApplyConfiguration { + b.Source = value + return b +} + +// WithDestination sets the Destination field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Destination field is set to the value of the last call. +func (b *RuleApplyConfiguration) WithDestination(value *EntityRuleApplyConfiguration) *RuleApplyConfiguration { + b.Destination = value + return b +} + +// WithHTTP sets the HTTP field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HTTP field is set to the value of the last call. +func (b *RuleApplyConfiguration) WithHTTP(value *HTTPMatchApplyConfiguration) *RuleApplyConfiguration { + b.HTTP = value + return b +} + +// WithMetadata sets the Metadata field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Metadata field is set to the value of the last call. +func (b *RuleApplyConfiguration) WithMetadata(value *RuleMetadataApplyConfiguration) *RuleApplyConfiguration { + b.Metadata = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/rulemetadata.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/rulemetadata.go new file mode 100644 index 00000000..3956b972 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/rulemetadata.go @@ -0,0 +1,32 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// RuleMetadataApplyConfiguration represents a declarative configuration of the RuleMetadata type for use +// with apply. +type RuleMetadataApplyConfiguration struct { + // Annotations is a set of key value pairs that give extra information about the rule + Annotations map[string]string `json:"annotations,omitempty"` +} + +// RuleMetadataApplyConfiguration constructs a declarative configuration of the RuleMetadata type for use with +// apply. +func RuleMetadata() *RuleMetadataApplyConfiguration { + return &RuleMetadataApplyConfiguration{} +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *RuleMetadataApplyConfiguration) WithAnnotations(entries map[string]string) *RuleMetadataApplyConfiguration { + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhook.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhook.go new file mode 100644 index 00000000..530a9348 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhook.go @@ -0,0 +1,276 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// SecurityEventWebhookApplyConfiguration represents a declarative configuration of the SecurityEventWebhook type for use +// with apply. +type SecurityEventWebhookApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *SecurityEventWebhookSpecApplyConfiguration `json:"spec,omitempty"` + Status []v1.ConditionApplyConfiguration `json:"status,omitempty"` +} + +// SecurityEventWebhook constructs a declarative configuration of the SecurityEventWebhook type for use with +// apply. +func SecurityEventWebhook(name string) *SecurityEventWebhookApplyConfiguration { + b := &SecurityEventWebhookApplyConfiguration{} + b.WithName(name) + b.WithKind("SecurityEventWebhook") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractSecurityEventWebhookFrom extracts the applied configuration owned by fieldManager from +// securityEventWebhook for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// securityEventWebhook must be a unmodified SecurityEventWebhook API object that was retrieved from the Kubernetes API. +// ExtractSecurityEventWebhookFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractSecurityEventWebhookFrom(securityEventWebhook *projectcalicov3.SecurityEventWebhook, fieldManager string, subresource string) (*SecurityEventWebhookApplyConfiguration, error) { + b := &SecurityEventWebhookApplyConfiguration{} + err := managedfields.ExtractInto(securityEventWebhook, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.SecurityEventWebhook"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(securityEventWebhook.Name) + + b.WithKind("SecurityEventWebhook") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractSecurityEventWebhook extracts the applied configuration owned by fieldManager from +// securityEventWebhook. If no managedFields are found in securityEventWebhook for fieldManager, a +// SecurityEventWebhookApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// securityEventWebhook must be a unmodified SecurityEventWebhook API object that was retrieved from the Kubernetes API. +// ExtractSecurityEventWebhook provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractSecurityEventWebhook(securityEventWebhook *projectcalicov3.SecurityEventWebhook, fieldManager string) (*SecurityEventWebhookApplyConfiguration, error) { + return ExtractSecurityEventWebhookFrom(securityEventWebhook, fieldManager, "") +} + +// ExtractSecurityEventWebhookStatus extracts the applied configuration owned by fieldManager from +// securityEventWebhook for the status subresource. +func ExtractSecurityEventWebhookStatus(securityEventWebhook *projectcalicov3.SecurityEventWebhook, fieldManager string) (*SecurityEventWebhookApplyConfiguration, error) { + return ExtractSecurityEventWebhookFrom(securityEventWebhook, fieldManager, "status") +} + +func (b SecurityEventWebhookApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithKind(value string) *SecurityEventWebhookApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithAPIVersion(value string) *SecurityEventWebhookApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithName(value string) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithGenerateName(value string) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithNamespace(value string) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithUID(value types.UID) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithResourceVersion(value string) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithGeneration(value int64) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithCreationTimestamp(value metav1.Time) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *SecurityEventWebhookApplyConfiguration) WithLabels(entries map[string]string) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *SecurityEventWebhookApplyConfiguration) WithAnnotations(entries map[string]string) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *SecurityEventWebhookApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *SecurityEventWebhookApplyConfiguration) WithFinalizers(values ...string) *SecurityEventWebhookApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *SecurityEventWebhookApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *SecurityEventWebhookApplyConfiguration) WithSpec(value *SecurityEventWebhookSpecApplyConfiguration) *SecurityEventWebhookApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus adds the given value to the Status field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Status field. +func (b *SecurityEventWebhookApplyConfiguration) WithStatus(values ...*v1.ConditionApplyConfiguration) *SecurityEventWebhookApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithStatus") + } + b.Status = append(b.Status, *values[i]) + } + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *SecurityEventWebhookApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *SecurityEventWebhookApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *SecurityEventWebhookApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *SecurityEventWebhookApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookconfigvar.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookconfigvar.go new file mode 100644 index 00000000..1f646504 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookconfigvar.go @@ -0,0 +1,43 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// SecurityEventWebhookConfigVarApplyConfiguration represents a declarative configuration of the SecurityEventWebhookConfigVar type for use +// with apply. +type SecurityEventWebhookConfigVarApplyConfiguration struct { + Name *string `json:"name,omitempty"` + Value *string `json:"value,omitempty"` + ValueFrom *SecurityEventWebhookConfigVarSourceApplyConfiguration `json:"valueFrom,omitempty"` +} + +// SecurityEventWebhookConfigVarApplyConfiguration constructs a declarative configuration of the SecurityEventWebhookConfigVar type for use with +// apply. +func SecurityEventWebhookConfigVar() *SecurityEventWebhookConfigVarApplyConfiguration { + return &SecurityEventWebhookConfigVarApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *SecurityEventWebhookConfigVarApplyConfiguration) WithName(value string) *SecurityEventWebhookConfigVarApplyConfiguration { + b.Name = &value + return b +} + +// WithValue sets the Value field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Value field is set to the value of the last call. +func (b *SecurityEventWebhookConfigVarApplyConfiguration) WithValue(value string) *SecurityEventWebhookConfigVarApplyConfiguration { + b.Value = &value + return b +} + +// WithValueFrom sets the ValueFrom field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ValueFrom field is set to the value of the last call. +func (b *SecurityEventWebhookConfigVarApplyConfiguration) WithValueFrom(value *SecurityEventWebhookConfigVarSourceApplyConfiguration) *SecurityEventWebhookConfigVarApplyConfiguration { + b.ValueFrom = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookconfigvarsource.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookconfigvarsource.go new file mode 100644 index 00000000..12b09d4e --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookconfigvarsource.go @@ -0,0 +1,38 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/api/core/v1" +) + +// SecurityEventWebhookConfigVarSourceApplyConfiguration represents a declarative configuration of the SecurityEventWebhookConfigVarSource type for use +// with apply. +type SecurityEventWebhookConfigVarSourceApplyConfiguration struct { + ConfigMapKeyRef *v1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty"` + SecretKeyRef *v1.SecretKeySelector `json:"secretKeyRef,omitempty"` +} + +// SecurityEventWebhookConfigVarSourceApplyConfiguration constructs a declarative configuration of the SecurityEventWebhookConfigVarSource type for use with +// apply. +func SecurityEventWebhookConfigVarSource() *SecurityEventWebhookConfigVarSourceApplyConfiguration { + return &SecurityEventWebhookConfigVarSourceApplyConfiguration{} +} + +// WithConfigMapKeyRef sets the ConfigMapKeyRef field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ConfigMapKeyRef field is set to the value of the last call. +func (b *SecurityEventWebhookConfigVarSourceApplyConfiguration) WithConfigMapKeyRef(value v1.ConfigMapKeySelector) *SecurityEventWebhookConfigVarSourceApplyConfiguration { + b.ConfigMapKeyRef = &value + return b +} + +// WithSecretKeyRef sets the SecretKeyRef field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SecretKeyRef field is set to the value of the last call. +func (b *SecurityEventWebhookConfigVarSourceApplyConfiguration) WithSecretKeyRef(value v1.SecretKeySelector) *SecurityEventWebhookConfigVarSourceApplyConfiguration { + b.SecretKeyRef = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookspec.go new file mode 100644 index 00000000..e7d7ce35 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/securityeventwebhookspec.go @@ -0,0 +1,65 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// SecurityEventWebhookSpecApplyConfiguration represents a declarative configuration of the SecurityEventWebhookSpec type for use +// with apply. +type SecurityEventWebhookSpecApplyConfiguration struct { + // indicates the SecurityEventWebhook intended consumer, one of: Slack, Jira, Generic, AlertManager + Consumer *projectcalicov3.SecurityEventWebhookConsumer `json:"consumer,omitempty"` + // defines the webhook desired state, one of: Enabled, Disabled, Test or Debug + State *projectcalicov3.SecurityEventWebhookState `json:"state,omitempty"` + // defines the SecurityEventWebhook query to be executed against fields of SecurityEvents + Query *string `json:"query,omitempty"` + // contains the SecurityEventWebhook's configuration associated with the intended Consumer + Config []SecurityEventWebhookConfigVarApplyConfiguration `json:"config,omitempty"` +} + +// SecurityEventWebhookSpecApplyConfiguration constructs a declarative configuration of the SecurityEventWebhookSpec type for use with +// apply. +func SecurityEventWebhookSpec() *SecurityEventWebhookSpecApplyConfiguration { + return &SecurityEventWebhookSpecApplyConfiguration{} +} + +// WithConsumer sets the Consumer field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Consumer field is set to the value of the last call. +func (b *SecurityEventWebhookSpecApplyConfiguration) WithConsumer(value projectcalicov3.SecurityEventWebhookConsumer) *SecurityEventWebhookSpecApplyConfiguration { + b.Consumer = &value + return b +} + +// WithState sets the State field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the State field is set to the value of the last call. +func (b *SecurityEventWebhookSpecApplyConfiguration) WithState(value projectcalicov3.SecurityEventWebhookState) *SecurityEventWebhookSpecApplyConfiguration { + b.State = &value + return b +} + +// WithQuery sets the Query field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Query field is set to the value of the last call. +func (b *SecurityEventWebhookSpecApplyConfiguration) WithQuery(value string) *SecurityEventWebhookSpecApplyConfiguration { + b.Query = &value + return b +} + +// WithConfig adds the given value to the Config field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Config field. +func (b *SecurityEventWebhookSpecApplyConfiguration) WithConfig(values ...*SecurityEventWebhookConfigVarApplyConfiguration) *SecurityEventWebhookSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithConfig") + } + b.Config = append(b.Config, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceaccountcontrollerconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceaccountcontrollerconfig.go new file mode 100644 index 00000000..86c4cb5b --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceaccountcontrollerconfig.go @@ -0,0 +1,33 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// ServiceAccountControllerConfigApplyConfiguration represents a declarative configuration of the ServiceAccountControllerConfig type for use +// with apply. +// +// ServiceAccountControllerConfig configures the service account controller, which syncs Kubernetes +// service accounts to Calico profiles (only used for etcdv3 datastore). +type ServiceAccountControllerConfigApplyConfiguration struct { + // ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m] + ReconcilerPeriod *v1.Duration `json:"reconcilerPeriod,omitempty"` +} + +// ServiceAccountControllerConfigApplyConfiguration constructs a declarative configuration of the ServiceAccountControllerConfig type for use with +// apply. +func ServiceAccountControllerConfig() *ServiceAccountControllerConfigApplyConfiguration { + return &ServiceAccountControllerConfigApplyConfiguration{} +} + +// WithReconcilerPeriod sets the ReconcilerPeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ReconcilerPeriod field is set to the value of the last call. +func (b *ServiceAccountControllerConfigApplyConfiguration) WithReconcilerPeriod(value v1.Duration) *ServiceAccountControllerConfigApplyConfiguration { + b.ReconcilerPeriod = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceaccountmatch.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceaccountmatch.go new file mode 100644 index 00000000..c84c56a2 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceaccountmatch.go @@ -0,0 +1,41 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ServiceAccountMatchApplyConfiguration represents a declarative configuration of the ServiceAccountMatch type for use +// with apply. +type ServiceAccountMatchApplyConfiguration struct { + // Names is an optional field that restricts the rule to only apply to traffic that originates from (or terminates + // at) a pod running as a service account whose name is in the list. + Names []string `json:"names,omitempty"` + // Selector is an optional field that restricts the rule to only apply to traffic that originates from + // (or terminates at) a pod running as a service account that matches the given label selector. + // If both Names and Selector are specified then they are AND'ed. + Selector *string `json:"selector,omitempty"` +} + +// ServiceAccountMatchApplyConfiguration constructs a declarative configuration of the ServiceAccountMatch type for use with +// apply. +func ServiceAccountMatch() *ServiceAccountMatchApplyConfiguration { + return &ServiceAccountMatchApplyConfiguration{} +} + +// WithNames adds the given value to the Names field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Names field. +func (b *ServiceAccountMatchApplyConfiguration) WithNames(values ...string) *ServiceAccountMatchApplyConfiguration { + for i := range values { + b.Names = append(b.Names, values[i]) + } + return b +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *ServiceAccountMatchApplyConfiguration) WithSelector(value string) *ServiceAccountMatchApplyConfiguration { + b.Selector = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceclusteripblock.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceclusteripblock.go new file mode 100644 index 00000000..ecf533df --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceclusteripblock.go @@ -0,0 +1,27 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ServiceClusterIPBlockApplyConfiguration represents a declarative configuration of the ServiceClusterIPBlock type for use +// with apply. +// +// ServiceClusterIPBlock represents a single allowed ClusterIP CIDR block. +type ServiceClusterIPBlockApplyConfiguration struct { + CIDR *string `json:"cidr,omitempty"` +} + +// ServiceClusterIPBlockApplyConfiguration constructs a declarative configuration of the ServiceClusterIPBlock type for use with +// apply. +func ServiceClusterIPBlock() *ServiceClusterIPBlockApplyConfiguration { + return &ServiceClusterIPBlockApplyConfiguration{} +} + +// WithCIDR sets the CIDR field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CIDR field is set to the value of the last call. +func (b *ServiceClusterIPBlockApplyConfiguration) WithCIDR(value string) *ServiceClusterIPBlockApplyConfiguration { + b.CIDR = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceexternalipblock.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceexternalipblock.go new file mode 100644 index 00000000..51642f9c --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceexternalipblock.go @@ -0,0 +1,27 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ServiceExternalIPBlockApplyConfiguration represents a declarative configuration of the ServiceExternalIPBlock type for use +// with apply. +// +// ServiceExternalIPBlock represents a single allowed External IP CIDR block. +type ServiceExternalIPBlockApplyConfiguration struct { + CIDR *string `json:"cidr,omitempty"` +} + +// ServiceExternalIPBlockApplyConfiguration constructs a declarative configuration of the ServiceExternalIPBlock type for use with +// apply. +func ServiceExternalIPBlock() *ServiceExternalIPBlockApplyConfiguration { + return &ServiceExternalIPBlockApplyConfiguration{} +} + +// WithCIDR sets the CIDR field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CIDR field is set to the value of the last call. +func (b *ServiceExternalIPBlockApplyConfiguration) WithCIDR(value string) *ServiceExternalIPBlockApplyConfiguration { + b.CIDR = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceloadbalanceripblock.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceloadbalanceripblock.go new file mode 100644 index 00000000..2e0f9f97 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/serviceloadbalanceripblock.go @@ -0,0 +1,27 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ServiceLoadBalancerIPBlockApplyConfiguration represents a declarative configuration of the ServiceLoadBalancerIPBlock type for use +// with apply. +// +// ServiceLoadBalancerIPBlock represents a single allowed LoadBalancer IP CIDR block. +type ServiceLoadBalancerIPBlockApplyConfiguration struct { + CIDR *string `json:"cidr,omitempty"` +} + +// ServiceLoadBalancerIPBlockApplyConfiguration constructs a declarative configuration of the ServiceLoadBalancerIPBlock type for use with +// apply. +func ServiceLoadBalancerIPBlock() *ServiceLoadBalancerIPBlockApplyConfiguration { + return &ServiceLoadBalancerIPBlockApplyConfiguration{} +} + +// WithCIDR sets the CIDR field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CIDR field is set to the value of the last call. +func (b *ServiceLoadBalancerIPBlockApplyConfiguration) WithCIDR(value string) *ServiceLoadBalancerIPBlockApplyConfiguration { + b.CIDR = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/servicematch.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/servicematch.go new file mode 100644 index 00000000..206abd11 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/servicematch.go @@ -0,0 +1,37 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ServiceMatchApplyConfiguration represents a declarative configuration of the ServiceMatch type for use +// with apply. +type ServiceMatchApplyConfiguration struct { + // Name specifies the name of a Kubernetes Service to match. + Name *string `json:"name,omitempty"` + // Namespace specifies the namespace of the given Service. If left empty, the rule + // will match within this policy's namespace. + Namespace *string `json:"namespace,omitempty"` +} + +// ServiceMatchApplyConfiguration constructs a declarative configuration of the ServiceMatch type for use with +// apply. +func ServiceMatch() *ServiceMatchApplyConfiguration { + return &ServiceMatchApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *ServiceMatchApplyConfiguration) WithName(value string) *ServiceMatchApplyConfiguration { + b.Name = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *ServiceMatchApplyConfiguration) WithNamespace(value string) *ServiceMatchApplyConfiguration { + b.Namespace = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedglobalnetworkpolicy.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedglobalnetworkpolicy.go new file mode 100644 index 00000000..8e2a2eb1 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedglobalnetworkpolicy.go @@ -0,0 +1,258 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// StagedGlobalNetworkPolicyApplyConfiguration represents a declarative configuration of the StagedGlobalNetworkPolicy type for use +// with apply. +// +// StagedGlobalNetworkPolicy is a staged GlobalNetworkPolicy. +type StagedGlobalNetworkPolicyApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *StagedGlobalNetworkPolicySpecApplyConfiguration `json:"spec,omitempty"` +} + +// StagedGlobalNetworkPolicy constructs a declarative configuration of the StagedGlobalNetworkPolicy type for use with +// apply. +func StagedGlobalNetworkPolicy(name string) *StagedGlobalNetworkPolicyApplyConfiguration { + b := &StagedGlobalNetworkPolicyApplyConfiguration{} + b.WithName(name) + b.WithKind("StagedGlobalNetworkPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractStagedGlobalNetworkPolicyFrom extracts the applied configuration owned by fieldManager from +// stagedGlobalNetworkPolicy for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// stagedGlobalNetworkPolicy must be a unmodified StagedGlobalNetworkPolicy API object that was retrieved from the Kubernetes API. +// ExtractStagedGlobalNetworkPolicyFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractStagedGlobalNetworkPolicyFrom(stagedGlobalNetworkPolicy *projectcalicov3.StagedGlobalNetworkPolicy, fieldManager string, subresource string) (*StagedGlobalNetworkPolicyApplyConfiguration, error) { + b := &StagedGlobalNetworkPolicyApplyConfiguration{} + err := managedfields.ExtractInto(stagedGlobalNetworkPolicy, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.StagedGlobalNetworkPolicy"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(stagedGlobalNetworkPolicy.Name) + + b.WithKind("StagedGlobalNetworkPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractStagedGlobalNetworkPolicy extracts the applied configuration owned by fieldManager from +// stagedGlobalNetworkPolicy. If no managedFields are found in stagedGlobalNetworkPolicy for fieldManager, a +// StagedGlobalNetworkPolicyApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// stagedGlobalNetworkPolicy must be a unmodified StagedGlobalNetworkPolicy API object that was retrieved from the Kubernetes API. +// ExtractStagedGlobalNetworkPolicy provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractStagedGlobalNetworkPolicy(stagedGlobalNetworkPolicy *projectcalicov3.StagedGlobalNetworkPolicy, fieldManager string) (*StagedGlobalNetworkPolicyApplyConfiguration, error) { + return ExtractStagedGlobalNetworkPolicyFrom(stagedGlobalNetworkPolicy, fieldManager, "") +} + +func (b StagedGlobalNetworkPolicyApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithKind(value string) *StagedGlobalNetworkPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithAPIVersion(value string) *StagedGlobalNetworkPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithName(value string) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithGenerateName(value string) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithNamespace(value string) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithUID(value types.UID) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithResourceVersion(value string) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithGeneration(value int64) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithCreationTimestamp(value metav1.Time) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithLabels(entries map[string]string) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithAnnotations(entries map[string]string) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithFinalizers(values ...string) *StagedGlobalNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *StagedGlobalNetworkPolicyApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) WithSpec(value *StagedGlobalNetworkPolicySpecApplyConfiguration) *StagedGlobalNetworkPolicyApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *StagedGlobalNetworkPolicyApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedglobalnetworkpolicyspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedglobalnetworkpolicyspec.go new file mode 100644 index 00000000..ff26200f --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedglobalnetworkpolicyspec.go @@ -0,0 +1,223 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// StagedGlobalNetworkPolicySpecApplyConfiguration represents a declarative configuration of the StagedGlobalNetworkPolicySpec type for use +// with apply. +type StagedGlobalNetworkPolicySpecApplyConfiguration struct { + // The staged action. If this is omitted, the default is Set. + StagedAction *projectcalicov3.StagedAction `json:"stagedAction,omitempty"` + // The name of the tier that this policy belongs to. If this is omitted, the default + // tier (name is "default") is assumed. The specified tier must exist in order to create + // security policies within the tier, the "default" tier is created automatically if it + // does not exist, this means for deployments requiring only a single Tier, the tier name + // may be omitted on all policy management requests. + Tier *string `json:"tier,omitempty"` + // Order is an optional field that specifies the order in which the policy is applied. + // Policies with higher "order" are applied after those with lower + // order within the same tier. If the order is omitted, it may be considered to be "infinite" - i.e. the + // policy will be applied last. Policies with identical order will be applied in + // alphanumerical order based on the Policy "Name" within the tier. + Order *float64 `json:"order,omitempty"` + // The ordered set of ingress rules. Each rule contains a set of packet match criteria and + // a corresponding action to apply. + Ingress []RuleApplyConfiguration `json:"ingress,omitempty"` + // The ordered set of egress rules. Each rule contains a set of packet match criteria and + // a corresponding action to apply. + Egress []RuleApplyConfiguration `json:"egress,omitempty"` + // The selector is an expression used to pick pick out the endpoints that the policy should + // be applied to. + // + // Selector expressions follow this syntax: + // + // label == "string_literal" -> comparison, e.g. my_label == "foo bar" + // label != "string_literal" -> not equal; also matches if label is not present + // label in { "a", "b", "c", ... } -> true if the value of label X is one of "a", "b", "c" + // label not in { "a", "b", "c", ... } -> true if the value of label X is not one of "a", "b", "c" + // has(label_name) -> True if that label is present + // ! expr -> negation of expr + // expr && expr -> Short-circuit and + // expr || expr -> Short-circuit or + // ( expr ) -> parens for grouping + // all() or the empty selector -> matches all endpoints. + // + // Label names are allowed to contain alphanumerics, -, _ and /. String literals are more permissive + // but they do not support escape characters. + // + // Examples (with made-up labels): + // + // type == "webserver" && deployment == "prod" + // type in {"frontend", "backend"} + // deployment != "dev" + // ! has(label_name) + Selector *string `json:"selector,omitempty"` + // Types indicates whether this policy applies to ingress, or to egress, or to both. When + // not explicitly specified (and so the value on creation is empty or nil), Calico defaults + // Types according to what Ingress and Egress rules are present in the policy. The + // default is: + // + // - [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are + // also no Ingress rules) + // + // - [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules + // + // - [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules. + // + // When the policy is read back again, Types will always be one of these values, never empty + // or nil. + Types []projectcalicov3.PolicyType `json:"types,omitempty"` + // DoNotTrack indicates whether packets matched by the rules in this policy should go through + // the data plane's connection tracking, such as Linux conntrack. If True, the rules in + // this policy are applied before any data plane connection tracking, and packets allowed by + // this policy are marked as not to be tracked. + DoNotTrack *bool `json:"doNotTrack,omitempty"` + // PreDNAT indicates to apply the rules in this policy before any DNAT. + PreDNAT *bool `json:"preDNAT,omitempty"` + // ApplyOnForward indicates to apply the rules in this policy on forward traffic. + ApplyOnForward *bool `json:"applyOnForward,omitempty"` + // ServiceAccountSelector is an optional field for an expression used to select a pod based on service accounts. + ServiceAccountSelector *string `json:"serviceAccountSelector,omitempty"` + // NamespaceSelector is an optional field for an expression used to select a pod based on namespaces. + NamespaceSelector *string `json:"namespaceSelector,omitempty"` + // PerformanceHints contains a list of hints to Calico's policy engine to + // help process the policy more efficiently. Hints never change the + // enforcement behaviour of the policy. + // + // Currently, the only available hint is "AssumeNeededOnEveryNode". When + // that hint is set on a policy, Felix will act as if the policy matches + // a local endpoint even if it does not. This is useful for "preloading" + // any large static policies that are known to be used on every node. + // If the policy is _not_ used on a particular node then the work + // done to preload the policy (and to maintain it) is wasted. + PerformanceHints []projectcalicov3.PolicyPerformanceHint `json:"performanceHints,omitempty"` +} + +// StagedGlobalNetworkPolicySpecApplyConfiguration constructs a declarative configuration of the StagedGlobalNetworkPolicySpec type for use with +// apply. +func StagedGlobalNetworkPolicySpec() *StagedGlobalNetworkPolicySpecApplyConfiguration { + return &StagedGlobalNetworkPolicySpecApplyConfiguration{} +} + +// WithStagedAction sets the StagedAction field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StagedAction field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithStagedAction(value projectcalicov3.StagedAction) *StagedGlobalNetworkPolicySpecApplyConfiguration { + b.StagedAction = &value + return b +} + +// WithTier sets the Tier field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Tier field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithTier(value string) *StagedGlobalNetworkPolicySpecApplyConfiguration { + b.Tier = &value + return b +} + +// WithOrder sets the Order field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Order field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithOrder(value float64) *StagedGlobalNetworkPolicySpecApplyConfiguration { + b.Order = &value + return b +} + +// WithIngress adds the given value to the Ingress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Ingress field. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithIngress(values ...*RuleApplyConfiguration) *StagedGlobalNetworkPolicySpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithIngress") + } + b.Ingress = append(b.Ingress, *values[i]) + } + return b +} + +// WithEgress adds the given value to the Egress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Egress field. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithEgress(values ...*RuleApplyConfiguration) *StagedGlobalNetworkPolicySpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithEgress") + } + b.Egress = append(b.Egress, *values[i]) + } + return b +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithSelector(value string) *StagedGlobalNetworkPolicySpecApplyConfiguration { + b.Selector = &value + return b +} + +// WithTypes adds the given value to the Types field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Types field. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithTypes(values ...projectcalicov3.PolicyType) *StagedGlobalNetworkPolicySpecApplyConfiguration { + for i := range values { + b.Types = append(b.Types, values[i]) + } + return b +} + +// WithDoNotTrack sets the DoNotTrack field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DoNotTrack field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithDoNotTrack(value bool) *StagedGlobalNetworkPolicySpecApplyConfiguration { + b.DoNotTrack = &value + return b +} + +// WithPreDNAT sets the PreDNAT field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PreDNAT field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithPreDNAT(value bool) *StagedGlobalNetworkPolicySpecApplyConfiguration { + b.PreDNAT = &value + return b +} + +// WithApplyOnForward sets the ApplyOnForward field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ApplyOnForward field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithApplyOnForward(value bool) *StagedGlobalNetworkPolicySpecApplyConfiguration { + b.ApplyOnForward = &value + return b +} + +// WithServiceAccountSelector sets the ServiceAccountSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ServiceAccountSelector field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithServiceAccountSelector(value string) *StagedGlobalNetworkPolicySpecApplyConfiguration { + b.ServiceAccountSelector = &value + return b +} + +// WithNamespaceSelector sets the NamespaceSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NamespaceSelector field is set to the value of the last call. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithNamespaceSelector(value string) *StagedGlobalNetworkPolicySpecApplyConfiguration { + b.NamespaceSelector = &value + return b +} + +// WithPerformanceHints adds the given value to the PerformanceHints field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the PerformanceHints field. +func (b *StagedGlobalNetworkPolicySpecApplyConfiguration) WithPerformanceHints(values ...projectcalicov3.PolicyPerformanceHint) *StagedGlobalNetworkPolicySpecApplyConfiguration { + for i := range values { + b.PerformanceHints = append(b.PerformanceHints, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedkubernetesnetworkpolicy.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedkubernetesnetworkpolicy.go new file mode 100644 index 00000000..d2319194 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedkubernetesnetworkpolicy.go @@ -0,0 +1,260 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// StagedKubernetesNetworkPolicyApplyConfiguration represents a declarative configuration of the StagedKubernetesNetworkPolicy type for use +// with apply. +// +// StagedKubernetesNetworkPolicy is a staged GlobalNetworkPolicy. +type StagedKubernetesNetworkPolicyApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *StagedKubernetesNetworkPolicySpecApplyConfiguration `json:"spec,omitempty"` +} + +// StagedKubernetesNetworkPolicy constructs a declarative configuration of the StagedKubernetesNetworkPolicy type for use with +// apply. +func StagedKubernetesNetworkPolicy(name, namespace string) *StagedKubernetesNetworkPolicyApplyConfiguration { + b := &StagedKubernetesNetworkPolicyApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("StagedKubernetesNetworkPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractStagedKubernetesNetworkPolicyFrom extracts the applied configuration owned by fieldManager from +// stagedKubernetesNetworkPolicy for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// stagedKubernetesNetworkPolicy must be a unmodified StagedKubernetesNetworkPolicy API object that was retrieved from the Kubernetes API. +// ExtractStagedKubernetesNetworkPolicyFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractStagedKubernetesNetworkPolicyFrom(stagedKubernetesNetworkPolicy *projectcalicov3.StagedKubernetesNetworkPolicy, fieldManager string, subresource string) (*StagedKubernetesNetworkPolicyApplyConfiguration, error) { + b := &StagedKubernetesNetworkPolicyApplyConfiguration{} + err := managedfields.ExtractInto(stagedKubernetesNetworkPolicy, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.StagedKubernetesNetworkPolicy"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(stagedKubernetesNetworkPolicy.Name) + b.WithNamespace(stagedKubernetesNetworkPolicy.Namespace) + + b.WithKind("StagedKubernetesNetworkPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractStagedKubernetesNetworkPolicy extracts the applied configuration owned by fieldManager from +// stagedKubernetesNetworkPolicy. If no managedFields are found in stagedKubernetesNetworkPolicy for fieldManager, a +// StagedKubernetesNetworkPolicyApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// stagedKubernetesNetworkPolicy must be a unmodified StagedKubernetesNetworkPolicy API object that was retrieved from the Kubernetes API. +// ExtractStagedKubernetesNetworkPolicy provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractStagedKubernetesNetworkPolicy(stagedKubernetesNetworkPolicy *projectcalicov3.StagedKubernetesNetworkPolicy, fieldManager string) (*StagedKubernetesNetworkPolicyApplyConfiguration, error) { + return ExtractStagedKubernetesNetworkPolicyFrom(stagedKubernetesNetworkPolicy, fieldManager, "") +} + +func (b StagedKubernetesNetworkPolicyApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithKind(value string) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithAPIVersion(value string) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithName(value string) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithGenerateName(value string) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithNamespace(value string) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithUID(value types.UID) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithResourceVersion(value string) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithGeneration(value int64) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithCreationTimestamp(value metav1.Time) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithLabels(entries map[string]string) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithAnnotations(entries map[string]string) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithFinalizers(values ...string) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) WithSpec(value *StagedKubernetesNetworkPolicySpecApplyConfiguration) *StagedKubernetesNetworkPolicyApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *StagedKubernetesNetworkPolicyApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedkubernetesnetworkpolicyspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedkubernetesnetworkpolicyspec.go new file mode 100644 index 00000000..d733776a --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagedkubernetesnetworkpolicyspec.go @@ -0,0 +1,104 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + networkingv1 "k8s.io/api/networking/v1" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// StagedKubernetesNetworkPolicySpecApplyConfiguration represents a declarative configuration of the StagedKubernetesNetworkPolicySpec type for use +// with apply. +type StagedKubernetesNetworkPolicySpecApplyConfiguration struct { + // The staged action. If this is omitted, the default is Set. + StagedAction *projectcalicov3.StagedAction `json:"stagedAction,omitempty"` + // Selects the pods to which this NetworkPolicy object applies. The array of + // ingress rules is applied to any pods selected by this field. Multiple network + // policies can select the same set of pods. In this case, the ingress rules for + // each are combined additively. This field is NOT optional and follows standard + // label selector semantics. An empty podSelector matches all pods in this + // namespace. + PodSelector *v1.LabelSelectorApplyConfiguration `json:"podSelector,omitempty"` + // List of ingress rules to be applied to the selected pods. Traffic is allowed to + // a pod if there are no NetworkPolicies selecting the pod + // (and cluster policy otherwise allows the traffic), OR if the traffic source is + // the pod's local node, OR if the traffic matches at least one ingress rule + // across all of the NetworkPolicy objects whose podSelector matches the pod. If + // this field is empty then this NetworkPolicy does not allow any traffic (and serves + // solely to ensure that the pods it selects are isolated by default) + Ingress []networkingv1.NetworkPolicyIngressRule `json:"ingress,omitempty"` + // List of egress rules to be applied to the selected pods. Outgoing traffic is + // allowed if there are no NetworkPolicies selecting the pod (and cluster policy + // otherwise allows the traffic), OR if the traffic matches at least one egress rule + // across all of the NetworkPolicy objects whose podSelector matches the pod. If + // this field is empty then this NetworkPolicy limits all outgoing traffic (and serves + // solely to ensure that the pods it selects are isolated by default). + // This field is beta-level in 1.8 + Egress []networkingv1.NetworkPolicyEgressRule `json:"egress,omitempty"` + // List of rule types that the NetworkPolicy relates to. + // Valid options are Ingress, Egress, or Ingress,Egress. + // If this field is not specified, it will default based on the existence of Ingress or Egress rules; + // policies that contain an Egress section are assumed to affect Egress, and all policies + // (whether or not they contain an Ingress section) are assumed to affect Ingress. + // If you want to write an egress-only policy, you must explicitly specify policyTypes [ "Egress" ]. + // Likewise, if you want to write a policy that specifies that no egress is allowed, + // you must specify a policyTypes value that include "Egress" (since such a policy would not include + // an Egress section and would otherwise default to just [ "Ingress" ]). + // This field is beta-level in 1.8 + PolicyTypes []networkingv1.PolicyType `json:"policyTypes,omitempty"` +} + +// StagedKubernetesNetworkPolicySpecApplyConfiguration constructs a declarative configuration of the StagedKubernetesNetworkPolicySpec type for use with +// apply. +func StagedKubernetesNetworkPolicySpec() *StagedKubernetesNetworkPolicySpecApplyConfiguration { + return &StagedKubernetesNetworkPolicySpecApplyConfiguration{} +} + +// WithStagedAction sets the StagedAction field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StagedAction field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicySpecApplyConfiguration) WithStagedAction(value projectcalicov3.StagedAction) *StagedKubernetesNetworkPolicySpecApplyConfiguration { + b.StagedAction = &value + return b +} + +// WithPodSelector sets the PodSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PodSelector field is set to the value of the last call. +func (b *StagedKubernetesNetworkPolicySpecApplyConfiguration) WithPodSelector(value *v1.LabelSelectorApplyConfiguration) *StagedKubernetesNetworkPolicySpecApplyConfiguration { + b.PodSelector = value + return b +} + +// WithIngress adds the given value to the Ingress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Ingress field. +func (b *StagedKubernetesNetworkPolicySpecApplyConfiguration) WithIngress(values ...networkingv1.NetworkPolicyIngressRule) *StagedKubernetesNetworkPolicySpecApplyConfiguration { + for i := range values { + b.Ingress = append(b.Ingress, values[i]) + } + return b +} + +// WithEgress adds the given value to the Egress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Egress field. +func (b *StagedKubernetesNetworkPolicySpecApplyConfiguration) WithEgress(values ...networkingv1.NetworkPolicyEgressRule) *StagedKubernetesNetworkPolicySpecApplyConfiguration { + for i := range values { + b.Egress = append(b.Egress, values[i]) + } + return b +} + +// WithPolicyTypes adds the given value to the PolicyTypes field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the PolicyTypes field. +func (b *StagedKubernetesNetworkPolicySpecApplyConfiguration) WithPolicyTypes(values ...networkingv1.PolicyType) *StagedKubernetesNetworkPolicySpecApplyConfiguration { + for i := range values { + b.PolicyTypes = append(b.PolicyTypes, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/stagednetworkpolicy.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagednetworkpolicy.go new file mode 100644 index 00000000..9a6ca986 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagednetworkpolicy.go @@ -0,0 +1,261 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// StagedNetworkPolicyApplyConfiguration represents a declarative configuration of the StagedNetworkPolicy type for use +// with apply. +// +// StagedNetworkPolicy is a staged NetworkPolicy. +// StagedNetworkPolicy is the Namespaced-equivalent of the StagedGlobalNetworkPolicy. +type StagedNetworkPolicyApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *StagedNetworkPolicySpecApplyConfiguration `json:"spec,omitempty"` +} + +// StagedNetworkPolicy constructs a declarative configuration of the StagedNetworkPolicy type for use with +// apply. +func StagedNetworkPolicy(name, namespace string) *StagedNetworkPolicyApplyConfiguration { + b := &StagedNetworkPolicyApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("StagedNetworkPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractStagedNetworkPolicyFrom extracts the applied configuration owned by fieldManager from +// stagedNetworkPolicy for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// stagedNetworkPolicy must be a unmodified StagedNetworkPolicy API object that was retrieved from the Kubernetes API. +// ExtractStagedNetworkPolicyFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractStagedNetworkPolicyFrom(stagedNetworkPolicy *projectcalicov3.StagedNetworkPolicy, fieldManager string, subresource string) (*StagedNetworkPolicyApplyConfiguration, error) { + b := &StagedNetworkPolicyApplyConfiguration{} + err := managedfields.ExtractInto(stagedNetworkPolicy, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.StagedNetworkPolicy"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(stagedNetworkPolicy.Name) + b.WithNamespace(stagedNetworkPolicy.Namespace) + + b.WithKind("StagedNetworkPolicy") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractStagedNetworkPolicy extracts the applied configuration owned by fieldManager from +// stagedNetworkPolicy. If no managedFields are found in stagedNetworkPolicy for fieldManager, a +// StagedNetworkPolicyApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// stagedNetworkPolicy must be a unmodified StagedNetworkPolicy API object that was retrieved from the Kubernetes API. +// ExtractStagedNetworkPolicy provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractStagedNetworkPolicy(stagedNetworkPolicy *projectcalicov3.StagedNetworkPolicy, fieldManager string) (*StagedNetworkPolicyApplyConfiguration, error) { + return ExtractStagedNetworkPolicyFrom(stagedNetworkPolicy, fieldManager, "") +} + +func (b StagedNetworkPolicyApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithKind(value string) *StagedNetworkPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithAPIVersion(value string) *StagedNetworkPolicyApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithName(value string) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithGenerateName(value string) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithNamespace(value string) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithUID(value types.UID) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithResourceVersion(value string) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithGeneration(value int64) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithCreationTimestamp(value metav1.Time) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *StagedNetworkPolicyApplyConfiguration) WithLabels(entries map[string]string) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *StagedNetworkPolicyApplyConfiguration) WithAnnotations(entries map[string]string) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *StagedNetworkPolicyApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *StagedNetworkPolicyApplyConfiguration) WithFinalizers(values ...string) *StagedNetworkPolicyApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *StagedNetworkPolicyApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *StagedNetworkPolicyApplyConfiguration) WithSpec(value *StagedNetworkPolicySpecApplyConfiguration) *StagedNetworkPolicyApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *StagedNetworkPolicyApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *StagedNetworkPolicyApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *StagedNetworkPolicyApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *StagedNetworkPolicyApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/stagednetworkpolicyspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagednetworkpolicyspec.go new file mode 100644 index 00000000..057a04a7 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/stagednetworkpolicyspec.go @@ -0,0 +1,180 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// StagedNetworkPolicySpecApplyConfiguration represents a declarative configuration of the StagedNetworkPolicySpec type for use +// with apply. +type StagedNetworkPolicySpecApplyConfiguration struct { + // The staged action. If this is omitted, the default is Set. + StagedAction *projectcalicov3.StagedAction `json:"stagedAction,omitempty"` + // The name of the tier that this policy belongs to. If this is omitted, the default + // tier (name is "default") is assumed. The specified tier must exist in order to create + // security policies within the tier, the "default" tier is created automatically if it + // does not exist, this means for deployments requiring only a single Tier, the tier name + // may be omitted on all policy management requests. + Tier *string `json:"tier,omitempty"` + // Order is an optional field that specifies the order in which the policy is applied. + // Policies with higher "order" are applied after those with lower + // order within the same tier. If the order is omitted, it may be considered to be "infinite" - i.e. the + // policy will be applied last. Policies with identical order will be applied in + // alphanumerical order based on the Policy "Name" within the tier. + Order *float64 `json:"order,omitempty"` + // The ordered set of ingress rules. Each rule contains a set of packet match criteria and + // a corresponding action to apply. + Ingress []RuleApplyConfiguration `json:"ingress,omitempty"` + // The ordered set of egress rules. Each rule contains a set of packet match criteria and + // a corresponding action to apply. + Egress []RuleApplyConfiguration `json:"egress,omitempty"` + // The selector is an expression used to pick pick out the endpoints that the policy should + // be applied to. + // + // Selector expressions follow this syntax: + // + // label == "string_literal" -> comparison, e.g. my_label == "foo bar" + // label != "string_literal" -> not equal; also matches if label is not present + // label in { "a", "b", "c", ... } -> true if the value of label X is one of "a", "b", "c" + // label not in { "a", "b", "c", ... } -> true if the value of label X is not one of "a", "b", "c" + // has(label_name) -> True if that label is present + // ! expr -> negation of expr + // expr && expr -> Short-circuit and + // expr || expr -> Short-circuit or + // ( expr ) -> parens for grouping + // all() or the empty selector -> matches all endpoints. + // + // Label names are allowed to contain alphanumerics, -, _ and /. String literals are more permissive + // but they do not support escape characters. + // + // Examples (with made-up labels): + // + // type == "webserver" && deployment == "prod" + // type in {"frontend", "backend"} + // deployment != "dev" + // ! has(label_name) + Selector *string `json:"selector,omitempty"` + // Types indicates whether this policy applies to ingress, or to egress, or to both. When + // not explicitly specified (and so the value on creation is empty or nil), Calico defaults + // Types according to what Ingress and Egress are present in the policy. The + // default is: + // + // - [ PolicyTypeIngress ], if there are no Egress rules (including the case where there are + // also no Ingress rules) + // + // - [ PolicyTypeEgress ], if there are Egress rules but no Ingress rules + // + // - [ PolicyTypeIngress, PolicyTypeEgress ], if there are both Ingress and Egress rules. + // + // When the policy is read back again, Types will always be one of these values, never empty + // or nil. + Types []projectcalicov3.PolicyType `json:"types,omitempty"` + // ServiceAccountSelector is an optional field for an expression used to select a pod based on service accounts. + ServiceAccountSelector *string `json:"serviceAccountSelector,omitempty"` + // PerformanceHints contains a list of hints to Calico's policy engine to + // help process the policy more efficiently. Hints never change the + // enforcement behaviour of the policy. + // + // Currently, the only available hint is "AssumeNeededOnEveryNode". When + // that hint is set on a policy, Felix will act as if the policy matches + // a local endpoint even if it does not. This is useful for "preloading" + // any large static policies that are known to be used on every node. + // If the policy is _not_ used on a particular node then the work + // done to preload the policy (and to maintain it) is wasted. + PerformanceHints []projectcalicov3.PolicyPerformanceHint `json:"performanceHints,omitempty"` +} + +// StagedNetworkPolicySpecApplyConfiguration constructs a declarative configuration of the StagedNetworkPolicySpec type for use with +// apply. +func StagedNetworkPolicySpec() *StagedNetworkPolicySpecApplyConfiguration { + return &StagedNetworkPolicySpecApplyConfiguration{} +} + +// WithStagedAction sets the StagedAction field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StagedAction field is set to the value of the last call. +func (b *StagedNetworkPolicySpecApplyConfiguration) WithStagedAction(value projectcalicov3.StagedAction) *StagedNetworkPolicySpecApplyConfiguration { + b.StagedAction = &value + return b +} + +// WithTier sets the Tier field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Tier field is set to the value of the last call. +func (b *StagedNetworkPolicySpecApplyConfiguration) WithTier(value string) *StagedNetworkPolicySpecApplyConfiguration { + b.Tier = &value + return b +} + +// WithOrder sets the Order field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Order field is set to the value of the last call. +func (b *StagedNetworkPolicySpecApplyConfiguration) WithOrder(value float64) *StagedNetworkPolicySpecApplyConfiguration { + b.Order = &value + return b +} + +// WithIngress adds the given value to the Ingress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Ingress field. +func (b *StagedNetworkPolicySpecApplyConfiguration) WithIngress(values ...*RuleApplyConfiguration) *StagedNetworkPolicySpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithIngress") + } + b.Ingress = append(b.Ingress, *values[i]) + } + return b +} + +// WithEgress adds the given value to the Egress field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Egress field. +func (b *StagedNetworkPolicySpecApplyConfiguration) WithEgress(values ...*RuleApplyConfiguration) *StagedNetworkPolicySpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithEgress") + } + b.Egress = append(b.Egress, *values[i]) + } + return b +} + +// WithSelector sets the Selector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Selector field is set to the value of the last call. +func (b *StagedNetworkPolicySpecApplyConfiguration) WithSelector(value string) *StagedNetworkPolicySpecApplyConfiguration { + b.Selector = &value + return b +} + +// WithTypes adds the given value to the Types field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Types field. +func (b *StagedNetworkPolicySpecApplyConfiguration) WithTypes(values ...projectcalicov3.PolicyType) *StagedNetworkPolicySpecApplyConfiguration { + for i := range values { + b.Types = append(b.Types, values[i]) + } + return b +} + +// WithServiceAccountSelector sets the ServiceAccountSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ServiceAccountSelector field is set to the value of the last call. +func (b *StagedNetworkPolicySpecApplyConfiguration) WithServiceAccountSelector(value string) *StagedNetworkPolicySpecApplyConfiguration { + b.ServiceAccountSelector = &value + return b +} + +// WithPerformanceHints adds the given value to the PerformanceHints field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the PerformanceHints field. +func (b *StagedNetworkPolicySpecApplyConfiguration) WithPerformanceHints(values ...projectcalicov3.PolicyPerformanceHint) *StagedNetworkPolicySpecApplyConfiguration { + for i := range values { + b.PerformanceHints = append(b.PerformanceHints, values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/template.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/template.go new file mode 100644 index 00000000..6d861a77 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/template.go @@ -0,0 +1,77 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// TemplateApplyConfiguration represents a declarative configuration of the Template type for use +// with apply. +type TemplateApplyConfiguration struct { + // GenerateName is appended to the end of the generated AutoHostEndpoint name + GenerateName *string `json:"generateName,omitempty"` + // InterfaceCIDRs contains a list of CIDRs used for matching nodeIPs to the AutoHostEndpoint. + // If specified, only addresses within these CIDRs will be included in the expected IPs. + // At least one of InterfaceCIDRs and InterfacePattern must be specified. + InterfaceCIDRs []string `json:"interfaceCIDRs,omitempty"` + // InterfacePattern contains a regex string to match Node interface names. If specified, a HostEndpoint will be created for each matching interface on each selected node. + // At least one of InterfaceCIDRs and InterfacePattern must be specified. + InterfacePattern *string `json:"interfacePattern,omitempty"` + // Labels adds the specified labels to the generated AutoHostEndpoint, labels from node with the same name will be overwritten by values from the template label + Labels map[string]string `json:"labels,omitempty"` + // NodeSelector allows the AutoHostEndpoint to be created only for specific nodes + NodeSelector *string `json:"nodeSelector,omitempty"` +} + +// TemplateApplyConfiguration constructs a declarative configuration of the Template type for use with +// apply. +func Template() *TemplateApplyConfiguration { + return &TemplateApplyConfiguration{} +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *TemplateApplyConfiguration) WithGenerateName(value string) *TemplateApplyConfiguration { + b.GenerateName = &value + return b +} + +// WithInterfaceCIDRs adds the given value to the InterfaceCIDRs field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the InterfaceCIDRs field. +func (b *TemplateApplyConfiguration) WithInterfaceCIDRs(values ...string) *TemplateApplyConfiguration { + for i := range values { + b.InterfaceCIDRs = append(b.InterfaceCIDRs, values[i]) + } + return b +} + +// WithInterfacePattern sets the InterfacePattern field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the InterfacePattern field is set to the value of the last call. +func (b *TemplateApplyConfiguration) WithInterfacePattern(value string) *TemplateApplyConfiguration { + b.InterfacePattern = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *TemplateApplyConfiguration) WithLabels(entries map[string]string) *TemplateApplyConfiguration { + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithNodeSelector sets the NodeSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NodeSelector field is set to the value of the last call. +func (b *TemplateApplyConfiguration) WithNodeSelector(value string) *TemplateApplyConfiguration { + b.NodeSelector = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformat.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformat.go new file mode 100644 index 00000000..0609aeb5 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformat.go @@ -0,0 +1,47 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// ThreatFeedFormatApplyConfiguration represents a declarative configuration of the ThreatFeedFormat type for use +// with apply. +type ThreatFeedFormatApplyConfiguration struct { + NewlineDelimited *projectcalicov3.ThreatFeedFormatNewlineDelimited `json:"newlineDelimited,omitempty"` + JSON *ThreatFeedFormatJSONApplyConfiguration `json:"json,omitempty"` + CSV *ThreatFeedFormatCSVApplyConfiguration `json:"csv,omitempty"` +} + +// ThreatFeedFormatApplyConfiguration constructs a declarative configuration of the ThreatFeedFormat type for use with +// apply. +func ThreatFeedFormat() *ThreatFeedFormatApplyConfiguration { + return &ThreatFeedFormatApplyConfiguration{} +} + +// WithNewlineDelimited sets the NewlineDelimited field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the NewlineDelimited field is set to the value of the last call. +func (b *ThreatFeedFormatApplyConfiguration) WithNewlineDelimited(value projectcalicov3.ThreatFeedFormatNewlineDelimited) *ThreatFeedFormatApplyConfiguration { + b.NewlineDelimited = &value + return b +} + +// WithJSON sets the JSON field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the JSON field is set to the value of the last call. +func (b *ThreatFeedFormatApplyConfiguration) WithJSON(value *ThreatFeedFormatJSONApplyConfiguration) *ThreatFeedFormatApplyConfiguration { + b.JSON = value + return b +} + +// WithCSV sets the CSV field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CSV field is set to the value of the last call. +func (b *ThreatFeedFormatApplyConfiguration) WithCSV(value *ThreatFeedFormatCSVApplyConfiguration) *ThreatFeedFormatApplyConfiguration { + b.CSV = value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformatcsv.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformatcsv.go new file mode 100644 index 00000000..aa506fcc --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformatcsv.go @@ -0,0 +1,79 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ThreatFeedFormatCSVApplyConfiguration represents a declarative configuration of the ThreatFeedFormatCSV type for use +// with apply. +type ThreatFeedFormatCSVApplyConfiguration struct { + FieldNum *uint `json:"fieldNum,omitempty"` + FieldName *string `json:"fieldName,omitempty"` + Header *bool `json:"header,omitempty"` + ColumnDelimiter *string `json:"columnDelimiter,omitempty"` + CommentDelimiter *string `json:"commentDelimiter,omitempty"` + RecordSize *int `json:"recordSize,omitempty"` + DisableRecordSizeValidation *bool `json:"disableRecordSizeValidation,omitempty"` +} + +// ThreatFeedFormatCSVApplyConfiguration constructs a declarative configuration of the ThreatFeedFormatCSV type for use with +// apply. +func ThreatFeedFormatCSV() *ThreatFeedFormatCSVApplyConfiguration { + return &ThreatFeedFormatCSVApplyConfiguration{} +} + +// WithFieldNum sets the FieldNum field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FieldNum field is set to the value of the last call. +func (b *ThreatFeedFormatCSVApplyConfiguration) WithFieldNum(value uint) *ThreatFeedFormatCSVApplyConfiguration { + b.FieldNum = &value + return b +} + +// WithFieldName sets the FieldName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FieldName field is set to the value of the last call. +func (b *ThreatFeedFormatCSVApplyConfiguration) WithFieldName(value string) *ThreatFeedFormatCSVApplyConfiguration { + b.FieldName = &value + return b +} + +// WithHeader sets the Header field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Header field is set to the value of the last call. +func (b *ThreatFeedFormatCSVApplyConfiguration) WithHeader(value bool) *ThreatFeedFormatCSVApplyConfiguration { + b.Header = &value + return b +} + +// WithColumnDelimiter sets the ColumnDelimiter field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ColumnDelimiter field is set to the value of the last call. +func (b *ThreatFeedFormatCSVApplyConfiguration) WithColumnDelimiter(value string) *ThreatFeedFormatCSVApplyConfiguration { + b.ColumnDelimiter = &value + return b +} + +// WithCommentDelimiter sets the CommentDelimiter field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CommentDelimiter field is set to the value of the last call. +func (b *ThreatFeedFormatCSVApplyConfiguration) WithCommentDelimiter(value string) *ThreatFeedFormatCSVApplyConfiguration { + b.CommentDelimiter = &value + return b +} + +// WithRecordSize sets the RecordSize field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RecordSize field is set to the value of the last call. +func (b *ThreatFeedFormatCSVApplyConfiguration) WithRecordSize(value int) *ThreatFeedFormatCSVApplyConfiguration { + b.RecordSize = &value + return b +} + +// WithDisableRecordSizeValidation sets the DisableRecordSizeValidation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DisableRecordSizeValidation field is set to the value of the last call. +func (b *ThreatFeedFormatCSVApplyConfiguration) WithDisableRecordSizeValidation(value bool) *ThreatFeedFormatCSVApplyConfiguration { + b.DisableRecordSizeValidation = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformatjson.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformatjson.go new file mode 100644 index 00000000..39075d0e --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/threatfeedformatjson.go @@ -0,0 +1,25 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// ThreatFeedFormatJSONApplyConfiguration represents a declarative configuration of the ThreatFeedFormatJSON type for use +// with apply. +type ThreatFeedFormatJSONApplyConfiguration struct { + Path *string `json:"path,omitempty"` +} + +// ThreatFeedFormatJSONApplyConfiguration constructs a declarative configuration of the ThreatFeedFormatJSON type for use with +// apply. +func ThreatFeedFormatJSON() *ThreatFeedFormatJSONApplyConfiguration { + return &ThreatFeedFormatJSONApplyConfiguration{} +} + +// WithPath sets the Path field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Path field is set to the value of the last call. +func (b *ThreatFeedFormatJSONApplyConfiguration) WithPath(value string) *ThreatFeedFormatJSONApplyConfiguration { + b.Path = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/tier.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/tier.go new file mode 100644 index 00000000..a408738a --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/tier.go @@ -0,0 +1,275 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// TierApplyConfiguration represents a declarative configuration of the Tier type for use +// with apply. +// +// Tier contains a set of policies that are applied to packets. Multiple tiers may +// be created and each tier is applied in the order specified in the tier specification. +// Tier is globally-scoped (i.e. not Namespaced). +type TierApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *TierSpecApplyConfiguration `json:"spec,omitempty"` + Status *TierStatusApplyConfiguration `json:"status,omitempty"` +} + +// Tier constructs a declarative configuration of the Tier type for use with +// apply. +func Tier(name string) *TierApplyConfiguration { + b := &TierApplyConfiguration{} + b.WithName(name) + b.WithKind("Tier") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractTierFrom extracts the applied configuration owned by fieldManager from +// tier for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// tier must be a unmodified Tier API object that was retrieved from the Kubernetes API. +// ExtractTierFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractTierFrom(tier *projectcalicov3.Tier, fieldManager string, subresource string) (*TierApplyConfiguration, error) { + b := &TierApplyConfiguration{} + err := managedfields.ExtractInto(tier, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.Tier"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(tier.Name) + + b.WithKind("Tier") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractTier extracts the applied configuration owned by fieldManager from +// tier. If no managedFields are found in tier for fieldManager, a +// TierApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// tier must be a unmodified Tier API object that was retrieved from the Kubernetes API. +// ExtractTier provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractTier(tier *projectcalicov3.Tier, fieldManager string) (*TierApplyConfiguration, error) { + return ExtractTierFrom(tier, fieldManager, "") +} + +// ExtractTierStatus extracts the applied configuration owned by fieldManager from +// tier for the status subresource. +func ExtractTierStatus(tier *projectcalicov3.Tier, fieldManager string) (*TierApplyConfiguration, error) { + return ExtractTierFrom(tier, fieldManager, "status") +} + +func (b TierApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *TierApplyConfiguration) WithKind(value string) *TierApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *TierApplyConfiguration) WithAPIVersion(value string) *TierApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *TierApplyConfiguration) WithName(value string) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *TierApplyConfiguration) WithGenerateName(value string) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *TierApplyConfiguration) WithNamespace(value string) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *TierApplyConfiguration) WithUID(value types.UID) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *TierApplyConfiguration) WithResourceVersion(value string) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *TierApplyConfiguration) WithGeneration(value int64) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *TierApplyConfiguration) WithCreationTimestamp(value metav1.Time) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *TierApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *TierApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *TierApplyConfiguration) WithLabels(entries map[string]string) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *TierApplyConfiguration) WithAnnotations(entries map[string]string) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *TierApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *TierApplyConfiguration) WithFinalizers(values ...string) *TierApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *TierApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *TierApplyConfiguration) WithSpec(value *TierSpecApplyConfiguration) *TierApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *TierApplyConfiguration) WithStatus(value *TierStatusApplyConfiguration) *TierApplyConfiguration { + b.Status = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *TierApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *TierApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *TierApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *TierApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/tierspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/tierspec.go new file mode 100644 index 00000000..412a858f --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/tierspec.go @@ -0,0 +1,48 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" +) + +// TierSpecApplyConfiguration represents a declarative configuration of the TierSpec type for use +// with apply. +// +// TierSpec contains the specification for a security policy tier resource. +type TierSpecApplyConfiguration struct { + // Order is an optional field that specifies the order in which the tier is applied. + // Tiers with higher "order" are applied after those with lower order. If the order + // is omitted, it may be considered to be "infinite" - i.e. the tier will be applied + // last. Tiers with identical order will be applied in alphanumerical order based + // on the Tier "Name". + Order *float64 `json:"order,omitempty"` + // DefaultAction specifies the action applied to workloads selected by a policy in the tier, + // but not rule matched the workload's traffic. + // [Default: Deny] + DefaultAction *projectcalicov3.Action `json:"defaultAction,omitempty"` +} + +// TierSpecApplyConfiguration constructs a declarative configuration of the TierSpec type for use with +// apply. +func TierSpec() *TierSpecApplyConfiguration { + return &TierSpecApplyConfiguration{} +} + +// WithOrder sets the Order field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Order field is set to the value of the last call. +func (b *TierSpecApplyConfiguration) WithOrder(value float64) *TierSpecApplyConfiguration { + b.Order = &value + return b +} + +// WithDefaultAction sets the DefaultAction field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DefaultAction field is set to the value of the last call. +func (b *TierSpecApplyConfiguration) WithDefaultAction(value projectcalicov3.Action) *TierSpecApplyConfiguration { + b.DefaultAction = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/tierstatus.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/tierstatus.go new file mode 100644 index 00000000..877631e6 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/tierstatus.go @@ -0,0 +1,38 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// TierStatusApplyConfiguration represents a declarative configuration of the TierStatus type for use +// with apply. +// +// TierStatus contains the status of a Tier resource. +type TierStatusApplyConfiguration struct { + // Conditions represents the latest observed set of conditions for the resource. A tier with a + // "Ready" condition set to "True" is operating as expected. + Conditions []v1.ConditionApplyConfiguration `json:"conditions,omitempty"` +} + +// TierStatusApplyConfiguration constructs a declarative configuration of the TierStatus type for use with +// apply. +func TierStatus() *TierStatusApplyConfiguration { + return &TierStatusApplyConfiguration{} +} + +// WithConditions adds the given value to the Conditions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Conditions field. +func (b *TierStatusApplyConfiguration) WithConditions(values ...*v1.ConditionApplyConfiguration) *TierStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithConditions") + } + b.Conditions = append(b.Conditions, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/uidashboard.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/uidashboard.go new file mode 100644 index 00000000..c09cbd10 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/uidashboard.go @@ -0,0 +1,33 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// UIDashboardApplyConfiguration represents a declarative configuration of the UIDashboard type for use +// with apply. +// +// UIDashboard contains the data for a UI dashboard. +type UIDashboardApplyConfiguration struct { + // Array of dashboard data + DashboardData []DashboardDataApplyConfiguration `json:"dashboardData,omitempty"` +} + +// UIDashboardApplyConfiguration constructs a declarative configuration of the UIDashboard type for use with +// apply. +func UIDashboard() *UIDashboardApplyConfiguration { + return &UIDashboardApplyConfiguration{} +} + +// WithDashboardData adds the given value to the DashboardData field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the DashboardData field. +func (b *UIDashboardApplyConfiguration) WithDashboardData(values ...*DashboardDataApplyConfiguration) *UIDashboardApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithDashboardData") + } + b.DashboardData = append(b.DashboardData, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphlayer.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphlayer.go new file mode 100644 index 00000000..537b9cb1 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphlayer.go @@ -0,0 +1,53 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// UIGraphLayerApplyConfiguration represents a declarative configuration of the UIGraphLayer type for use +// with apply. +// +// UIGraphLayer contains the data for a UI graph layer. +type UIGraphLayerApplyConfiguration struct { + // The nodes that are aggregated into a single layer. + Nodes []UIGraphNodeApplyConfiguration `json:"nodes,omitempty"` + // A user-configurable icon. If not specified, the default layer icon is used for this layer node. + Icon *string `json:"icon,omitempty"` + // The color used to represent the layer when an Icon has not been specified. + Color *string `json:"color,omitempty"` +} + +// UIGraphLayerApplyConfiguration constructs a declarative configuration of the UIGraphLayer type for use with +// apply. +func UIGraphLayer() *UIGraphLayerApplyConfiguration { + return &UIGraphLayerApplyConfiguration{} +} + +// WithNodes adds the given value to the Nodes field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Nodes field. +func (b *UIGraphLayerApplyConfiguration) WithNodes(values ...*UIGraphNodeApplyConfiguration) *UIGraphLayerApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithNodes") + } + b.Nodes = append(b.Nodes, *values[i]) + } + return b +} + +// WithIcon sets the Icon field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Icon field is set to the value of the last call. +func (b *UIGraphLayerApplyConfiguration) WithIcon(value string) *UIGraphLayerApplyConfiguration { + b.Icon = &value + return b +} + +// WithColor sets the Color field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Color field is set to the value of the last call. +func (b *UIGraphLayerApplyConfiguration) WithColor(value string) *UIGraphLayerApplyConfiguration { + b.Color = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphnode.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphnode.go new file mode 100644 index 00000000..a8360271 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphnode.go @@ -0,0 +1,58 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// UIGraphNodeApplyConfiguration represents a declarative configuration of the UIGraphNode type for use +// with apply. +// +// UIGraphNode contains details about a graph node so that the UI can render it correctly. +type UIGraphNodeApplyConfiguration struct { + // The node ID. + ID *string `json:"id,omitempty"` + // The node type. + Type *string `json:"type,omitempty"` + // The node name. + Name *string `json:"name,omitempty"` + // The node namespace. + Namespace *string `json:"namespace,omitempty"` +} + +// UIGraphNodeApplyConfiguration constructs a declarative configuration of the UIGraphNode type for use with +// apply. +func UIGraphNode() *UIGraphNodeApplyConfiguration { + return &UIGraphNodeApplyConfiguration{} +} + +// WithID sets the ID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ID field is set to the value of the last call. +func (b *UIGraphNodeApplyConfiguration) WithID(value string) *UIGraphNodeApplyConfiguration { + b.ID = &value + return b +} + +// WithType sets the Type field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Type field is set to the value of the last call. +func (b *UIGraphNodeApplyConfiguration) WithType(value string) *UIGraphNodeApplyConfiguration { + b.Type = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *UIGraphNodeApplyConfiguration) WithName(value string) *UIGraphNodeApplyConfiguration { + b.Name = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *UIGraphNodeApplyConfiguration) WithNamespace(value string) *UIGraphNodeApplyConfiguration { + b.Namespace = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphnodeview.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphnodeview.go new file mode 100644 index 00000000..e53777c4 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphnodeview.go @@ -0,0 +1,124 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// UIGraphNodeViewApplyConfiguration represents a declarative configuration of the UIGraphNodeView type for use +// with apply. +// +// UIGraphNodeView contains the view configuration for a specific graph node. +type UIGraphNodeViewApplyConfiguration struct { + UIGraphNodeApplyConfiguration `json:",inline"` + // This node is a primary focus of the graph (i.e. the graph contains this node and connected nodes). + InFocus *bool `json:"inFocus,omitempty"` + // This node is expanded to the next level. This node can, for example, be a layer that is expanded into its + // constituent parts. + Expanded *bool `json:"expanded,omitempty"` + // Whether the ingress/egress connections to/from this node are included in the graph. This effectively brings + // more nodes into focus. + FollowIngress *bool `json:"followIngress,omitempty"` + FollowEgress *bool `json:"followEgress,omitempty"` + // Whether the UI should de-emphasize the node when visible. This is just a UI directive and does not correspond to + // a backend parameter. + Deemphasize *bool `json:"deemphasize,omitempty"` + // Whether the UI should hide the node. This is just a UI directive and does not correspond to a backend parameter. + Hide *bool `json:"hide,omitempty"` + // Whether the UI should hide unrelated nodes. This is just a UI directive and does not correspond to a backend + // parameter. + HideUnrelated *bool `json:"hideUnrelated,omitempty"` +} + +// UIGraphNodeViewApplyConfiguration constructs a declarative configuration of the UIGraphNodeView type for use with +// apply. +func UIGraphNodeView() *UIGraphNodeViewApplyConfiguration { + return &UIGraphNodeViewApplyConfiguration{} +} + +// WithID sets the ID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ID field is set to the value of the last call. +func (b *UIGraphNodeViewApplyConfiguration) WithID(value string) *UIGraphNodeViewApplyConfiguration { + b.UIGraphNodeApplyConfiguration.ID = &value + return b +} + +// WithType sets the Type field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Type field is set to the value of the last call. +func (b *UIGraphNodeViewApplyConfiguration) WithType(value string) *UIGraphNodeViewApplyConfiguration { + b.UIGraphNodeApplyConfiguration.Type = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *UIGraphNodeViewApplyConfiguration) WithName(value string) *UIGraphNodeViewApplyConfiguration { + b.UIGraphNodeApplyConfiguration.Name = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *UIGraphNodeViewApplyConfiguration) WithNamespace(value string) *UIGraphNodeViewApplyConfiguration { + b.UIGraphNodeApplyConfiguration.Namespace = &value + return b +} + +// WithInFocus sets the InFocus field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the InFocus field is set to the value of the last call. +func (b *UIGraphNodeViewApplyConfiguration) WithInFocus(value bool) *UIGraphNodeViewApplyConfiguration { + b.InFocus = &value + return b +} + +// WithExpanded sets the Expanded field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Expanded field is set to the value of the last call. +func (b *UIGraphNodeViewApplyConfiguration) WithExpanded(value bool) *UIGraphNodeViewApplyConfiguration { + b.Expanded = &value + return b +} + +// WithFollowIngress sets the FollowIngress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FollowIngress field is set to the value of the last call. +func (b *UIGraphNodeViewApplyConfiguration) WithFollowIngress(value bool) *UIGraphNodeViewApplyConfiguration { + b.FollowIngress = &value + return b +} + +// WithFollowEgress sets the FollowEgress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FollowEgress field is set to the value of the last call. +func (b *UIGraphNodeViewApplyConfiguration) WithFollowEgress(value bool) *UIGraphNodeViewApplyConfiguration { + b.FollowEgress = &value + return b +} + +// WithDeemphasize sets the Deemphasize field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Deemphasize field is set to the value of the last call. +func (b *UIGraphNodeViewApplyConfiguration) WithDeemphasize(value bool) *UIGraphNodeViewApplyConfiguration { + b.Deemphasize = &value + return b +} + +// WithHide sets the Hide field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Hide field is set to the value of the last call. +func (b *UIGraphNodeViewApplyConfiguration) WithHide(value bool) *UIGraphNodeViewApplyConfiguration { + b.Hide = &value + return b +} + +// WithHideUnrelated sets the HideUnrelated field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HideUnrelated field is set to the value of the last call. +func (b *UIGraphNodeViewApplyConfiguration) WithHideUnrelated(value bool) *UIGraphNodeViewApplyConfiguration { + b.HideUnrelated = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphview.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphview.go new file mode 100644 index 00000000..dcdba0bc --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/uigraphview.go @@ -0,0 +1,124 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// UIGraphViewApplyConfiguration represents a declarative configuration of the UIGraphView type for use +// with apply. +// +// UIGraphView contains the data for a UI graph view. +type UIGraphViewApplyConfiguration struct { + // Whether ports are expanded. If false, port information is aggregated. + ExpandPorts *bool `json:"expandPorts,omitempty"` + // Whether or not to automatically follow directly connected nodes. + FollowConnectionDirection *bool `json:"followConnectionDirection,omitempty"` + // Whether to split HostEndpoints, NetworkSets and Networks into separate ingress and egress nodes or to combine + // them. In a service-centric view, splitting these makes the graph clearer. This never splits pods which represent + // a true microservice which has ingress and egress connections. + SplitIngressEgress *bool `json:"splitIngressEgress,omitempty"` + // The set of selectors used to aggregate hosts (Kubernetes nodes). Nodes are aggregated based on the supplied set + // of selectors. In the case of overlapping selectors, the order specified in the slice is the order checked and so + // the first selector to match is used. The nodes will be aggregated into a graph node with the name specified in + // the NamedSelector. + HostAggregationSelectors []NamedSelectorApplyConfiguration `json:"hostAggregationSelectors,omitempty"` + // Layout type. Semi-arbitrary value used to specify the layout-type/algorithm. For example could specify + // different layout algorithms, or click-to-grid. Mostly here for future use. + LayoutType *string `json:"layoutType,omitempty"` + // Positions of graph nodes. + Positions []PositionApplyConfiguration `json:"positions,omitempty"` + // The set of layer names that are active in this view. Note that layers may be defined, but it is not necessary + // to have each layer "active". Corresponds directly to the name of the UISettings resource that contains a layer + // definition. + Layers []string `json:"layers,omitempty"` + // Graph node specific view data. This provides information about what is in focus, expanded, hidden, + // deemphasized etc. at a per-node level. + Nodes []UIGraphNodeViewApplyConfiguration `json:"nodes,omitempty"` +} + +// UIGraphViewApplyConfiguration constructs a declarative configuration of the UIGraphView type for use with +// apply. +func UIGraphView() *UIGraphViewApplyConfiguration { + return &UIGraphViewApplyConfiguration{} +} + +// WithExpandPorts sets the ExpandPorts field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ExpandPorts field is set to the value of the last call. +func (b *UIGraphViewApplyConfiguration) WithExpandPorts(value bool) *UIGraphViewApplyConfiguration { + b.ExpandPorts = &value + return b +} + +// WithFollowConnectionDirection sets the FollowConnectionDirection field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FollowConnectionDirection field is set to the value of the last call. +func (b *UIGraphViewApplyConfiguration) WithFollowConnectionDirection(value bool) *UIGraphViewApplyConfiguration { + b.FollowConnectionDirection = &value + return b +} + +// WithSplitIngressEgress sets the SplitIngressEgress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SplitIngressEgress field is set to the value of the last call. +func (b *UIGraphViewApplyConfiguration) WithSplitIngressEgress(value bool) *UIGraphViewApplyConfiguration { + b.SplitIngressEgress = &value + return b +} + +// WithHostAggregationSelectors adds the given value to the HostAggregationSelectors field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the HostAggregationSelectors field. +func (b *UIGraphViewApplyConfiguration) WithHostAggregationSelectors(values ...*NamedSelectorApplyConfiguration) *UIGraphViewApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithHostAggregationSelectors") + } + b.HostAggregationSelectors = append(b.HostAggregationSelectors, *values[i]) + } + return b +} + +// WithLayoutType sets the LayoutType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LayoutType field is set to the value of the last call. +func (b *UIGraphViewApplyConfiguration) WithLayoutType(value string) *UIGraphViewApplyConfiguration { + b.LayoutType = &value + return b +} + +// WithPositions adds the given value to the Positions field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Positions field. +func (b *UIGraphViewApplyConfiguration) WithPositions(values ...*PositionApplyConfiguration) *UIGraphViewApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithPositions") + } + b.Positions = append(b.Positions, *values[i]) + } + return b +} + +// WithLayers adds the given value to the Layers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Layers field. +func (b *UIGraphViewApplyConfiguration) WithLayers(values ...string) *UIGraphViewApplyConfiguration { + for i := range values { + b.Layers = append(b.Layers, values[i]) + } + return b +} + +// WithNodes adds the given value to the Nodes field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Nodes field. +func (b *UIGraphViewApplyConfiguration) WithNodes(values ...*UIGraphNodeViewApplyConfiguration) *UIGraphViewApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithNodes") + } + b.Nodes = append(b.Nodes, *values[i]) + } + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettings.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettings.go new file mode 100644 index 00000000..1bab2b55 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettings.go @@ -0,0 +1,258 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// UISettingsApplyConfiguration represents a declarative configuration of the UISettings type for use +// with apply. +// +// UISettings contains UI settings. +type UISettingsApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *UISettingsSpecApplyConfiguration `json:"spec,omitempty"` +} + +// UISettings constructs a declarative configuration of the UISettings type for use with +// apply. +func UISettings(name string) *UISettingsApplyConfiguration { + b := &UISettingsApplyConfiguration{} + b.WithName(name) + b.WithKind("UISettings") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractUISettingsFrom extracts the applied configuration owned by fieldManager from +// uISettings for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// uISettings must be a unmodified UISettings API object that was retrieved from the Kubernetes API. +// ExtractUISettingsFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractUISettingsFrom(uISettings *projectcalicov3.UISettings, fieldManager string, subresource string) (*UISettingsApplyConfiguration, error) { + b := &UISettingsApplyConfiguration{} + err := managedfields.ExtractInto(uISettings, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.UISettings"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(uISettings.Name) + + b.WithKind("UISettings") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractUISettings extracts the applied configuration owned by fieldManager from +// uISettings. If no managedFields are found in uISettings for fieldManager, a +// UISettingsApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// uISettings must be a unmodified UISettings API object that was retrieved from the Kubernetes API. +// ExtractUISettings provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractUISettings(uISettings *projectcalicov3.UISettings, fieldManager string) (*UISettingsApplyConfiguration, error) { + return ExtractUISettingsFrom(uISettings, fieldManager, "") +} + +func (b UISettingsApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithKind(value string) *UISettingsApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithAPIVersion(value string) *UISettingsApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithName(value string) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithGenerateName(value string) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithNamespace(value string) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithUID(value types.UID) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithResourceVersion(value string) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithGeneration(value int64) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithCreationTimestamp(value metav1.Time) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *UISettingsApplyConfiguration) WithLabels(entries map[string]string) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *UISettingsApplyConfiguration) WithAnnotations(entries map[string]string) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *UISettingsApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *UISettingsApplyConfiguration) WithFinalizers(values ...string) *UISettingsApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *UISettingsApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *UISettingsApplyConfiguration) WithSpec(value *UISettingsSpecApplyConfiguration) *UISettingsApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *UISettingsApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *UISettingsApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *UISettingsApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *UISettingsApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsgroup.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsgroup.go new file mode 100644 index 00000000..993e977e --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsgroup.go @@ -0,0 +1,260 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// UISettingsGroupApplyConfiguration represents a declarative configuration of the UISettingsGroup type for use +// with apply. +// +// UISettingsGroup contains the settings that dictate how many UI settings may be created for a +// specific cluster/user combination. UI settings may only be persisted if there is a +// corresponding UISettingsGroup resource. +type UISettingsGroupApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *UISettingsGroupSpecApplyConfiguration `json:"spec,omitempty"` +} + +// UISettingsGroup constructs a declarative configuration of the UISettingsGroup type for use with +// apply. +func UISettingsGroup(name string) *UISettingsGroupApplyConfiguration { + b := &UISettingsGroupApplyConfiguration{} + b.WithName(name) + b.WithKind("UISettingsGroup") + b.WithAPIVersion("projectcalico.org/v3") + return b +} + +// ExtractUISettingsGroupFrom extracts the applied configuration owned by fieldManager from +// uISettingsGroup for the specified subresource. Pass an empty string for subresource to extract +// the main resource. Common subresources include "status", "scale", etc. +// uISettingsGroup must be a unmodified UISettingsGroup API object that was retrieved from the Kubernetes API. +// ExtractUISettingsGroupFrom provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractUISettingsGroupFrom(uISettingsGroup *projectcalicov3.UISettingsGroup, fieldManager string, subresource string) (*UISettingsGroupApplyConfiguration, error) { + b := &UISettingsGroupApplyConfiguration{} + err := managedfields.ExtractInto(uISettingsGroup, internal.Parser().Type("com.github.tigera.api.pkg.apis.projectcalico.v3.UISettingsGroup"), fieldManager, b, subresource) + if err != nil { + return nil, err + } + b.WithName(uISettingsGroup.Name) + + b.WithKind("UISettingsGroup") + b.WithAPIVersion("projectcalico.org/v3") + return b, nil +} + +// ExtractUISettingsGroup extracts the applied configuration owned by fieldManager from +// uISettingsGroup. If no managedFields are found in uISettingsGroup for fieldManager, a +// UISettingsGroupApplyConfiguration is returned with only the Name, Namespace (if applicable), +// APIVersion and Kind populated. It is possible that no managed fields were found for because other +// field managers have taken ownership of all the fields previously owned by fieldManager, or because +// the fieldManager never owned fields any fields. +// uISettingsGroup must be a unmodified UISettingsGroup API object that was retrieved from the Kubernetes API. +// ExtractUISettingsGroup provides a way to perform a extract/modify-in-place/apply workflow. +// Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously +// applied if another fieldManager has updated or force applied any of the previously applied fields. +func ExtractUISettingsGroup(uISettingsGroup *projectcalicov3.UISettingsGroup, fieldManager string) (*UISettingsGroupApplyConfiguration, error) { + return ExtractUISettingsGroupFrom(uISettingsGroup, fieldManager, "") +} + +func (b UISettingsGroupApplyConfiguration) IsApplyConfiguration() {} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithKind(value string) *UISettingsGroupApplyConfiguration { + b.TypeMetaApplyConfiguration.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithAPIVersion(value string) *UISettingsGroupApplyConfiguration { + b.TypeMetaApplyConfiguration.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithName(value string) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithGenerateName(value string) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithNamespace(value string) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithUID(value types.UID) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithResourceVersion(value string) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithGeneration(value int64) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithCreationTimestamp(value metav1.Time) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *UISettingsGroupApplyConfiguration) WithLabels(entries map[string]string) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *UISettingsGroupApplyConfiguration) WithAnnotations(entries map[string]string) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 { + b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.ObjectMetaApplyConfiguration.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *UISettingsGroupApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *UISettingsGroupApplyConfiguration) WithFinalizers(values ...string) *UISettingsGroupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i]) + } + return b +} + +func (b *UISettingsGroupApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *UISettingsGroupApplyConfiguration) WithSpec(value *UISettingsGroupSpecApplyConfiguration) *UISettingsGroupApplyConfiguration { + b.Spec = value + return b +} + +// GetKind retrieves the value of the Kind field in the declarative configuration. +func (b *UISettingsGroupApplyConfiguration) GetKind() *string { + return b.TypeMetaApplyConfiguration.Kind +} + +// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration. +func (b *UISettingsGroupApplyConfiguration) GetAPIVersion() *string { + return b.TypeMetaApplyConfiguration.APIVersion +} + +// GetName retrieves the value of the Name field in the declarative configuration. +func (b *UISettingsGroupApplyConfiguration) GetName() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Name +} + +// GetNamespace retrieves the value of the Namespace field in the declarative configuration. +func (b *UISettingsGroupApplyConfiguration) GetNamespace() *string { + b.ensureObjectMetaApplyConfigurationExists() + return b.ObjectMetaApplyConfiguration.Namespace +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsgroupspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsgroupspec.go new file mode 100644 index 00000000..9efe38b1 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsgroupspec.go @@ -0,0 +1,56 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// UISettingsGroupSpecApplyConfiguration represents a declarative configuration of the UISettingsGroupSpec type for use +// with apply. +// +// UISettingsGroupSpec contains the specification for a UISettingsGroup resource. +type UISettingsGroupSpecApplyConfiguration struct { + // This description is displayed by the UI when asking where to store any UI-specific settings + // such as views, layers, dashboards etc. This name should be a short description that relates + // the settings to the set of clusters defined below, the set of users or groups that are able to + // access to these settings (defined via RBAC) or the set of applications common to the set of + // users or groups that can access these settings. + // Examples might be: + // - "cluster" when these settings apply to the whole cluster + // - "global" when these settings apply to all clusters (in an Multi-Cluster environment) + // - "security team" if these settings are accessible only to the security group and therefore + // applicable to the applications accessible by that team + // - "storefront" if these settings are accessible to all users and groups that can access the + // storefront set of applications + // - "user" if these settings are accessible to only a single user + Description *string `json:"description,omitempty"` + // The type of filter to use when listing and watching the UISettings associated with this group. If set to None + // a List/watch of UISettings in this group will return all UISettings. If set to User a list/watch of UISettings + // in this group will return only UISettings created by the user making the request. + // For settings groups that are specific to users and where multiple users may access the settings in this group + // we recommend setting this to "User" to avoid cluttering up the UI with settings for other users. + // Note this is only a filter. Full lockdown of UISettings for specific users should be handled using appropriate + // RBAC. + FilterType *string `json:"filterType,omitempty"` +} + +// UISettingsGroupSpecApplyConfiguration constructs a declarative configuration of the UISettingsGroupSpec type for use with +// apply. +func UISettingsGroupSpec() *UISettingsGroupSpecApplyConfiguration { + return &UISettingsGroupSpecApplyConfiguration{} +} + +// WithDescription sets the Description field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Description field is set to the value of the last call. +func (b *UISettingsGroupSpecApplyConfiguration) WithDescription(value string) *UISettingsGroupSpecApplyConfiguration { + b.Description = &value + return b +} + +// WithFilterType sets the FilterType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FilterType field is set to the value of the last call. +func (b *UISettingsGroupSpecApplyConfiguration) WithFilterType(value string) *UISettingsGroupSpecApplyConfiguration { + b.FilterType = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsspec.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsspec.go new file mode 100644 index 00000000..890b0b8f --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/uisettingsspec.go @@ -0,0 +1,79 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +// UISettingsSpecApplyConfiguration represents a declarative configuration of the UISettingsSpec type for use +// with apply. +// +// UISettingsSpec contains the specification for a UISettings resource. +type UISettingsSpecApplyConfiguration struct { + // The settings group. Once configured this cannot be modified. The group must exist. + Group *string `json:"group,omitempty"` + // This description is displayed by the UI. + Description *string `json:"description,omitempty"` + // View data. One of View, Layer or Dashboard should be specified. + View *UIGraphViewApplyConfiguration `json:"view,omitempty"` + // Layer data. One of View, Layer or Dashboard should be specified. + Layer *UIGraphLayerApplyConfiguration `json:"layer,omitempty"` + // Dashboard data. One of View, Layer or Dashboard should be specified. + Dashboard *UIDashboardApplyConfiguration `json:"dashboard,omitempty"` + // The user associated with these settings. This is filled in by the APIServer on a create request if the owning + // group is filtered by user. Cannot be modified. + User *string `json:"user,omitempty"` +} + +// UISettingsSpecApplyConfiguration constructs a declarative configuration of the UISettingsSpec type for use with +// apply. +func UISettingsSpec() *UISettingsSpecApplyConfiguration { + return &UISettingsSpecApplyConfiguration{} +} + +// WithGroup sets the Group field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Group field is set to the value of the last call. +func (b *UISettingsSpecApplyConfiguration) WithGroup(value string) *UISettingsSpecApplyConfiguration { + b.Group = &value + return b +} + +// WithDescription sets the Description field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Description field is set to the value of the last call. +func (b *UISettingsSpecApplyConfiguration) WithDescription(value string) *UISettingsSpecApplyConfiguration { + b.Description = &value + return b +} + +// WithView sets the View field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the View field is set to the value of the last call. +func (b *UISettingsSpecApplyConfiguration) WithView(value *UIGraphViewApplyConfiguration) *UISettingsSpecApplyConfiguration { + b.View = value + return b +} + +// WithLayer sets the Layer field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Layer field is set to the value of the last call. +func (b *UISettingsSpecApplyConfiguration) WithLayer(value *UIGraphLayerApplyConfiguration) *UISettingsSpecApplyConfiguration { + b.Layer = value + return b +} + +// WithDashboard sets the Dashboard field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Dashboard field is set to the value of the last call. +func (b *UISettingsSpecApplyConfiguration) WithDashboard(value *UIDashboardApplyConfiguration) *UISettingsSpecApplyConfiguration { + b.Dashboard = value + return b +} + +// WithUser sets the User field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the User field is set to the value of the last call. +func (b *UISettingsSpecApplyConfiguration) WithUser(value string) *UISettingsSpecApplyConfiguration { + b.User = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/projectcalico/v3/workloadendpointcontrollerconfig.go b/pkg/client/applyconfiguration_generated/projectcalico/v3/workloadendpointcontrollerconfig.go new file mode 100644 index 00000000..ede409e3 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/projectcalico/v3/workloadendpointcontrollerconfig.go @@ -0,0 +1,33 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package v3 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// WorkloadEndpointControllerConfigApplyConfiguration represents a declarative configuration of the WorkloadEndpointControllerConfig type for use +// with apply. +// +// WorkloadEndpointControllerConfig configures the workload endpoint controller, which syncs Kubernetes +// labels to Calico workload endpoints (only used for etcdv3 datastore). +type WorkloadEndpointControllerConfigApplyConfiguration struct { + // ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m] + ReconcilerPeriod *v1.Duration `json:"reconcilerPeriod,omitempty"` +} + +// WorkloadEndpointControllerConfigApplyConfiguration constructs a declarative configuration of the WorkloadEndpointControllerConfig type for use with +// apply. +func WorkloadEndpointControllerConfig() *WorkloadEndpointControllerConfigApplyConfiguration { + return &WorkloadEndpointControllerConfigApplyConfiguration{} +} + +// WithReconcilerPeriod sets the ReconcilerPeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ReconcilerPeriod field is set to the value of the last call. +func (b *WorkloadEndpointControllerConfigApplyConfiguration) WithReconcilerPeriod(value v1.Duration) *WorkloadEndpointControllerConfigApplyConfiguration { + b.ReconcilerPeriod = &value + return b +} diff --git a/pkg/client/applyconfiguration_generated/utils.go b/pkg/client/applyconfiguration_generated/utils.go new file mode 100644 index 00000000..928d0831 --- /dev/null +++ b/pkg/client/applyconfiguration_generated/utils.go @@ -0,0 +1,422 @@ +// Copyright (c) 2026 Tigera, Inc. All rights reserved. + +// Code generated by applyconfiguration-gen. DO NOT EDIT. + +package applyconfiguration_generated + +import ( + v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + internal "github.com/tigera/api/pkg/client/applyconfiguration_generated/internal" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + managedfields "k8s.io/apimachinery/pkg/util/managedfields" +) + +// ForKind returns an apply configuration type for the given GroupVersionKind, or nil if no +// apply configuration type exists for the given GroupVersionKind. +func ForKind(kind schema.GroupVersionKind) interface{} { + switch kind { + // Group=projectcalico.org, Version=v3 + case v3.SchemeGroupVersion.WithKind("AlertException"): + return &projectcalicov3.AlertExceptionApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AlertExceptionSpec"): + return &projectcalicov3.AlertExceptionSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AllocationAttribute"): + return &projectcalicov3.AllocationAttributeApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AuditEventsSelection"): + return &projectcalicov3.AuditEventsSelectionApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AuditResource"): + return &projectcalicov3.AuditResourceApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AuthorizationReview"): + return &projectcalicov3.AuthorizationReviewApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AuthorizationReviewResourceAttributes"): + return &projectcalicov3.AuthorizationReviewResourceAttributesApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AuthorizationReviewSpec"): + return &projectcalicov3.AuthorizationReviewSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AuthorizationReviewStatus"): + return &projectcalicov3.AuthorizationReviewStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AuthorizedResourceGroup"): + return &projectcalicov3.AuthorizedResourceGroupApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AuthorizedResourceVerb"): + return &projectcalicov3.AuthorizedResourceVerbApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AuthorizedResourceVerbs"): + return &projectcalicov3.AuthorizedResourceVerbsApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("AutoHostEndpointConfig"): + return &projectcalicov3.AutoHostEndpointConfigApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BFDConfiguration"): + return &projectcalicov3.BFDConfigurationApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BFDConfigurationSpec"): + return &projectcalicov3.BFDConfigurationSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BFDInterface"): + return &projectcalicov3.BFDInterfaceApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPConfiguration"): + return &projectcalicov3.BGPConfigurationApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPConfigurationSpec"): + return &projectcalicov3.BGPConfigurationSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPDaemonStatus"): + return &projectcalicov3.BGPDaemonStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPFilter"): + return &projectcalicov3.BGPFilterApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPFilterAddCommunity"): + return &projectcalicov3.BGPFilterAddCommunityApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPFilterCommunityMatch"): + return &projectcalicov3.BGPFilterCommunityMatchApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPFilterOperation"): + return &projectcalicov3.BGPFilterOperationApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPFilterPrefixLengthV4"): + return &projectcalicov3.BGPFilterPrefixLengthV4ApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPFilterPrefixLengthV6"): + return &projectcalicov3.BGPFilterPrefixLengthV6ApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPFilterPrependASPath"): + return &projectcalicov3.BGPFilterPrependASPathApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPFilterRuleV4"): + return &projectcalicov3.BGPFilterRuleV4ApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPFilterRuleV6"): + return &projectcalicov3.BGPFilterRuleV6ApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPFilterSetPriority"): + return &projectcalicov3.BGPFilterSetPriorityApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPFilterSpec"): + return &projectcalicov3.BGPFilterSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPPassword"): + return &projectcalicov3.BGPPasswordApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPPeer"): + return &projectcalicov3.BGPPeerApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BGPPeerSpec"): + return &projectcalicov3.BGPPeerSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BlockAffinity"): + return &projectcalicov3.BlockAffinityApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BlockAffinitySpec"): + return &projectcalicov3.BlockAffinitySpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("BPFConntrackTimeouts"): + return &projectcalicov3.BPFConntrackTimeoutsApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CalicoNodeAgentStatus"): + return &projectcalicov3.CalicoNodeAgentStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CalicoNodeBGPRouteStatus"): + return &projectcalicov3.CalicoNodeBGPRouteStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CalicoNodeBGPStatus"): + return &projectcalicov3.CalicoNodeBGPStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CalicoNodePeer"): + return &projectcalicov3.CalicoNodePeerApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CalicoNodeRoute"): + return &projectcalicov3.CalicoNodeRouteApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CalicoNodeRouteLearnedFrom"): + return &projectcalicov3.CalicoNodeRouteLearnedFromApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CalicoNodeStatus"): + return &projectcalicov3.CalicoNodeStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CalicoNodeStatusSpec"): + return &projectcalicov3.CalicoNodeStatusSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CalicoNodeStatusStatus"): + return &projectcalicov3.CalicoNodeStatusStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CISBenchmarkFilter"): + return &projectcalicov3.CISBenchmarkFilterApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CISBenchmarkParams"): + return &projectcalicov3.CISBenchmarkParamsApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CISBenchmarkSelection"): + return &projectcalicov3.CISBenchmarkSelectionApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ClusterInformation"): + return &projectcalicov3.ClusterInformationApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ClusterInformationSpec"): + return &projectcalicov3.ClusterInformationSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("Community"): + return &projectcalicov3.CommunityApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("CompletedReportJob"): + return &projectcalicov3.CompletedReportJobApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ControllersConfig"): + return &projectcalicov3.ControllersConfigApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("DashboardData"): + return &projectcalicov3.DashboardDataApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("DashboardLayout"): + return &projectcalicov3.DashboardLayoutApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("DeepPacketInspection"): + return &projectcalicov3.DeepPacketInspectionApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("DeepPacketInspectionSpec"): + return &projectcalicov3.DeepPacketInspectionSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("DeepPacketInspectionStatus"): + return &projectcalicov3.DeepPacketInspectionStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("DetectorParams"): + return &projectcalicov3.DetectorParamsApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("DPIActive"): + return &projectcalicov3.DPIActiveApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("DPIErrorCondition"): + return &projectcalicov3.DPIErrorConditionApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("DPINode"): + return &projectcalicov3.DPINodeApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("EgressGatewayPolicy"): + return &projectcalicov3.EgressGatewayPolicyApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("EgressGatewayPolicyDestinationSpec"): + return &projectcalicov3.EgressGatewayPolicyDestinationSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("EgressGatewayPolicySpec"): + return &projectcalicov3.EgressGatewayPolicySpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("EgressGatewayRule"): + return &projectcalicov3.EgressGatewayRuleApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("EgressGatewaySpec"): + return &projectcalicov3.EgressGatewaySpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("EgressSpec"): + return &projectcalicov3.EgressSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("EndpointPort"): + return &projectcalicov3.EndpointPortApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("EndpointsSelection"): + return &projectcalicov3.EndpointsSelectionApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("EntityRule"): + return &projectcalicov3.EntityRuleApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ErrorCondition"): + return &projectcalicov3.ErrorConditionApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("EtcdConfig"): + return &projectcalicov3.EtcdConfigApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ExternalNetwork"): + return &projectcalicov3.ExternalNetworkApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ExternalNetworkSpec"): + return &projectcalicov3.ExternalNetworkSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("FederatedServicesControllerConfig"): + return &projectcalicov3.FederatedServicesControllerConfigApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("FelixConfiguration"): + return &projectcalicov3.FelixConfigurationApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("FelixConfigurationSpec"): + return &projectcalicov3.FelixConfigurationSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalAlert"): + return &projectcalicov3.GlobalAlertApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalAlertSpec"): + return &projectcalicov3.GlobalAlertSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalAlertStatus"): + return &projectcalicov3.GlobalAlertStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalAlertSubstitution"): + return &projectcalicov3.GlobalAlertSubstitutionApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalAlertTemplate"): + return &projectcalicov3.GlobalAlertTemplateApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalNetworkPolicy"): + return &projectcalicov3.GlobalNetworkPolicyApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalNetworkPolicySpec"): + return &projectcalicov3.GlobalNetworkPolicySpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalNetworkSet"): + return &projectcalicov3.GlobalNetworkSetApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalNetworkSetSpec"): + return &projectcalicov3.GlobalNetworkSetSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalNetworkSetSync"): + return &projectcalicov3.GlobalNetworkSetSyncApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalReport"): + return &projectcalicov3.GlobalReportApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalReportType"): + return &projectcalicov3.GlobalReportTypeApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalThreatFeed"): + return &projectcalicov3.GlobalThreatFeedApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalThreatFeedSpec"): + return &projectcalicov3.GlobalThreatFeedSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("GlobalThreatFeedStatus"): + return &projectcalicov3.GlobalThreatFeedStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("HealthTimeoutOverride"): + return &projectcalicov3.HealthTimeoutOverrideApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("HostEndpoint"): + return &projectcalicov3.HostEndpointApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("HostEndpointSpec"): + return &projectcalicov3.HostEndpointSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("HTTPHeader"): + return &projectcalicov3.HTTPHeaderApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("HTTPHeaderCriteria"): + return &projectcalicov3.HTTPHeaderCriteriaApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("HTTPHeaderSource"): + return &projectcalicov3.HTTPHeaderSourceApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("HTTPMatch"): + return &projectcalicov3.HTTPMatchApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("HTTPPath"): + return &projectcalicov3.HTTPPathApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("HTTPPull"): + return &projectcalicov3.HTTPPullApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ICMPFields"): + return &projectcalicov3.ICMPFieldsApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("IPAMBlock"): + return &projectcalicov3.IPAMBlockApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("IPAMBlockSpec"): + return &projectcalicov3.IPAMBlockSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("IPAMConfiguration"): + return &projectcalicov3.IPAMConfigurationApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("IPAMConfigurationSpec"): + return &projectcalicov3.IPAMConfigurationSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("IPAMHandle"): + return &projectcalicov3.IPAMHandleApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("IPAMHandleSpec"): + return &projectcalicov3.IPAMHandleSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("IPPool"): + return &projectcalicov3.IPPoolApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("IPPoolSpec"): + return &projectcalicov3.IPPoolSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("IPPoolStatus"): + return &projectcalicov3.IPPoolStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("IPReservation"): + return &projectcalicov3.IPReservationApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("IPReservationSpec"): + return &projectcalicov3.IPReservationSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("KubeConfig"): + return &projectcalicov3.KubeConfigApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("KubeControllersConfiguration"): + return &projectcalicov3.KubeControllersConfigurationApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("KubeControllersConfigurationSpec"): + return &projectcalicov3.KubeControllersConfigurationSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("KubeControllersConfigurationStatus"): + return &projectcalicov3.KubeControllersConfigurationStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("LicenseKey"): + return &projectcalicov3.LicenseKeyApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("LicenseKeySpec"): + return &projectcalicov3.LicenseKeySpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("LicenseKeyStatus"): + return &projectcalicov3.LicenseKeyStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("LoadBalancerControllerConfig"): + return &projectcalicov3.LoadBalancerControllerConfigApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ManagedCluster"): + return &projectcalicov3.ManagedClusterApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ManagedClusterSpec"): + return &projectcalicov3.ManagedClusterSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ManagedClusterStatus"): + return &projectcalicov3.ManagedClusterStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ManagedClusterStatusCondition"): + return &projectcalicov3.ManagedClusterStatusConditionApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("MigrationControllerConfig"): + return &projectcalicov3.MigrationControllerConfigApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("NamedSelector"): + return &projectcalicov3.NamedSelectorApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("NamesAndLabelsMatch"): + return &projectcalicov3.NamesAndLabelsMatchApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("NamespaceControllerConfig"): + return &projectcalicov3.NamespaceControllerConfigApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("NetworkPolicy"): + return &projectcalicov3.NetworkPolicyApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("NetworkPolicySpec"): + return &projectcalicov3.NetworkPolicySpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("NetworkSet"): + return &projectcalicov3.NetworkSetApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("NetworkSetSpec"): + return &projectcalicov3.NetworkSetSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("NodeControllerConfig"): + return &projectcalicov3.NodeControllerConfigApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PacketCapture"): + return &projectcalicov3.PacketCaptureApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PacketCaptureFile"): + return &projectcalicov3.PacketCaptureFileApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PacketCaptureRule"): + return &projectcalicov3.PacketCaptureRuleApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PacketCaptureSpec"): + return &projectcalicov3.PacketCaptureSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PacketCaptureStatus"): + return &projectcalicov3.PacketCaptureStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PolicyControllerConfig"): + return &projectcalicov3.PolicyControllerConfigApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PolicyRecommendationScope"): + return &projectcalicov3.PolicyRecommendationScopeApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PolicyRecommendationScopeNamespaceSpec"): + return &projectcalicov3.PolicyRecommendationScopeNamespaceSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PolicyRecommendationScopeSpec"): + return &projectcalicov3.PolicyRecommendationScopeSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PolicyRecommendationScopeStatus"): + return &projectcalicov3.PolicyRecommendationScopeStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PolicyRecommendationScopeStatusCondition"): + return &projectcalicov3.PolicyRecommendationScopeStatusConditionApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("Position"): + return &projectcalicov3.PositionApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("PrefixAdvertisement"): + return &projectcalicov3.PrefixAdvertisementApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("Profile"): + return &projectcalicov3.ProfileApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ProfileSpec"): + return &projectcalicov3.ProfileSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ProtoPort"): + return &projectcalicov3.ProtoPortApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("Pull"): + return &projectcalicov3.PullApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("RemoteClusterConfiguration"): + return &projectcalicov3.RemoteClusterConfigurationApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("RemoteClusterConfigurationSpec"): + return &projectcalicov3.RemoteClusterConfigurationSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("RemoteClusterSyncOptions"): + return &projectcalicov3.RemoteClusterSyncOptionsApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ReportJob"): + return &projectcalicov3.ReportJobApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ReportSpec"): + return &projectcalicov3.ReportSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ReportStatus"): + return &projectcalicov3.ReportStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ReportTemplate"): + return &projectcalicov3.ReportTemplateApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ReportTypeSpec"): + return &projectcalicov3.ReportTypeSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("RouteTableIDRange"): + return &projectcalicov3.RouteTableIDRangeApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("RouteTableRange"): + return &projectcalicov3.RouteTableRangeApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("Rule"): + return &projectcalicov3.RuleApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("RuleMetadata"): + return &projectcalicov3.RuleMetadataApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("SecurityEventWebhook"): + return &projectcalicov3.SecurityEventWebhookApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("SecurityEventWebhookConfigVar"): + return &projectcalicov3.SecurityEventWebhookConfigVarApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("SecurityEventWebhookConfigVarSource"): + return &projectcalicov3.SecurityEventWebhookConfigVarSourceApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("SecurityEventWebhookSpec"): + return &projectcalicov3.SecurityEventWebhookSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ServiceAccountControllerConfig"): + return &projectcalicov3.ServiceAccountControllerConfigApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ServiceAccountMatch"): + return &projectcalicov3.ServiceAccountMatchApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ServiceClusterIPBlock"): + return &projectcalicov3.ServiceClusterIPBlockApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ServiceExternalIPBlock"): + return &projectcalicov3.ServiceExternalIPBlockApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ServiceLoadBalancerIPBlock"): + return &projectcalicov3.ServiceLoadBalancerIPBlockApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ServiceMatch"): + return &projectcalicov3.ServiceMatchApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("StagedGlobalNetworkPolicy"): + return &projectcalicov3.StagedGlobalNetworkPolicyApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("StagedGlobalNetworkPolicySpec"): + return &projectcalicov3.StagedGlobalNetworkPolicySpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("StagedKubernetesNetworkPolicy"): + return &projectcalicov3.StagedKubernetesNetworkPolicyApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("StagedKubernetesNetworkPolicySpec"): + return &projectcalicov3.StagedKubernetesNetworkPolicySpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("StagedNetworkPolicy"): + return &projectcalicov3.StagedNetworkPolicyApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("StagedNetworkPolicySpec"): + return &projectcalicov3.StagedNetworkPolicySpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("Template"): + return &projectcalicov3.TemplateApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ThreatFeedFormat"): + return &projectcalicov3.ThreatFeedFormatApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ThreatFeedFormatCSV"): + return &projectcalicov3.ThreatFeedFormatCSVApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("ThreatFeedFormatJSON"): + return &projectcalicov3.ThreatFeedFormatJSONApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("Tier"): + return &projectcalicov3.TierApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("TierSpec"): + return &projectcalicov3.TierSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("TierStatus"): + return &projectcalicov3.TierStatusApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("UIDashboard"): + return &projectcalicov3.UIDashboardApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("UIGraphLayer"): + return &projectcalicov3.UIGraphLayerApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("UIGraphNode"): + return &projectcalicov3.UIGraphNodeApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("UIGraphNodeView"): + return &projectcalicov3.UIGraphNodeViewApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("UIGraphView"): + return &projectcalicov3.UIGraphViewApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("UISettings"): + return &projectcalicov3.UISettingsApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("UISettingsGroup"): + return &projectcalicov3.UISettingsGroupApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("UISettingsGroupSpec"): + return &projectcalicov3.UISettingsGroupSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("UISettingsSpec"): + return &projectcalicov3.UISettingsSpecApplyConfiguration{} + case v3.SchemeGroupVersion.WithKind("WorkloadEndpointControllerConfig"): + return &projectcalicov3.WorkloadEndpointControllerConfigApplyConfiguration{} + + } + return nil +} + +func NewTypeConverter(scheme *runtime.Scheme) managedfields.TypeConverter { + return managedfields.NewSchemeTypeConverter(scheme, internal.Parser()) +} diff --git a/pkg/client/clientset_generated/clientset/fake/clientset_generated.go b/pkg/client/clientset_generated/clientset/fake/clientset_generated.go index 1a5f4590..6374398d 100644 --- a/pkg/client/clientset_generated/clientset/fake/clientset_generated.go +++ b/pkg/client/clientset_generated/clientset/fake/clientset_generated.go @@ -5,6 +5,7 @@ package fake import ( + applyconfigurationgenerated "github.com/tigera/api/pkg/client/applyconfiguration_generated" clientset "github.com/tigera/api/pkg/client/clientset_generated/clientset" projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" fakeprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake" @@ -20,10 +21,6 @@ import ( // It's backed by a very simple object tracker that processes creates, updates and deletions as-is, // without applying any field management, validations and/or defaults. It shouldn't be considered a replacement // for a real clientset and is mostly useful in simple unit tests. -// -// DEPRECATED: NewClientset replaces this with support for field management, which significantly improves -// server side apply testing. NewClientset is only available when apply configurations are generated (e.g. -// via --with-applyconfig). func NewSimpleClientset(objects ...runtime.Object) *Clientset { o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) for _, obj := range objects { @@ -37,8 +34,8 @@ func NewSimpleClientset(objects ...runtime.Object) *Clientset { cs.AddReactor("*", "*", testing.ObjectReaction(o)) cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { var opts metav1.ListOptions - if watchActcion, ok := action.(testing.WatchActionImpl); ok { - opts = watchActcion.ListOptions + if watchAction, ok := action.(testing.WatchActionImpl); ok { + opts = watchAction.ListOptions } gvr := action.GetResource() ns := action.GetNamespace() @@ -69,6 +66,57 @@ func (c *Clientset) Tracker() testing.ObjectTracker { return c.tracker } +// IsWatchListSemanticsSupported informs the reflector that this client +// doesn't support WatchList semantics. +// +// This is a synthetic method whose sole purpose is to satisfy the optional +// interface check performed by the reflector. +// Returning true signals that WatchList can NOT be used. +// No additional logic is implemented here. +func (c *Clientset) IsWatchListSemanticsUnSupported() bool { + return true +} + +// NewClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +// +// Compared to NewSimpleClientset, the Clientset returned here supports field tracking and thus +// server-side apply. Beware though that support in that for CRDs is missing +// (https://github.com/kubernetes/kubernetes/issues/126850). +func NewClientset(objects ...runtime.Object) *Clientset { + o := testing.NewFieldManagedObjectTracker( + scheme, + codecs.UniversalDecoder(), + applyconfigurationgenerated.NewTypeConverter(scheme), + ) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{tracker: o} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + var opts metav1.ListOptions + if watchAction, ok := action.(testing.WatchActionImpl); ok { + opts = watchAction.ListOptions + } + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns, opts) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + var ( _ clientset.Interface = &Clientset{} _ testing.FakeClient = &Clientset{} diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/alertexception.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/alertexception.go index b2ada37d..a1fbe9fc 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/alertexception.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/alertexception.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type AlertExceptionInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.AlertExceptionList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.AlertException, err error) + Apply(ctx context.Context, alertException *applyconfigurationgeneratedprojectcalicov3.AlertExceptionApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.AlertException, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, alertException *applyconfigurationgeneratedprojectcalicov3.AlertExceptionApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.AlertException, err error) AlertExceptionExpansion } // alertExceptions implements AlertExceptionInterface type alertExceptions struct { - *gentype.ClientWithList[*projectcalicov3.AlertException, *projectcalicov3.AlertExceptionList] + *gentype.ClientWithListAndApply[*projectcalicov3.AlertException, *projectcalicov3.AlertExceptionList, *applyconfigurationgeneratedprojectcalicov3.AlertExceptionApplyConfiguration] } // newAlertExceptions returns a AlertExceptions func newAlertExceptions(c *ProjectcalicoV3Client) *alertExceptions { return &alertExceptions{ - gentype.NewClientWithList[*projectcalicov3.AlertException, *projectcalicov3.AlertExceptionList]( + gentype.NewClientWithListAndApply[*projectcalicov3.AlertException, *projectcalicov3.AlertExceptionList, *applyconfigurationgeneratedprojectcalicov3.AlertExceptionApplyConfiguration]( "alertexceptions", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/authorizationreview.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/authorizationreview.go index 7f7b2a6a..06ba9094 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/authorizationreview.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/authorizationreview.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type AuthorizationReviewInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.AuthorizationReviewList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.AuthorizationReview, err error) + Apply(ctx context.Context, authorizationReview *applyconfigurationgeneratedprojectcalicov3.AuthorizationReviewApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.AuthorizationReview, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, authorizationReview *applyconfigurationgeneratedprojectcalicov3.AuthorizationReviewApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.AuthorizationReview, err error) AuthorizationReviewExpansion } // authorizationReviews implements AuthorizationReviewInterface type authorizationReviews struct { - *gentype.ClientWithList[*projectcalicov3.AuthorizationReview, *projectcalicov3.AuthorizationReviewList] + *gentype.ClientWithListAndApply[*projectcalicov3.AuthorizationReview, *projectcalicov3.AuthorizationReviewList, *applyconfigurationgeneratedprojectcalicov3.AuthorizationReviewApplyConfiguration] } // newAuthorizationReviews returns a AuthorizationReviews func newAuthorizationReviews(c *ProjectcalicoV3Client) *authorizationReviews { return &authorizationReviews{ - gentype.NewClientWithList[*projectcalicov3.AuthorizationReview, *projectcalicov3.AuthorizationReviewList]( + gentype.NewClientWithListAndApply[*projectcalicov3.AuthorizationReview, *projectcalicov3.AuthorizationReviewList, *applyconfigurationgeneratedprojectcalicov3.AuthorizationReviewApplyConfiguration]( "authorizationreviews", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bfdconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bfdconfiguration.go index fed29687..bf8b110b 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bfdconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bfdconfiguration.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type BFDConfigurationInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.BFDConfigurationList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.BFDConfiguration, err error) + Apply(ctx context.Context, bFDConfiguration *applyconfigurationgeneratedprojectcalicov3.BFDConfigurationApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.BFDConfiguration, err error) BFDConfigurationExpansion } // bFDConfigurations implements BFDConfigurationInterface type bFDConfigurations struct { - *gentype.ClientWithList[*projectcalicov3.BFDConfiguration, *projectcalicov3.BFDConfigurationList] + *gentype.ClientWithListAndApply[*projectcalicov3.BFDConfiguration, *projectcalicov3.BFDConfigurationList, *applyconfigurationgeneratedprojectcalicov3.BFDConfigurationApplyConfiguration] } // newBFDConfigurations returns a BFDConfigurations func newBFDConfigurations(c *ProjectcalicoV3Client) *bFDConfigurations { return &bFDConfigurations{ - gentype.NewClientWithList[*projectcalicov3.BFDConfiguration, *projectcalicov3.BFDConfigurationList]( + gentype.NewClientWithListAndApply[*projectcalicov3.BFDConfiguration, *projectcalicov3.BFDConfigurationList, *applyconfigurationgeneratedprojectcalicov3.BFDConfigurationApplyConfiguration]( "bfdconfigurations", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgpconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgpconfiguration.go index 700ef0c5..e79b4104 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgpconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgpconfiguration.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type BGPConfigurationInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.BGPConfigurationList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.BGPConfiguration, err error) + Apply(ctx context.Context, bGPConfiguration *applyconfigurationgeneratedprojectcalicov3.BGPConfigurationApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.BGPConfiguration, err error) BGPConfigurationExpansion } // bGPConfigurations implements BGPConfigurationInterface type bGPConfigurations struct { - *gentype.ClientWithList[*projectcalicov3.BGPConfiguration, *projectcalicov3.BGPConfigurationList] + *gentype.ClientWithListAndApply[*projectcalicov3.BGPConfiguration, *projectcalicov3.BGPConfigurationList, *applyconfigurationgeneratedprojectcalicov3.BGPConfigurationApplyConfiguration] } // newBGPConfigurations returns a BGPConfigurations func newBGPConfigurations(c *ProjectcalicoV3Client) *bGPConfigurations { return &bGPConfigurations{ - gentype.NewClientWithList[*projectcalicov3.BGPConfiguration, *projectcalicov3.BGPConfigurationList]( + gentype.NewClientWithListAndApply[*projectcalicov3.BGPConfiguration, *projectcalicov3.BGPConfigurationList, *applyconfigurationgeneratedprojectcalicov3.BGPConfigurationApplyConfiguration]( "bgpconfigurations", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgpfilter.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgpfilter.go index d7ca9686..64fb1d6f 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgpfilter.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgpfilter.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type BGPFilterInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.BGPFilterList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.BGPFilter, err error) + Apply(ctx context.Context, bGPFilter *applyconfigurationgeneratedprojectcalicov3.BGPFilterApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.BGPFilter, err error) BGPFilterExpansion } // bGPFilters implements BGPFilterInterface type bGPFilters struct { - *gentype.ClientWithList[*projectcalicov3.BGPFilter, *projectcalicov3.BGPFilterList] + *gentype.ClientWithListAndApply[*projectcalicov3.BGPFilter, *projectcalicov3.BGPFilterList, *applyconfigurationgeneratedprojectcalicov3.BGPFilterApplyConfiguration] } // newBGPFilters returns a BGPFilters func newBGPFilters(c *ProjectcalicoV3Client) *bGPFilters { return &bGPFilters{ - gentype.NewClientWithList[*projectcalicov3.BGPFilter, *projectcalicov3.BGPFilterList]( + gentype.NewClientWithListAndApply[*projectcalicov3.BGPFilter, *projectcalicov3.BGPFilterList, *applyconfigurationgeneratedprojectcalicov3.BGPFilterApplyConfiguration]( "bgpfilters", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgppeer.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgppeer.go index 3fb23572..364faf36 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgppeer.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/bgppeer.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type BGPPeerInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.BGPPeerList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.BGPPeer, err error) + Apply(ctx context.Context, bGPPeer *applyconfigurationgeneratedprojectcalicov3.BGPPeerApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.BGPPeer, err error) BGPPeerExpansion } // bGPPeers implements BGPPeerInterface type bGPPeers struct { - *gentype.ClientWithList[*projectcalicov3.BGPPeer, *projectcalicov3.BGPPeerList] + *gentype.ClientWithListAndApply[*projectcalicov3.BGPPeer, *projectcalicov3.BGPPeerList, *applyconfigurationgeneratedprojectcalicov3.BGPPeerApplyConfiguration] } // newBGPPeers returns a BGPPeers func newBGPPeers(c *ProjectcalicoV3Client) *bGPPeers { return &bGPPeers{ - gentype.NewClientWithList[*projectcalicov3.BGPPeer, *projectcalicov3.BGPPeerList]( + gentype.NewClientWithListAndApply[*projectcalicov3.BGPPeer, *projectcalicov3.BGPPeerList, *applyconfigurationgeneratedprojectcalicov3.BGPPeerApplyConfiguration]( "bgppeers", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/blockaffinity.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/blockaffinity.go index a70beb33..c47f34e1 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/blockaffinity.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/blockaffinity.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type BlockAffinityInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.BlockAffinityList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.BlockAffinity, err error) + Apply(ctx context.Context, blockAffinity *applyconfigurationgeneratedprojectcalicov3.BlockAffinityApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.BlockAffinity, err error) BlockAffinityExpansion } // blockAffinities implements BlockAffinityInterface type blockAffinities struct { - *gentype.ClientWithList[*projectcalicov3.BlockAffinity, *projectcalicov3.BlockAffinityList] + *gentype.ClientWithListAndApply[*projectcalicov3.BlockAffinity, *projectcalicov3.BlockAffinityList, *applyconfigurationgeneratedprojectcalicov3.BlockAffinityApplyConfiguration] } // newBlockAffinities returns a BlockAffinities func newBlockAffinities(c *ProjectcalicoV3Client) *blockAffinities { return &blockAffinities{ - gentype.NewClientWithList[*projectcalicov3.BlockAffinity, *projectcalicov3.BlockAffinityList]( + gentype.NewClientWithListAndApply[*projectcalicov3.BlockAffinity, *projectcalicov3.BlockAffinityList, *applyconfigurationgeneratedprojectcalicov3.BlockAffinityApplyConfiguration]( "blockaffinities", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/caliconodestatus.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/caliconodestatus.go index 778c9939..7bc49f3f 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/caliconodestatus.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/caliconodestatus.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type CalicoNodeStatusInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.CalicoNodeStatusList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.CalicoNodeStatus, err error) + Apply(ctx context.Context, calicoNodeStatus *applyconfigurationgeneratedprojectcalicov3.CalicoNodeStatusApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.CalicoNodeStatus, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, calicoNodeStatus *applyconfigurationgeneratedprojectcalicov3.CalicoNodeStatusApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.CalicoNodeStatus, err error) CalicoNodeStatusExpansion } // calicoNodeStatuses implements CalicoNodeStatusInterface type calicoNodeStatuses struct { - *gentype.ClientWithList[*projectcalicov3.CalicoNodeStatus, *projectcalicov3.CalicoNodeStatusList] + *gentype.ClientWithListAndApply[*projectcalicov3.CalicoNodeStatus, *projectcalicov3.CalicoNodeStatusList, *applyconfigurationgeneratedprojectcalicov3.CalicoNodeStatusApplyConfiguration] } // newCalicoNodeStatuses returns a CalicoNodeStatuses func newCalicoNodeStatuses(c *ProjectcalicoV3Client) *calicoNodeStatuses { return &calicoNodeStatuses{ - gentype.NewClientWithList[*projectcalicov3.CalicoNodeStatus, *projectcalicov3.CalicoNodeStatusList]( + gentype.NewClientWithListAndApply[*projectcalicov3.CalicoNodeStatus, *projectcalicov3.CalicoNodeStatusList, *applyconfigurationgeneratedprojectcalicov3.CalicoNodeStatusApplyConfiguration]( "caliconodestatuses", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/clusterinformation.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/clusterinformation.go index 6bd9d966..fd3b1863 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/clusterinformation.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/clusterinformation.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type ClusterInformationInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.ClusterInformationList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.ClusterInformation, err error) + Apply(ctx context.Context, clusterInformation *applyconfigurationgeneratedprojectcalicov3.ClusterInformationApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.ClusterInformation, err error) ClusterInformationExpansion } // clusterInformations implements ClusterInformationInterface type clusterInformations struct { - *gentype.ClientWithList[*projectcalicov3.ClusterInformation, *projectcalicov3.ClusterInformationList] + *gentype.ClientWithListAndApply[*projectcalicov3.ClusterInformation, *projectcalicov3.ClusterInformationList, *applyconfigurationgeneratedprojectcalicov3.ClusterInformationApplyConfiguration] } // newClusterInformations returns a ClusterInformations func newClusterInformations(c *ProjectcalicoV3Client) *clusterInformations { return &clusterInformations{ - gentype.NewClientWithList[*projectcalicov3.ClusterInformation, *projectcalicov3.ClusterInformationList]( + gentype.NewClientWithListAndApply[*projectcalicov3.ClusterInformation, *projectcalicov3.ClusterInformationList, *applyconfigurationgeneratedprojectcalicov3.ClusterInformationApplyConfiguration]( "clusterinformations", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/deeppacketinspection.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/deeppacketinspection.go index 8a7d36ca..9c209e85 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/deeppacketinspection.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/deeppacketinspection.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type DeepPacketInspectionInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.DeepPacketInspectionList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.DeepPacketInspection, err error) + Apply(ctx context.Context, deepPacketInspection *applyconfigurationgeneratedprojectcalicov3.DeepPacketInspectionApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.DeepPacketInspection, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, deepPacketInspection *applyconfigurationgeneratedprojectcalicov3.DeepPacketInspectionApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.DeepPacketInspection, err error) DeepPacketInspectionExpansion } // deepPacketInspections implements DeepPacketInspectionInterface type deepPacketInspections struct { - *gentype.ClientWithList[*projectcalicov3.DeepPacketInspection, *projectcalicov3.DeepPacketInspectionList] + *gentype.ClientWithListAndApply[*projectcalicov3.DeepPacketInspection, *projectcalicov3.DeepPacketInspectionList, *applyconfigurationgeneratedprojectcalicov3.DeepPacketInspectionApplyConfiguration] } // newDeepPacketInspections returns a DeepPacketInspections func newDeepPacketInspections(c *ProjectcalicoV3Client, namespace string) *deepPacketInspections { return &deepPacketInspections{ - gentype.NewClientWithList[*projectcalicov3.DeepPacketInspection, *projectcalicov3.DeepPacketInspectionList]( + gentype.NewClientWithListAndApply[*projectcalicov3.DeepPacketInspection, *projectcalicov3.DeepPacketInspectionList, *applyconfigurationgeneratedprojectcalicov3.DeepPacketInspectionApplyConfiguration]( "deeppacketinspections", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/egressgatewaypolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/egressgatewaypolicy.go index 98a6bfde..53d5198d 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/egressgatewaypolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/egressgatewaypolicy.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type EgressGatewayPolicyInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.EgressGatewayPolicyList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.EgressGatewayPolicy, err error) + Apply(ctx context.Context, egressGatewayPolicy *applyconfigurationgeneratedprojectcalicov3.EgressGatewayPolicyApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.EgressGatewayPolicy, err error) EgressGatewayPolicyExpansion } // egressGatewayPolicies implements EgressGatewayPolicyInterface type egressGatewayPolicies struct { - *gentype.ClientWithList[*projectcalicov3.EgressGatewayPolicy, *projectcalicov3.EgressGatewayPolicyList] + *gentype.ClientWithListAndApply[*projectcalicov3.EgressGatewayPolicy, *projectcalicov3.EgressGatewayPolicyList, *applyconfigurationgeneratedprojectcalicov3.EgressGatewayPolicyApplyConfiguration] } // newEgressGatewayPolicies returns a EgressGatewayPolicies func newEgressGatewayPolicies(c *ProjectcalicoV3Client) *egressGatewayPolicies { return &egressGatewayPolicies{ - gentype.NewClientWithList[*projectcalicov3.EgressGatewayPolicy, *projectcalicov3.EgressGatewayPolicyList]( + gentype.NewClientWithListAndApply[*projectcalicov3.EgressGatewayPolicy, *projectcalicov3.EgressGatewayPolicyList, *applyconfigurationgeneratedprojectcalicov3.EgressGatewayPolicyApplyConfiguration]( "egressgatewaypolicies", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/externalnetwork.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/externalnetwork.go index a80c8312..51173f8d 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/externalnetwork.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/externalnetwork.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type ExternalNetworkInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.ExternalNetworkList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.ExternalNetwork, err error) + Apply(ctx context.Context, externalNetwork *applyconfigurationgeneratedprojectcalicov3.ExternalNetworkApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.ExternalNetwork, err error) ExternalNetworkExpansion } // externalNetworks implements ExternalNetworkInterface type externalNetworks struct { - *gentype.ClientWithList[*projectcalicov3.ExternalNetwork, *projectcalicov3.ExternalNetworkList] + *gentype.ClientWithListAndApply[*projectcalicov3.ExternalNetwork, *projectcalicov3.ExternalNetworkList, *applyconfigurationgeneratedprojectcalicov3.ExternalNetworkApplyConfiguration] } // newExternalNetworks returns a ExternalNetworks func newExternalNetworks(c *ProjectcalicoV3Client) *externalNetworks { return &externalNetworks{ - gentype.NewClientWithList[*projectcalicov3.ExternalNetwork, *projectcalicov3.ExternalNetworkList]( + gentype.NewClientWithListAndApply[*projectcalicov3.ExternalNetwork, *projectcalicov3.ExternalNetworkList, *applyconfigurationgeneratedprojectcalicov3.ExternalNetworkApplyConfiguration]( "externalnetworks", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_alertexception.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_alertexception.go index c95a84ce..e496c0aa 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_alertexception.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_alertexception.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeAlertExceptions implements AlertExceptionInterface type fakeAlertExceptions struct { - *gentype.FakeClientWithList[*v3.AlertException, *v3.AlertExceptionList] + *gentype.FakeClientWithListAndApply[*v3.AlertException, *v3.AlertExceptionList, *projectcalicov3.AlertExceptionApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeAlertExceptions(fake *FakeProjectcalicoV3) projectcalicov3.AlertExceptionInterface { +func newFakeAlertExceptions(fake *FakeProjectcalicoV3) typedprojectcalicov3.AlertExceptionInterface { return &fakeAlertExceptions{ - gentype.NewFakeClientWithList[*v3.AlertException, *v3.AlertExceptionList]( + gentype.NewFakeClientWithListAndApply[*v3.AlertException, *v3.AlertExceptionList, *projectcalicov3.AlertExceptionApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("alertexceptions"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_authorizationreview.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_authorizationreview.go index a37fcb78..b15f223d 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_authorizationreview.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_authorizationreview.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeAuthorizationReviews implements AuthorizationReviewInterface type fakeAuthorizationReviews struct { - *gentype.FakeClientWithList[*v3.AuthorizationReview, *v3.AuthorizationReviewList] + *gentype.FakeClientWithListAndApply[*v3.AuthorizationReview, *v3.AuthorizationReviewList, *projectcalicov3.AuthorizationReviewApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeAuthorizationReviews(fake *FakeProjectcalicoV3) projectcalicov3.AuthorizationReviewInterface { +func newFakeAuthorizationReviews(fake *FakeProjectcalicoV3) typedprojectcalicov3.AuthorizationReviewInterface { return &fakeAuthorizationReviews{ - gentype.NewFakeClientWithList[*v3.AuthorizationReview, *v3.AuthorizationReviewList]( + gentype.NewFakeClientWithListAndApply[*v3.AuthorizationReview, *v3.AuthorizationReviewList, *projectcalicov3.AuthorizationReviewApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("authorizationreviews"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bfdconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bfdconfiguration.go index e3acc7de..d9049cdb 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bfdconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bfdconfiguration.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeBFDConfigurations implements BFDConfigurationInterface type fakeBFDConfigurations struct { - *gentype.FakeClientWithList[*v3.BFDConfiguration, *v3.BFDConfigurationList] + *gentype.FakeClientWithListAndApply[*v3.BFDConfiguration, *v3.BFDConfigurationList, *projectcalicov3.BFDConfigurationApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeBFDConfigurations(fake *FakeProjectcalicoV3) projectcalicov3.BFDConfigurationInterface { +func newFakeBFDConfigurations(fake *FakeProjectcalicoV3) typedprojectcalicov3.BFDConfigurationInterface { return &fakeBFDConfigurations{ - gentype.NewFakeClientWithList[*v3.BFDConfiguration, *v3.BFDConfigurationList]( + gentype.NewFakeClientWithListAndApply[*v3.BFDConfiguration, *v3.BFDConfigurationList, *projectcalicov3.BFDConfigurationApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("bfdconfigurations"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgpconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgpconfiguration.go index 7214dabe..17d346d1 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgpconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgpconfiguration.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeBGPConfigurations implements BGPConfigurationInterface type fakeBGPConfigurations struct { - *gentype.FakeClientWithList[*v3.BGPConfiguration, *v3.BGPConfigurationList] + *gentype.FakeClientWithListAndApply[*v3.BGPConfiguration, *v3.BGPConfigurationList, *projectcalicov3.BGPConfigurationApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeBGPConfigurations(fake *FakeProjectcalicoV3) projectcalicov3.BGPConfigurationInterface { +func newFakeBGPConfigurations(fake *FakeProjectcalicoV3) typedprojectcalicov3.BGPConfigurationInterface { return &fakeBGPConfigurations{ - gentype.NewFakeClientWithList[*v3.BGPConfiguration, *v3.BGPConfigurationList]( + gentype.NewFakeClientWithListAndApply[*v3.BGPConfiguration, *v3.BGPConfigurationList, *projectcalicov3.BGPConfigurationApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("bgpconfigurations"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgpfilter.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgpfilter.go index f77630d2..ceb025e8 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgpfilter.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgpfilter.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeBGPFilters implements BGPFilterInterface type fakeBGPFilters struct { - *gentype.FakeClientWithList[*v3.BGPFilter, *v3.BGPFilterList] + *gentype.FakeClientWithListAndApply[*v3.BGPFilter, *v3.BGPFilterList, *projectcalicov3.BGPFilterApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeBGPFilters(fake *FakeProjectcalicoV3) projectcalicov3.BGPFilterInterface { +func newFakeBGPFilters(fake *FakeProjectcalicoV3) typedprojectcalicov3.BGPFilterInterface { return &fakeBGPFilters{ - gentype.NewFakeClientWithList[*v3.BGPFilter, *v3.BGPFilterList]( + gentype.NewFakeClientWithListAndApply[*v3.BGPFilter, *v3.BGPFilterList, *projectcalicov3.BGPFilterApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("bgpfilters"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgppeer.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgppeer.go index 3f218355..454e37fd 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgppeer.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_bgppeer.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeBGPPeers implements BGPPeerInterface type fakeBGPPeers struct { - *gentype.FakeClientWithList[*v3.BGPPeer, *v3.BGPPeerList] + *gentype.FakeClientWithListAndApply[*v3.BGPPeer, *v3.BGPPeerList, *projectcalicov3.BGPPeerApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeBGPPeers(fake *FakeProjectcalicoV3) projectcalicov3.BGPPeerInterface { +func newFakeBGPPeers(fake *FakeProjectcalicoV3) typedprojectcalicov3.BGPPeerInterface { return &fakeBGPPeers{ - gentype.NewFakeClientWithList[*v3.BGPPeer, *v3.BGPPeerList]( + gentype.NewFakeClientWithListAndApply[*v3.BGPPeer, *v3.BGPPeerList, *projectcalicov3.BGPPeerApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("bgppeers"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_blockaffinity.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_blockaffinity.go index d93766bb..4393e908 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_blockaffinity.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_blockaffinity.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeBlockAffinities implements BlockAffinityInterface type fakeBlockAffinities struct { - *gentype.FakeClientWithList[*v3.BlockAffinity, *v3.BlockAffinityList] + *gentype.FakeClientWithListAndApply[*v3.BlockAffinity, *v3.BlockAffinityList, *projectcalicov3.BlockAffinityApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeBlockAffinities(fake *FakeProjectcalicoV3) projectcalicov3.BlockAffinityInterface { +func newFakeBlockAffinities(fake *FakeProjectcalicoV3) typedprojectcalicov3.BlockAffinityInterface { return &fakeBlockAffinities{ - gentype.NewFakeClientWithList[*v3.BlockAffinity, *v3.BlockAffinityList]( + gentype.NewFakeClientWithListAndApply[*v3.BlockAffinity, *v3.BlockAffinityList, *projectcalicov3.BlockAffinityApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("blockaffinities"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_caliconodestatus.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_caliconodestatus.go index 4c58b528..eb013145 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_caliconodestatus.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_caliconodestatus.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeCalicoNodeStatuses implements CalicoNodeStatusInterface type fakeCalicoNodeStatuses struct { - *gentype.FakeClientWithList[*v3.CalicoNodeStatus, *v3.CalicoNodeStatusList] + *gentype.FakeClientWithListAndApply[*v3.CalicoNodeStatus, *v3.CalicoNodeStatusList, *projectcalicov3.CalicoNodeStatusApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeCalicoNodeStatuses(fake *FakeProjectcalicoV3) projectcalicov3.CalicoNodeStatusInterface { +func newFakeCalicoNodeStatuses(fake *FakeProjectcalicoV3) typedprojectcalicov3.CalicoNodeStatusInterface { return &fakeCalicoNodeStatuses{ - gentype.NewFakeClientWithList[*v3.CalicoNodeStatus, *v3.CalicoNodeStatusList]( + gentype.NewFakeClientWithListAndApply[*v3.CalicoNodeStatus, *v3.CalicoNodeStatusList, *projectcalicov3.CalicoNodeStatusApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("caliconodestatuses"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_clusterinformation.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_clusterinformation.go index 8251c8d7..d468acb2 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_clusterinformation.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_clusterinformation.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeClusterInformations implements ClusterInformationInterface type fakeClusterInformations struct { - *gentype.FakeClientWithList[*v3.ClusterInformation, *v3.ClusterInformationList] + *gentype.FakeClientWithListAndApply[*v3.ClusterInformation, *v3.ClusterInformationList, *projectcalicov3.ClusterInformationApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeClusterInformations(fake *FakeProjectcalicoV3) projectcalicov3.ClusterInformationInterface { +func newFakeClusterInformations(fake *FakeProjectcalicoV3) typedprojectcalicov3.ClusterInformationInterface { return &fakeClusterInformations{ - gentype.NewFakeClientWithList[*v3.ClusterInformation, *v3.ClusterInformationList]( + gentype.NewFakeClientWithListAndApply[*v3.ClusterInformation, *v3.ClusterInformationList, *projectcalicov3.ClusterInformationApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("clusterinformations"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_deeppacketinspection.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_deeppacketinspection.go index b7b28ea8..b797e0f9 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_deeppacketinspection.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_deeppacketinspection.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeDeepPacketInspections implements DeepPacketInspectionInterface type fakeDeepPacketInspections struct { - *gentype.FakeClientWithList[*v3.DeepPacketInspection, *v3.DeepPacketInspectionList] + *gentype.FakeClientWithListAndApply[*v3.DeepPacketInspection, *v3.DeepPacketInspectionList, *projectcalicov3.DeepPacketInspectionApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeDeepPacketInspections(fake *FakeProjectcalicoV3, namespace string) projectcalicov3.DeepPacketInspectionInterface { +func newFakeDeepPacketInspections(fake *FakeProjectcalicoV3, namespace string) typedprojectcalicov3.DeepPacketInspectionInterface { return &fakeDeepPacketInspections{ - gentype.NewFakeClientWithList[*v3.DeepPacketInspection, *v3.DeepPacketInspectionList]( + gentype.NewFakeClientWithListAndApply[*v3.DeepPacketInspection, *v3.DeepPacketInspectionList, *projectcalicov3.DeepPacketInspectionApplyConfiguration]( fake.Fake, namespace, v3.SchemeGroupVersion.WithResource("deeppacketinspections"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_egressgatewaypolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_egressgatewaypolicy.go index 931213c4..b62822b3 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_egressgatewaypolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_egressgatewaypolicy.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeEgressGatewayPolicies implements EgressGatewayPolicyInterface type fakeEgressGatewayPolicies struct { - *gentype.FakeClientWithList[*v3.EgressGatewayPolicy, *v3.EgressGatewayPolicyList] + *gentype.FakeClientWithListAndApply[*v3.EgressGatewayPolicy, *v3.EgressGatewayPolicyList, *projectcalicov3.EgressGatewayPolicyApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeEgressGatewayPolicies(fake *FakeProjectcalicoV3) projectcalicov3.EgressGatewayPolicyInterface { +func newFakeEgressGatewayPolicies(fake *FakeProjectcalicoV3) typedprojectcalicov3.EgressGatewayPolicyInterface { return &fakeEgressGatewayPolicies{ - gentype.NewFakeClientWithList[*v3.EgressGatewayPolicy, *v3.EgressGatewayPolicyList]( + gentype.NewFakeClientWithListAndApply[*v3.EgressGatewayPolicy, *v3.EgressGatewayPolicyList, *projectcalicov3.EgressGatewayPolicyApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("egressgatewaypolicies"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_externalnetwork.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_externalnetwork.go index a0aa05b0..8615b155 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_externalnetwork.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_externalnetwork.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeExternalNetworks implements ExternalNetworkInterface type fakeExternalNetworks struct { - *gentype.FakeClientWithList[*v3.ExternalNetwork, *v3.ExternalNetworkList] + *gentype.FakeClientWithListAndApply[*v3.ExternalNetwork, *v3.ExternalNetworkList, *projectcalicov3.ExternalNetworkApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeExternalNetworks(fake *FakeProjectcalicoV3) projectcalicov3.ExternalNetworkInterface { +func newFakeExternalNetworks(fake *FakeProjectcalicoV3) typedprojectcalicov3.ExternalNetworkInterface { return &fakeExternalNetworks{ - gentype.NewFakeClientWithList[*v3.ExternalNetwork, *v3.ExternalNetworkList]( + gentype.NewFakeClientWithListAndApply[*v3.ExternalNetwork, *v3.ExternalNetworkList, *projectcalicov3.ExternalNetworkApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("externalnetworks"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_felixconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_felixconfiguration.go index 0e8cc501..07d1634f 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_felixconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_felixconfiguration.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeFelixConfigurations implements FelixConfigurationInterface type fakeFelixConfigurations struct { - *gentype.FakeClientWithList[*v3.FelixConfiguration, *v3.FelixConfigurationList] + *gentype.FakeClientWithListAndApply[*v3.FelixConfiguration, *v3.FelixConfigurationList, *projectcalicov3.FelixConfigurationApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeFelixConfigurations(fake *FakeProjectcalicoV3) projectcalicov3.FelixConfigurationInterface { +func newFakeFelixConfigurations(fake *FakeProjectcalicoV3) typedprojectcalicov3.FelixConfigurationInterface { return &fakeFelixConfigurations{ - gentype.NewFakeClientWithList[*v3.FelixConfiguration, *v3.FelixConfigurationList]( + gentype.NewFakeClientWithListAndApply[*v3.FelixConfiguration, *v3.FelixConfigurationList, *projectcalicov3.FelixConfigurationApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("felixconfigurations"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalalert.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalalert.go index c1fc1bd8..b037b1f1 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalalert.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalalert.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeGlobalAlerts implements GlobalAlertInterface type fakeGlobalAlerts struct { - *gentype.FakeClientWithList[*v3.GlobalAlert, *v3.GlobalAlertList] + *gentype.FakeClientWithListAndApply[*v3.GlobalAlert, *v3.GlobalAlertList, *projectcalicov3.GlobalAlertApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeGlobalAlerts(fake *FakeProjectcalicoV3) projectcalicov3.GlobalAlertInterface { +func newFakeGlobalAlerts(fake *FakeProjectcalicoV3) typedprojectcalicov3.GlobalAlertInterface { return &fakeGlobalAlerts{ - gentype.NewFakeClientWithList[*v3.GlobalAlert, *v3.GlobalAlertList]( + gentype.NewFakeClientWithListAndApply[*v3.GlobalAlert, *v3.GlobalAlertList, *projectcalicov3.GlobalAlertApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("globalalerts"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalalerttemplate.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalalerttemplate.go index 3e2f907f..3ba501d5 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalalerttemplate.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalalerttemplate.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeGlobalAlertTemplates implements GlobalAlertTemplateInterface type fakeGlobalAlertTemplates struct { - *gentype.FakeClientWithList[*v3.GlobalAlertTemplate, *v3.GlobalAlertTemplateList] + *gentype.FakeClientWithListAndApply[*v3.GlobalAlertTemplate, *v3.GlobalAlertTemplateList, *projectcalicov3.GlobalAlertTemplateApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeGlobalAlertTemplates(fake *FakeProjectcalicoV3) projectcalicov3.GlobalAlertTemplateInterface { +func newFakeGlobalAlertTemplates(fake *FakeProjectcalicoV3) typedprojectcalicov3.GlobalAlertTemplateInterface { return &fakeGlobalAlertTemplates{ - gentype.NewFakeClientWithList[*v3.GlobalAlertTemplate, *v3.GlobalAlertTemplateList]( + gentype.NewFakeClientWithListAndApply[*v3.GlobalAlertTemplate, *v3.GlobalAlertTemplateList, *projectcalicov3.GlobalAlertTemplateApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("globalalerttemplates"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalnetworkpolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalnetworkpolicy.go index 8da6a147..5cf1e889 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalnetworkpolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalnetworkpolicy.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeGlobalNetworkPolicies implements GlobalNetworkPolicyInterface type fakeGlobalNetworkPolicies struct { - *gentype.FakeClientWithList[*v3.GlobalNetworkPolicy, *v3.GlobalNetworkPolicyList] + *gentype.FakeClientWithListAndApply[*v3.GlobalNetworkPolicy, *v3.GlobalNetworkPolicyList, *projectcalicov3.GlobalNetworkPolicyApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeGlobalNetworkPolicies(fake *FakeProjectcalicoV3) projectcalicov3.GlobalNetworkPolicyInterface { +func newFakeGlobalNetworkPolicies(fake *FakeProjectcalicoV3) typedprojectcalicov3.GlobalNetworkPolicyInterface { return &fakeGlobalNetworkPolicies{ - gentype.NewFakeClientWithList[*v3.GlobalNetworkPolicy, *v3.GlobalNetworkPolicyList]( + gentype.NewFakeClientWithListAndApply[*v3.GlobalNetworkPolicy, *v3.GlobalNetworkPolicyList, *projectcalicov3.GlobalNetworkPolicyApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("globalnetworkpolicies"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalnetworkset.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalnetworkset.go index 544133ec..4c06f97b 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalnetworkset.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalnetworkset.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeGlobalNetworkSets implements GlobalNetworkSetInterface type fakeGlobalNetworkSets struct { - *gentype.FakeClientWithList[*v3.GlobalNetworkSet, *v3.GlobalNetworkSetList] + *gentype.FakeClientWithListAndApply[*v3.GlobalNetworkSet, *v3.GlobalNetworkSetList, *projectcalicov3.GlobalNetworkSetApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeGlobalNetworkSets(fake *FakeProjectcalicoV3) projectcalicov3.GlobalNetworkSetInterface { +func newFakeGlobalNetworkSets(fake *FakeProjectcalicoV3) typedprojectcalicov3.GlobalNetworkSetInterface { return &fakeGlobalNetworkSets{ - gentype.NewFakeClientWithList[*v3.GlobalNetworkSet, *v3.GlobalNetworkSetList]( + gentype.NewFakeClientWithListAndApply[*v3.GlobalNetworkSet, *v3.GlobalNetworkSetList, *projectcalicov3.GlobalNetworkSetApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("globalnetworksets"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalreport.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalreport.go index bdac381b..faec341a 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalreport.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalreport.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeGlobalReports implements GlobalReportInterface type fakeGlobalReports struct { - *gentype.FakeClientWithList[*v3.GlobalReport, *v3.GlobalReportList] + *gentype.FakeClientWithListAndApply[*v3.GlobalReport, *v3.GlobalReportList, *projectcalicov3.GlobalReportApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeGlobalReports(fake *FakeProjectcalicoV3) projectcalicov3.GlobalReportInterface { +func newFakeGlobalReports(fake *FakeProjectcalicoV3) typedprojectcalicov3.GlobalReportInterface { return &fakeGlobalReports{ - gentype.NewFakeClientWithList[*v3.GlobalReport, *v3.GlobalReportList]( + gentype.NewFakeClientWithListAndApply[*v3.GlobalReport, *v3.GlobalReportList, *projectcalicov3.GlobalReportApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("globalreports"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalreporttype.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalreporttype.go index fee0b614..21ceb166 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalreporttype.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalreporttype.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeGlobalReportTypes implements GlobalReportTypeInterface type fakeGlobalReportTypes struct { - *gentype.FakeClientWithList[*v3.GlobalReportType, *v3.GlobalReportTypeList] + *gentype.FakeClientWithListAndApply[*v3.GlobalReportType, *v3.GlobalReportTypeList, *projectcalicov3.GlobalReportTypeApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeGlobalReportTypes(fake *FakeProjectcalicoV3) projectcalicov3.GlobalReportTypeInterface { +func newFakeGlobalReportTypes(fake *FakeProjectcalicoV3) typedprojectcalicov3.GlobalReportTypeInterface { return &fakeGlobalReportTypes{ - gentype.NewFakeClientWithList[*v3.GlobalReportType, *v3.GlobalReportTypeList]( + gentype.NewFakeClientWithListAndApply[*v3.GlobalReportType, *v3.GlobalReportTypeList, *projectcalicov3.GlobalReportTypeApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("globalreporttypes"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalthreatfeed.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalthreatfeed.go index 5766618d..9b143172 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalthreatfeed.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_globalthreatfeed.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeGlobalThreatFeeds implements GlobalThreatFeedInterface type fakeGlobalThreatFeeds struct { - *gentype.FakeClientWithList[*v3.GlobalThreatFeed, *v3.GlobalThreatFeedList] + *gentype.FakeClientWithListAndApply[*v3.GlobalThreatFeed, *v3.GlobalThreatFeedList, *projectcalicov3.GlobalThreatFeedApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeGlobalThreatFeeds(fake *FakeProjectcalicoV3) projectcalicov3.GlobalThreatFeedInterface { +func newFakeGlobalThreatFeeds(fake *FakeProjectcalicoV3) typedprojectcalicov3.GlobalThreatFeedInterface { return &fakeGlobalThreatFeeds{ - gentype.NewFakeClientWithList[*v3.GlobalThreatFeed, *v3.GlobalThreatFeedList]( + gentype.NewFakeClientWithListAndApply[*v3.GlobalThreatFeed, *v3.GlobalThreatFeedList, *projectcalicov3.GlobalThreatFeedApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("globalthreatfeeds"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_hostendpoint.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_hostendpoint.go index 0d337c16..0d537fa6 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_hostendpoint.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_hostendpoint.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeHostEndpoints implements HostEndpointInterface type fakeHostEndpoints struct { - *gentype.FakeClientWithList[*v3.HostEndpoint, *v3.HostEndpointList] + *gentype.FakeClientWithListAndApply[*v3.HostEndpoint, *v3.HostEndpointList, *projectcalicov3.HostEndpointApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeHostEndpoints(fake *FakeProjectcalicoV3) projectcalicov3.HostEndpointInterface { +func newFakeHostEndpoints(fake *FakeProjectcalicoV3) typedprojectcalicov3.HostEndpointInterface { return &fakeHostEndpoints{ - gentype.NewFakeClientWithList[*v3.HostEndpoint, *v3.HostEndpointList]( + gentype.NewFakeClientWithListAndApply[*v3.HostEndpoint, *v3.HostEndpointList, *projectcalicov3.HostEndpointApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("hostendpoints"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamblock.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamblock.go index 5d861589..cc0a79bf 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamblock.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamblock.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeIPAMBlocks implements IPAMBlockInterface type fakeIPAMBlocks struct { - *gentype.FakeClientWithList[*v3.IPAMBlock, *v3.IPAMBlockList] + *gentype.FakeClientWithListAndApply[*v3.IPAMBlock, *v3.IPAMBlockList, *projectcalicov3.IPAMBlockApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeIPAMBlocks(fake *FakeProjectcalicoV3) projectcalicov3.IPAMBlockInterface { +func newFakeIPAMBlocks(fake *FakeProjectcalicoV3) typedprojectcalicov3.IPAMBlockInterface { return &fakeIPAMBlocks{ - gentype.NewFakeClientWithList[*v3.IPAMBlock, *v3.IPAMBlockList]( + gentype.NewFakeClientWithListAndApply[*v3.IPAMBlock, *v3.IPAMBlockList, *projectcalicov3.IPAMBlockApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("ipamblocks"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamconfiguration.go index e0dc382f..77af9f4e 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamconfiguration.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeIPAMConfigurations implements IPAMConfigurationInterface type fakeIPAMConfigurations struct { - *gentype.FakeClientWithList[*v3.IPAMConfiguration, *v3.IPAMConfigurationList] + *gentype.FakeClientWithListAndApply[*v3.IPAMConfiguration, *v3.IPAMConfigurationList, *projectcalicov3.IPAMConfigurationApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeIPAMConfigurations(fake *FakeProjectcalicoV3) projectcalicov3.IPAMConfigurationInterface { +func newFakeIPAMConfigurations(fake *FakeProjectcalicoV3) typedprojectcalicov3.IPAMConfigurationInterface { return &fakeIPAMConfigurations{ - gentype.NewFakeClientWithList[*v3.IPAMConfiguration, *v3.IPAMConfigurationList]( + gentype.NewFakeClientWithListAndApply[*v3.IPAMConfiguration, *v3.IPAMConfigurationList, *projectcalicov3.IPAMConfigurationApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("ipamconfigurations"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamhandle.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamhandle.go index 67edbac0..f56d9afe 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamhandle.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipamhandle.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeIPAMHandles implements IPAMHandleInterface type fakeIPAMHandles struct { - *gentype.FakeClientWithList[*v3.IPAMHandle, *v3.IPAMHandleList] + *gentype.FakeClientWithListAndApply[*v3.IPAMHandle, *v3.IPAMHandleList, *projectcalicov3.IPAMHandleApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeIPAMHandles(fake *FakeProjectcalicoV3, namespace string) projectcalicov3.IPAMHandleInterface { +func newFakeIPAMHandles(fake *FakeProjectcalicoV3, namespace string) typedprojectcalicov3.IPAMHandleInterface { return &fakeIPAMHandles{ - gentype.NewFakeClientWithList[*v3.IPAMHandle, *v3.IPAMHandleList]( + gentype.NewFakeClientWithListAndApply[*v3.IPAMHandle, *v3.IPAMHandleList, *projectcalicov3.IPAMHandleApplyConfiguration]( fake.Fake, namespace, v3.SchemeGroupVersion.WithResource("ipamhandles"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ippool.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ippool.go index 06232008..93db9866 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ippool.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ippool.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeIPPools implements IPPoolInterface type fakeIPPools struct { - *gentype.FakeClientWithList[*v3.IPPool, *v3.IPPoolList] + *gentype.FakeClientWithListAndApply[*v3.IPPool, *v3.IPPoolList, *projectcalicov3.IPPoolApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeIPPools(fake *FakeProjectcalicoV3) projectcalicov3.IPPoolInterface { +func newFakeIPPools(fake *FakeProjectcalicoV3) typedprojectcalicov3.IPPoolInterface { return &fakeIPPools{ - gentype.NewFakeClientWithList[*v3.IPPool, *v3.IPPoolList]( + gentype.NewFakeClientWithListAndApply[*v3.IPPool, *v3.IPPoolList, *projectcalicov3.IPPoolApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("ippools"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipreservation.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipreservation.go index b3f16f7c..468f59c3 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipreservation.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_ipreservation.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeIPReservations implements IPReservationInterface type fakeIPReservations struct { - *gentype.FakeClientWithList[*v3.IPReservation, *v3.IPReservationList] + *gentype.FakeClientWithListAndApply[*v3.IPReservation, *v3.IPReservationList, *projectcalicov3.IPReservationApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeIPReservations(fake *FakeProjectcalicoV3) projectcalicov3.IPReservationInterface { +func newFakeIPReservations(fake *FakeProjectcalicoV3) typedprojectcalicov3.IPReservationInterface { return &fakeIPReservations{ - gentype.NewFakeClientWithList[*v3.IPReservation, *v3.IPReservationList]( + gentype.NewFakeClientWithListAndApply[*v3.IPReservation, *v3.IPReservationList, *projectcalicov3.IPReservationApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("ipreservations"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_kubecontrollersconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_kubecontrollersconfiguration.go index 8238ff9f..df391525 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_kubecontrollersconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_kubecontrollersconfiguration.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeKubeControllersConfigurations implements KubeControllersConfigurationInterface type fakeKubeControllersConfigurations struct { - *gentype.FakeClientWithList[*v3.KubeControllersConfiguration, *v3.KubeControllersConfigurationList] + *gentype.FakeClientWithListAndApply[*v3.KubeControllersConfiguration, *v3.KubeControllersConfigurationList, *projectcalicov3.KubeControllersConfigurationApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeKubeControllersConfigurations(fake *FakeProjectcalicoV3) projectcalicov3.KubeControllersConfigurationInterface { +func newFakeKubeControllersConfigurations(fake *FakeProjectcalicoV3) typedprojectcalicov3.KubeControllersConfigurationInterface { return &fakeKubeControllersConfigurations{ - gentype.NewFakeClientWithList[*v3.KubeControllersConfiguration, *v3.KubeControllersConfigurationList]( + gentype.NewFakeClientWithListAndApply[*v3.KubeControllersConfiguration, *v3.KubeControllersConfigurationList, *projectcalicov3.KubeControllersConfigurationApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("kubecontrollersconfigurations"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_licensekey.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_licensekey.go index 057d3287..d218d018 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_licensekey.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_licensekey.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeLicenseKeys implements LicenseKeyInterface type fakeLicenseKeys struct { - *gentype.FakeClientWithList[*v3.LicenseKey, *v3.LicenseKeyList] + *gentype.FakeClientWithListAndApply[*v3.LicenseKey, *v3.LicenseKeyList, *projectcalicov3.LicenseKeyApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeLicenseKeys(fake *FakeProjectcalicoV3) projectcalicov3.LicenseKeyInterface { +func newFakeLicenseKeys(fake *FakeProjectcalicoV3) typedprojectcalicov3.LicenseKeyInterface { return &fakeLicenseKeys{ - gentype.NewFakeClientWithList[*v3.LicenseKey, *v3.LicenseKeyList]( + gentype.NewFakeClientWithListAndApply[*v3.LicenseKey, *v3.LicenseKeyList, *projectcalicov3.LicenseKeyApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("licensekeys"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_managedcluster.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_managedcluster.go index 7a25364c..df0b4bb5 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_managedcluster.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_managedcluster.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeManagedClusters implements ManagedClusterInterface type fakeManagedClusters struct { - *gentype.FakeClientWithList[*v3.ManagedCluster, *v3.ManagedClusterList] + *gentype.FakeClientWithListAndApply[*v3.ManagedCluster, *v3.ManagedClusterList, *projectcalicov3.ManagedClusterApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeManagedClusters(fake *FakeProjectcalicoV3) projectcalicov3.ManagedClusterInterface { +func newFakeManagedClusters(fake *FakeProjectcalicoV3) typedprojectcalicov3.ManagedClusterInterface { return &fakeManagedClusters{ - gentype.NewFakeClientWithList[*v3.ManagedCluster, *v3.ManagedClusterList]( + gentype.NewFakeClientWithListAndApply[*v3.ManagedCluster, *v3.ManagedClusterList, *projectcalicov3.ManagedClusterApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("managedclusters"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_networkpolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_networkpolicy.go index bc2c73a3..eae1b8a1 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_networkpolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_networkpolicy.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeNetworkPolicies implements NetworkPolicyInterface type fakeNetworkPolicies struct { - *gentype.FakeClientWithList[*v3.NetworkPolicy, *v3.NetworkPolicyList] + *gentype.FakeClientWithListAndApply[*v3.NetworkPolicy, *v3.NetworkPolicyList, *projectcalicov3.NetworkPolicyApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeNetworkPolicies(fake *FakeProjectcalicoV3, namespace string) projectcalicov3.NetworkPolicyInterface { +func newFakeNetworkPolicies(fake *FakeProjectcalicoV3, namespace string) typedprojectcalicov3.NetworkPolicyInterface { return &fakeNetworkPolicies{ - gentype.NewFakeClientWithList[*v3.NetworkPolicy, *v3.NetworkPolicyList]( + gentype.NewFakeClientWithListAndApply[*v3.NetworkPolicy, *v3.NetworkPolicyList, *projectcalicov3.NetworkPolicyApplyConfiguration]( fake.Fake, namespace, v3.SchemeGroupVersion.WithResource("networkpolicies"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_networkset.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_networkset.go index 9af24346..a144120d 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_networkset.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_networkset.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeNetworkSets implements NetworkSetInterface type fakeNetworkSets struct { - *gentype.FakeClientWithList[*v3.NetworkSet, *v3.NetworkSetList] + *gentype.FakeClientWithListAndApply[*v3.NetworkSet, *v3.NetworkSetList, *projectcalicov3.NetworkSetApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeNetworkSets(fake *FakeProjectcalicoV3, namespace string) projectcalicov3.NetworkSetInterface { +func newFakeNetworkSets(fake *FakeProjectcalicoV3, namespace string) typedprojectcalicov3.NetworkSetInterface { return &fakeNetworkSets{ - gentype.NewFakeClientWithList[*v3.NetworkSet, *v3.NetworkSetList]( + gentype.NewFakeClientWithListAndApply[*v3.NetworkSet, *v3.NetworkSetList, *projectcalicov3.NetworkSetApplyConfiguration]( fake.Fake, namespace, v3.SchemeGroupVersion.WithResource("networksets"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_packetcapture.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_packetcapture.go index 6e4feffb..c8d37b4c 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_packetcapture.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_packetcapture.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakePacketCaptures implements PacketCaptureInterface type fakePacketCaptures struct { - *gentype.FakeClientWithList[*v3.PacketCapture, *v3.PacketCaptureList] + *gentype.FakeClientWithListAndApply[*v3.PacketCapture, *v3.PacketCaptureList, *projectcalicov3.PacketCaptureApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakePacketCaptures(fake *FakeProjectcalicoV3, namespace string) projectcalicov3.PacketCaptureInterface { +func newFakePacketCaptures(fake *FakeProjectcalicoV3, namespace string) typedprojectcalicov3.PacketCaptureInterface { return &fakePacketCaptures{ - gentype.NewFakeClientWithList[*v3.PacketCapture, *v3.PacketCaptureList]( + gentype.NewFakeClientWithListAndApply[*v3.PacketCapture, *v3.PacketCaptureList, *projectcalicov3.PacketCaptureApplyConfiguration]( fake.Fake, namespace, v3.SchemeGroupVersion.WithResource("packetcaptures"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_policyrecommendationscope.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_policyrecommendationscope.go index 77f56a56..b35e1a12 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_policyrecommendationscope.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_policyrecommendationscope.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakePolicyRecommendationScopes implements PolicyRecommendationScopeInterface type fakePolicyRecommendationScopes struct { - *gentype.FakeClientWithList[*v3.PolicyRecommendationScope, *v3.PolicyRecommendationScopeList] + *gentype.FakeClientWithListAndApply[*v3.PolicyRecommendationScope, *v3.PolicyRecommendationScopeList, *projectcalicov3.PolicyRecommendationScopeApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakePolicyRecommendationScopes(fake *FakeProjectcalicoV3) projectcalicov3.PolicyRecommendationScopeInterface { +func newFakePolicyRecommendationScopes(fake *FakeProjectcalicoV3) typedprojectcalicov3.PolicyRecommendationScopeInterface { return &fakePolicyRecommendationScopes{ - gentype.NewFakeClientWithList[*v3.PolicyRecommendationScope, *v3.PolicyRecommendationScopeList]( + gentype.NewFakeClientWithListAndApply[*v3.PolicyRecommendationScope, *v3.PolicyRecommendationScopeList, *projectcalicov3.PolicyRecommendationScopeApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("policyrecommendationscopes"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_profile.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_profile.go index a4e8ee09..9acbe1c2 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_profile.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_profile.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeProfiles implements ProfileInterface type fakeProfiles struct { - *gentype.FakeClientWithList[*v3.Profile, *v3.ProfileList] + *gentype.FakeClientWithListAndApply[*v3.Profile, *v3.ProfileList, *projectcalicov3.ProfileApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeProfiles(fake *FakeProjectcalicoV3) projectcalicov3.ProfileInterface { +func newFakeProfiles(fake *FakeProjectcalicoV3) typedprojectcalicov3.ProfileInterface { return &fakeProfiles{ - gentype.NewFakeClientWithList[*v3.Profile, *v3.ProfileList]( + gentype.NewFakeClientWithListAndApply[*v3.Profile, *v3.ProfileList, *projectcalicov3.ProfileApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("profiles"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_remoteclusterconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_remoteclusterconfiguration.go index c282d0c2..eb62b0d0 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_remoteclusterconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_remoteclusterconfiguration.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeRemoteClusterConfigurations implements RemoteClusterConfigurationInterface type fakeRemoteClusterConfigurations struct { - *gentype.FakeClientWithList[*v3.RemoteClusterConfiguration, *v3.RemoteClusterConfigurationList] + *gentype.FakeClientWithListAndApply[*v3.RemoteClusterConfiguration, *v3.RemoteClusterConfigurationList, *projectcalicov3.RemoteClusterConfigurationApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeRemoteClusterConfigurations(fake *FakeProjectcalicoV3) projectcalicov3.RemoteClusterConfigurationInterface { +func newFakeRemoteClusterConfigurations(fake *FakeProjectcalicoV3) typedprojectcalicov3.RemoteClusterConfigurationInterface { return &fakeRemoteClusterConfigurations{ - gentype.NewFakeClientWithList[*v3.RemoteClusterConfiguration, *v3.RemoteClusterConfigurationList]( + gentype.NewFakeClientWithListAndApply[*v3.RemoteClusterConfiguration, *v3.RemoteClusterConfigurationList, *projectcalicov3.RemoteClusterConfigurationApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("remoteclusterconfigurations"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_securityeventwebhook.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_securityeventwebhook.go index 997a8f02..9e264f22 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_securityeventwebhook.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_securityeventwebhook.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeSecurityEventWebhooks implements SecurityEventWebhookInterface type fakeSecurityEventWebhooks struct { - *gentype.FakeClientWithList[*v3.SecurityEventWebhook, *v3.SecurityEventWebhookList] + *gentype.FakeClientWithListAndApply[*v3.SecurityEventWebhook, *v3.SecurityEventWebhookList, *projectcalicov3.SecurityEventWebhookApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeSecurityEventWebhooks(fake *FakeProjectcalicoV3) projectcalicov3.SecurityEventWebhookInterface { +func newFakeSecurityEventWebhooks(fake *FakeProjectcalicoV3) typedprojectcalicov3.SecurityEventWebhookInterface { return &fakeSecurityEventWebhooks{ - gentype.NewFakeClientWithList[*v3.SecurityEventWebhook, *v3.SecurityEventWebhookList]( + gentype.NewFakeClientWithListAndApply[*v3.SecurityEventWebhook, *v3.SecurityEventWebhookList, *projectcalicov3.SecurityEventWebhookApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("securityeventwebhooks"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagedglobalnetworkpolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagedglobalnetworkpolicy.go index e1f2b098..be781aef 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagedglobalnetworkpolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagedglobalnetworkpolicy.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeStagedGlobalNetworkPolicies implements StagedGlobalNetworkPolicyInterface type fakeStagedGlobalNetworkPolicies struct { - *gentype.FakeClientWithList[*v3.StagedGlobalNetworkPolicy, *v3.StagedGlobalNetworkPolicyList] + *gentype.FakeClientWithListAndApply[*v3.StagedGlobalNetworkPolicy, *v3.StagedGlobalNetworkPolicyList, *projectcalicov3.StagedGlobalNetworkPolicyApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeStagedGlobalNetworkPolicies(fake *FakeProjectcalicoV3) projectcalicov3.StagedGlobalNetworkPolicyInterface { +func newFakeStagedGlobalNetworkPolicies(fake *FakeProjectcalicoV3) typedprojectcalicov3.StagedGlobalNetworkPolicyInterface { return &fakeStagedGlobalNetworkPolicies{ - gentype.NewFakeClientWithList[*v3.StagedGlobalNetworkPolicy, *v3.StagedGlobalNetworkPolicyList]( + gentype.NewFakeClientWithListAndApply[*v3.StagedGlobalNetworkPolicy, *v3.StagedGlobalNetworkPolicyList, *projectcalicov3.StagedGlobalNetworkPolicyApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("stagedglobalnetworkpolicies"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagedkubernetesnetworkpolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagedkubernetesnetworkpolicy.go index 4cbf88fd..9dda986c 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagedkubernetesnetworkpolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagedkubernetesnetworkpolicy.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeStagedKubernetesNetworkPolicies implements StagedKubernetesNetworkPolicyInterface type fakeStagedKubernetesNetworkPolicies struct { - *gentype.FakeClientWithList[*v3.StagedKubernetesNetworkPolicy, *v3.StagedKubernetesNetworkPolicyList] + *gentype.FakeClientWithListAndApply[*v3.StagedKubernetesNetworkPolicy, *v3.StagedKubernetesNetworkPolicyList, *projectcalicov3.StagedKubernetesNetworkPolicyApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeStagedKubernetesNetworkPolicies(fake *FakeProjectcalicoV3, namespace string) projectcalicov3.StagedKubernetesNetworkPolicyInterface { +func newFakeStagedKubernetesNetworkPolicies(fake *FakeProjectcalicoV3, namespace string) typedprojectcalicov3.StagedKubernetesNetworkPolicyInterface { return &fakeStagedKubernetesNetworkPolicies{ - gentype.NewFakeClientWithList[*v3.StagedKubernetesNetworkPolicy, *v3.StagedKubernetesNetworkPolicyList]( + gentype.NewFakeClientWithListAndApply[*v3.StagedKubernetesNetworkPolicy, *v3.StagedKubernetesNetworkPolicyList, *projectcalicov3.StagedKubernetesNetworkPolicyApplyConfiguration]( fake.Fake, namespace, v3.SchemeGroupVersion.WithResource("stagedkubernetesnetworkpolicies"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagednetworkpolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagednetworkpolicy.go index c590cbf1..5652a8d2 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagednetworkpolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_stagednetworkpolicy.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeStagedNetworkPolicies implements StagedNetworkPolicyInterface type fakeStagedNetworkPolicies struct { - *gentype.FakeClientWithList[*v3.StagedNetworkPolicy, *v3.StagedNetworkPolicyList] + *gentype.FakeClientWithListAndApply[*v3.StagedNetworkPolicy, *v3.StagedNetworkPolicyList, *projectcalicov3.StagedNetworkPolicyApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeStagedNetworkPolicies(fake *FakeProjectcalicoV3, namespace string) projectcalicov3.StagedNetworkPolicyInterface { +func newFakeStagedNetworkPolicies(fake *FakeProjectcalicoV3, namespace string) typedprojectcalicov3.StagedNetworkPolicyInterface { return &fakeStagedNetworkPolicies{ - gentype.NewFakeClientWithList[*v3.StagedNetworkPolicy, *v3.StagedNetworkPolicyList]( + gentype.NewFakeClientWithListAndApply[*v3.StagedNetworkPolicy, *v3.StagedNetworkPolicyList, *projectcalicov3.StagedNetworkPolicyApplyConfiguration]( fake.Fake, namespace, v3.SchemeGroupVersion.WithResource("stagednetworkpolicies"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_tier.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_tier.go index ee37a524..62df9683 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_tier.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_tier.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeTiers implements TierInterface type fakeTiers struct { - *gentype.FakeClientWithList[*v3.Tier, *v3.TierList] + *gentype.FakeClientWithListAndApply[*v3.Tier, *v3.TierList, *projectcalicov3.TierApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeTiers(fake *FakeProjectcalicoV3) projectcalicov3.TierInterface { +func newFakeTiers(fake *FakeProjectcalicoV3) typedprojectcalicov3.TierInterface { return &fakeTiers{ - gentype.NewFakeClientWithList[*v3.Tier, *v3.TierList]( + gentype.NewFakeClientWithListAndApply[*v3.Tier, *v3.TierList, *projectcalicov3.TierApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("tiers"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_uisettings.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_uisettings.go index 36df88fd..f657ef96 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_uisettings.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_uisettings.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeUISettings implements UISettingsInterface type fakeUISettings struct { - *gentype.FakeClientWithList[*v3.UISettings, *v3.UISettingsList] + *gentype.FakeClientWithListAndApply[*v3.UISettings, *v3.UISettingsList, *projectcalicov3.UISettingsApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeUISettings(fake *FakeProjectcalicoV3) projectcalicov3.UISettingsInterface { +func newFakeUISettings(fake *FakeProjectcalicoV3) typedprojectcalicov3.UISettingsInterface { return &fakeUISettings{ - gentype.NewFakeClientWithList[*v3.UISettings, *v3.UISettingsList]( + gentype.NewFakeClientWithListAndApply[*v3.UISettings, *v3.UISettingsList, *projectcalicov3.UISettingsApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("uisettings"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_uisettingsgroup.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_uisettingsgroup.go index f026bd67..6ad1d81f 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_uisettingsgroup.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/fake/fake_uisettingsgroup.go @@ -6,19 +6,20 @@ package fake import ( v3 "github.com/tigera/api/pkg/apis/projectcalico/v3" - projectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" + projectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" + typedprojectcalicov3 "github.com/tigera/api/pkg/client/clientset_generated/clientset/typed/projectcalico/v3" gentype "k8s.io/client-go/gentype" ) // fakeUISettingsGroups implements UISettingsGroupInterface type fakeUISettingsGroups struct { - *gentype.FakeClientWithList[*v3.UISettingsGroup, *v3.UISettingsGroupList] + *gentype.FakeClientWithListAndApply[*v3.UISettingsGroup, *v3.UISettingsGroupList, *projectcalicov3.UISettingsGroupApplyConfiguration] Fake *FakeProjectcalicoV3 } -func newFakeUISettingsGroups(fake *FakeProjectcalicoV3) projectcalicov3.UISettingsGroupInterface { +func newFakeUISettingsGroups(fake *FakeProjectcalicoV3) typedprojectcalicov3.UISettingsGroupInterface { return &fakeUISettingsGroups{ - gentype.NewFakeClientWithList[*v3.UISettingsGroup, *v3.UISettingsGroupList]( + gentype.NewFakeClientWithListAndApply[*v3.UISettingsGroup, *v3.UISettingsGroupList, *projectcalicov3.UISettingsGroupApplyConfiguration]( fake.Fake, "", v3.SchemeGroupVersion.WithResource("uisettingsgroups"), diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/felixconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/felixconfiguration.go index 3fa34ad4..7ebd6f56 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/felixconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/felixconfiguration.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type FelixConfigurationInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.FelixConfigurationList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.FelixConfiguration, err error) + Apply(ctx context.Context, felixConfiguration *applyconfigurationgeneratedprojectcalicov3.FelixConfigurationApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.FelixConfiguration, err error) FelixConfigurationExpansion } // felixConfigurations implements FelixConfigurationInterface type felixConfigurations struct { - *gentype.ClientWithList[*projectcalicov3.FelixConfiguration, *projectcalicov3.FelixConfigurationList] + *gentype.ClientWithListAndApply[*projectcalicov3.FelixConfiguration, *projectcalicov3.FelixConfigurationList, *applyconfigurationgeneratedprojectcalicov3.FelixConfigurationApplyConfiguration] } // newFelixConfigurations returns a FelixConfigurations func newFelixConfigurations(c *ProjectcalicoV3Client) *felixConfigurations { return &felixConfigurations{ - gentype.NewClientWithList[*projectcalicov3.FelixConfiguration, *projectcalicov3.FelixConfigurationList]( + gentype.NewClientWithListAndApply[*projectcalicov3.FelixConfiguration, *projectcalicov3.FelixConfigurationList, *applyconfigurationgeneratedprojectcalicov3.FelixConfigurationApplyConfiguration]( "felixconfigurations", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalalert.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalalert.go index 2209cc74..ee76dee8 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalalert.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalalert.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type GlobalAlertInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.GlobalAlertList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.GlobalAlert, err error) + Apply(ctx context.Context, globalAlert *applyconfigurationgeneratedprojectcalicov3.GlobalAlertApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.GlobalAlert, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, globalAlert *applyconfigurationgeneratedprojectcalicov3.GlobalAlertApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.GlobalAlert, err error) GlobalAlertExpansion } // globalAlerts implements GlobalAlertInterface type globalAlerts struct { - *gentype.ClientWithList[*projectcalicov3.GlobalAlert, *projectcalicov3.GlobalAlertList] + *gentype.ClientWithListAndApply[*projectcalicov3.GlobalAlert, *projectcalicov3.GlobalAlertList, *applyconfigurationgeneratedprojectcalicov3.GlobalAlertApplyConfiguration] } // newGlobalAlerts returns a GlobalAlerts func newGlobalAlerts(c *ProjectcalicoV3Client) *globalAlerts { return &globalAlerts{ - gentype.NewClientWithList[*projectcalicov3.GlobalAlert, *projectcalicov3.GlobalAlertList]( + gentype.NewClientWithListAndApply[*projectcalicov3.GlobalAlert, *projectcalicov3.GlobalAlertList, *applyconfigurationgeneratedprojectcalicov3.GlobalAlertApplyConfiguration]( "globalalerts", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalalerttemplate.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalalerttemplate.go index ca78acc3..7e848e1c 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalalerttemplate.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalalerttemplate.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type GlobalAlertTemplateInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.GlobalAlertTemplateList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.GlobalAlertTemplate, err error) + Apply(ctx context.Context, globalAlertTemplate *applyconfigurationgeneratedprojectcalicov3.GlobalAlertTemplateApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.GlobalAlertTemplate, err error) GlobalAlertTemplateExpansion } // globalAlertTemplates implements GlobalAlertTemplateInterface type globalAlertTemplates struct { - *gentype.ClientWithList[*projectcalicov3.GlobalAlertTemplate, *projectcalicov3.GlobalAlertTemplateList] + *gentype.ClientWithListAndApply[*projectcalicov3.GlobalAlertTemplate, *projectcalicov3.GlobalAlertTemplateList, *applyconfigurationgeneratedprojectcalicov3.GlobalAlertTemplateApplyConfiguration] } // newGlobalAlertTemplates returns a GlobalAlertTemplates func newGlobalAlertTemplates(c *ProjectcalicoV3Client) *globalAlertTemplates { return &globalAlertTemplates{ - gentype.NewClientWithList[*projectcalicov3.GlobalAlertTemplate, *projectcalicov3.GlobalAlertTemplateList]( + gentype.NewClientWithListAndApply[*projectcalicov3.GlobalAlertTemplate, *projectcalicov3.GlobalAlertTemplateList, *applyconfigurationgeneratedprojectcalicov3.GlobalAlertTemplateApplyConfiguration]( "globalalerttemplates", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalnetworkpolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalnetworkpolicy.go index 1e02507a..1d8a0a2d 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalnetworkpolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalnetworkpolicy.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type GlobalNetworkPolicyInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.GlobalNetworkPolicyList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.GlobalNetworkPolicy, err error) + Apply(ctx context.Context, globalNetworkPolicy *applyconfigurationgeneratedprojectcalicov3.GlobalNetworkPolicyApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.GlobalNetworkPolicy, err error) GlobalNetworkPolicyExpansion } // globalNetworkPolicies implements GlobalNetworkPolicyInterface type globalNetworkPolicies struct { - *gentype.ClientWithList[*projectcalicov3.GlobalNetworkPolicy, *projectcalicov3.GlobalNetworkPolicyList] + *gentype.ClientWithListAndApply[*projectcalicov3.GlobalNetworkPolicy, *projectcalicov3.GlobalNetworkPolicyList, *applyconfigurationgeneratedprojectcalicov3.GlobalNetworkPolicyApplyConfiguration] } // newGlobalNetworkPolicies returns a GlobalNetworkPolicies func newGlobalNetworkPolicies(c *ProjectcalicoV3Client) *globalNetworkPolicies { return &globalNetworkPolicies{ - gentype.NewClientWithList[*projectcalicov3.GlobalNetworkPolicy, *projectcalicov3.GlobalNetworkPolicyList]( + gentype.NewClientWithListAndApply[*projectcalicov3.GlobalNetworkPolicy, *projectcalicov3.GlobalNetworkPolicyList, *applyconfigurationgeneratedprojectcalicov3.GlobalNetworkPolicyApplyConfiguration]( "globalnetworkpolicies", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalnetworkset.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalnetworkset.go index b0b014b9..2faa00c0 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalnetworkset.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalnetworkset.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type GlobalNetworkSetInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.GlobalNetworkSetList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.GlobalNetworkSet, err error) + Apply(ctx context.Context, globalNetworkSet *applyconfigurationgeneratedprojectcalicov3.GlobalNetworkSetApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.GlobalNetworkSet, err error) GlobalNetworkSetExpansion } // globalNetworkSets implements GlobalNetworkSetInterface type globalNetworkSets struct { - *gentype.ClientWithList[*projectcalicov3.GlobalNetworkSet, *projectcalicov3.GlobalNetworkSetList] + *gentype.ClientWithListAndApply[*projectcalicov3.GlobalNetworkSet, *projectcalicov3.GlobalNetworkSetList, *applyconfigurationgeneratedprojectcalicov3.GlobalNetworkSetApplyConfiguration] } // newGlobalNetworkSets returns a GlobalNetworkSets func newGlobalNetworkSets(c *ProjectcalicoV3Client) *globalNetworkSets { return &globalNetworkSets{ - gentype.NewClientWithList[*projectcalicov3.GlobalNetworkSet, *projectcalicov3.GlobalNetworkSetList]( + gentype.NewClientWithListAndApply[*projectcalicov3.GlobalNetworkSet, *projectcalicov3.GlobalNetworkSetList, *applyconfigurationgeneratedprojectcalicov3.GlobalNetworkSetApplyConfiguration]( "globalnetworksets", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalreport.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalreport.go index 108f0084..7741af4a 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalreport.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalreport.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type GlobalReportInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.GlobalReportList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.GlobalReport, err error) + Apply(ctx context.Context, globalReport *applyconfigurationgeneratedprojectcalicov3.GlobalReportApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.GlobalReport, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, globalReport *applyconfigurationgeneratedprojectcalicov3.GlobalReportApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.GlobalReport, err error) GlobalReportExpansion } // globalReports implements GlobalReportInterface type globalReports struct { - *gentype.ClientWithList[*projectcalicov3.GlobalReport, *projectcalicov3.GlobalReportList] + *gentype.ClientWithListAndApply[*projectcalicov3.GlobalReport, *projectcalicov3.GlobalReportList, *applyconfigurationgeneratedprojectcalicov3.GlobalReportApplyConfiguration] } // newGlobalReports returns a GlobalReports func newGlobalReports(c *ProjectcalicoV3Client) *globalReports { return &globalReports{ - gentype.NewClientWithList[*projectcalicov3.GlobalReport, *projectcalicov3.GlobalReportList]( + gentype.NewClientWithListAndApply[*projectcalicov3.GlobalReport, *projectcalicov3.GlobalReportList, *applyconfigurationgeneratedprojectcalicov3.GlobalReportApplyConfiguration]( "globalreports", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalreporttype.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalreporttype.go index 26690539..6e7fdfb1 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalreporttype.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalreporttype.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type GlobalReportTypeInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.GlobalReportTypeList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.GlobalReportType, err error) + Apply(ctx context.Context, globalReportType *applyconfigurationgeneratedprojectcalicov3.GlobalReportTypeApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.GlobalReportType, err error) GlobalReportTypeExpansion } // globalReportTypes implements GlobalReportTypeInterface type globalReportTypes struct { - *gentype.ClientWithList[*projectcalicov3.GlobalReportType, *projectcalicov3.GlobalReportTypeList] + *gentype.ClientWithListAndApply[*projectcalicov3.GlobalReportType, *projectcalicov3.GlobalReportTypeList, *applyconfigurationgeneratedprojectcalicov3.GlobalReportTypeApplyConfiguration] } // newGlobalReportTypes returns a GlobalReportTypes func newGlobalReportTypes(c *ProjectcalicoV3Client) *globalReportTypes { return &globalReportTypes{ - gentype.NewClientWithList[*projectcalicov3.GlobalReportType, *projectcalicov3.GlobalReportTypeList]( + gentype.NewClientWithListAndApply[*projectcalicov3.GlobalReportType, *projectcalicov3.GlobalReportTypeList, *applyconfigurationgeneratedprojectcalicov3.GlobalReportTypeApplyConfiguration]( "globalreporttypes", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalthreatfeed.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalthreatfeed.go index aa7e6b2a..3829da4e 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalthreatfeed.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/globalthreatfeed.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type GlobalThreatFeedInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.GlobalThreatFeedList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.GlobalThreatFeed, err error) + Apply(ctx context.Context, globalThreatFeed *applyconfigurationgeneratedprojectcalicov3.GlobalThreatFeedApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.GlobalThreatFeed, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, globalThreatFeed *applyconfigurationgeneratedprojectcalicov3.GlobalThreatFeedApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.GlobalThreatFeed, err error) GlobalThreatFeedExpansion } // globalThreatFeeds implements GlobalThreatFeedInterface type globalThreatFeeds struct { - *gentype.ClientWithList[*projectcalicov3.GlobalThreatFeed, *projectcalicov3.GlobalThreatFeedList] + *gentype.ClientWithListAndApply[*projectcalicov3.GlobalThreatFeed, *projectcalicov3.GlobalThreatFeedList, *applyconfigurationgeneratedprojectcalicov3.GlobalThreatFeedApplyConfiguration] } // newGlobalThreatFeeds returns a GlobalThreatFeeds func newGlobalThreatFeeds(c *ProjectcalicoV3Client) *globalThreatFeeds { return &globalThreatFeeds{ - gentype.NewClientWithList[*projectcalicov3.GlobalThreatFeed, *projectcalicov3.GlobalThreatFeedList]( + gentype.NewClientWithListAndApply[*projectcalicov3.GlobalThreatFeed, *projectcalicov3.GlobalThreatFeedList, *applyconfigurationgeneratedprojectcalicov3.GlobalThreatFeedApplyConfiguration]( "globalthreatfeeds", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/hostendpoint.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/hostendpoint.go index 1dc1c4ce..75796e25 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/hostendpoint.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/hostendpoint.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type HostEndpointInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.HostEndpointList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.HostEndpoint, err error) + Apply(ctx context.Context, hostEndpoint *applyconfigurationgeneratedprojectcalicov3.HostEndpointApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.HostEndpoint, err error) HostEndpointExpansion } // hostEndpoints implements HostEndpointInterface type hostEndpoints struct { - *gentype.ClientWithList[*projectcalicov3.HostEndpoint, *projectcalicov3.HostEndpointList] + *gentype.ClientWithListAndApply[*projectcalicov3.HostEndpoint, *projectcalicov3.HostEndpointList, *applyconfigurationgeneratedprojectcalicov3.HostEndpointApplyConfiguration] } // newHostEndpoints returns a HostEndpoints func newHostEndpoints(c *ProjectcalicoV3Client) *hostEndpoints { return &hostEndpoints{ - gentype.NewClientWithList[*projectcalicov3.HostEndpoint, *projectcalicov3.HostEndpointList]( + gentype.NewClientWithListAndApply[*projectcalicov3.HostEndpoint, *projectcalicov3.HostEndpointList, *applyconfigurationgeneratedprojectcalicov3.HostEndpointApplyConfiguration]( "hostendpoints", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamblock.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamblock.go index fc1758b5..7eea2189 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamblock.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamblock.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type IPAMBlockInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.IPAMBlockList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.IPAMBlock, err error) + Apply(ctx context.Context, iPAMBlock *applyconfigurationgeneratedprojectcalicov3.IPAMBlockApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.IPAMBlock, err error) IPAMBlockExpansion } // iPAMBlocks implements IPAMBlockInterface type iPAMBlocks struct { - *gentype.ClientWithList[*projectcalicov3.IPAMBlock, *projectcalicov3.IPAMBlockList] + *gentype.ClientWithListAndApply[*projectcalicov3.IPAMBlock, *projectcalicov3.IPAMBlockList, *applyconfigurationgeneratedprojectcalicov3.IPAMBlockApplyConfiguration] } // newIPAMBlocks returns a IPAMBlocks func newIPAMBlocks(c *ProjectcalicoV3Client) *iPAMBlocks { return &iPAMBlocks{ - gentype.NewClientWithList[*projectcalicov3.IPAMBlock, *projectcalicov3.IPAMBlockList]( + gentype.NewClientWithListAndApply[*projectcalicov3.IPAMBlock, *projectcalicov3.IPAMBlockList, *applyconfigurationgeneratedprojectcalicov3.IPAMBlockApplyConfiguration]( "ipamblocks", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamconfiguration.go index 7edbb9c7..9a029bdd 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamconfiguration.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type IPAMConfigurationInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.IPAMConfigurationList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.IPAMConfiguration, err error) + Apply(ctx context.Context, iPAMConfiguration *applyconfigurationgeneratedprojectcalicov3.IPAMConfigurationApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.IPAMConfiguration, err error) IPAMConfigurationExpansion } // iPAMConfigurations implements IPAMConfigurationInterface type iPAMConfigurations struct { - *gentype.ClientWithList[*projectcalicov3.IPAMConfiguration, *projectcalicov3.IPAMConfigurationList] + *gentype.ClientWithListAndApply[*projectcalicov3.IPAMConfiguration, *projectcalicov3.IPAMConfigurationList, *applyconfigurationgeneratedprojectcalicov3.IPAMConfigurationApplyConfiguration] } // newIPAMConfigurations returns a IPAMConfigurations func newIPAMConfigurations(c *ProjectcalicoV3Client) *iPAMConfigurations { return &iPAMConfigurations{ - gentype.NewClientWithList[*projectcalicov3.IPAMConfiguration, *projectcalicov3.IPAMConfigurationList]( + gentype.NewClientWithListAndApply[*projectcalicov3.IPAMConfiguration, *projectcalicov3.IPAMConfigurationList, *applyconfigurationgeneratedprojectcalicov3.IPAMConfigurationApplyConfiguration]( "ipamconfigurations", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamhandle.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamhandle.go index e6b12576..8703abe3 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamhandle.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipamhandle.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type IPAMHandleInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.IPAMHandleList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.IPAMHandle, err error) + Apply(ctx context.Context, iPAMHandle *applyconfigurationgeneratedprojectcalicov3.IPAMHandleApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.IPAMHandle, err error) IPAMHandleExpansion } // iPAMHandles implements IPAMHandleInterface type iPAMHandles struct { - *gentype.ClientWithList[*projectcalicov3.IPAMHandle, *projectcalicov3.IPAMHandleList] + *gentype.ClientWithListAndApply[*projectcalicov3.IPAMHandle, *projectcalicov3.IPAMHandleList, *applyconfigurationgeneratedprojectcalicov3.IPAMHandleApplyConfiguration] } // newIPAMHandles returns a IPAMHandles func newIPAMHandles(c *ProjectcalicoV3Client, namespace string) *iPAMHandles { return &iPAMHandles{ - gentype.NewClientWithList[*projectcalicov3.IPAMHandle, *projectcalicov3.IPAMHandleList]( + gentype.NewClientWithListAndApply[*projectcalicov3.IPAMHandle, *projectcalicov3.IPAMHandleList, *applyconfigurationgeneratedprojectcalicov3.IPAMHandleApplyConfiguration]( "ipamhandles", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ippool.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ippool.go index 561955fc..fbbd7db6 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ippool.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ippool.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type IPPoolInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.IPPoolList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.IPPool, err error) + Apply(ctx context.Context, iPPool *applyconfigurationgeneratedprojectcalicov3.IPPoolApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.IPPool, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, iPPool *applyconfigurationgeneratedprojectcalicov3.IPPoolApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.IPPool, err error) IPPoolExpansion } // iPPools implements IPPoolInterface type iPPools struct { - *gentype.ClientWithList[*projectcalicov3.IPPool, *projectcalicov3.IPPoolList] + *gentype.ClientWithListAndApply[*projectcalicov3.IPPool, *projectcalicov3.IPPoolList, *applyconfigurationgeneratedprojectcalicov3.IPPoolApplyConfiguration] } // newIPPools returns a IPPools func newIPPools(c *ProjectcalicoV3Client) *iPPools { return &iPPools{ - gentype.NewClientWithList[*projectcalicov3.IPPool, *projectcalicov3.IPPoolList]( + gentype.NewClientWithListAndApply[*projectcalicov3.IPPool, *projectcalicov3.IPPoolList, *applyconfigurationgeneratedprojectcalicov3.IPPoolApplyConfiguration]( "ippools", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipreservation.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipreservation.go index 29496d51..d73cdd74 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipreservation.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/ipreservation.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type IPReservationInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.IPReservationList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.IPReservation, err error) + Apply(ctx context.Context, iPReservation *applyconfigurationgeneratedprojectcalicov3.IPReservationApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.IPReservation, err error) IPReservationExpansion } // iPReservations implements IPReservationInterface type iPReservations struct { - *gentype.ClientWithList[*projectcalicov3.IPReservation, *projectcalicov3.IPReservationList] + *gentype.ClientWithListAndApply[*projectcalicov3.IPReservation, *projectcalicov3.IPReservationList, *applyconfigurationgeneratedprojectcalicov3.IPReservationApplyConfiguration] } // newIPReservations returns a IPReservations func newIPReservations(c *ProjectcalicoV3Client) *iPReservations { return &iPReservations{ - gentype.NewClientWithList[*projectcalicov3.IPReservation, *projectcalicov3.IPReservationList]( + gentype.NewClientWithListAndApply[*projectcalicov3.IPReservation, *projectcalicov3.IPReservationList, *applyconfigurationgeneratedprojectcalicov3.IPReservationApplyConfiguration]( "ipreservations", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/kubecontrollersconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/kubecontrollersconfiguration.go index 7660cfed..e826c7fb 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/kubecontrollersconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/kubecontrollersconfiguration.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type KubeControllersConfigurationInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.KubeControllersConfigurationList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.KubeControllersConfiguration, err error) + Apply(ctx context.Context, kubeControllersConfiguration *applyconfigurationgeneratedprojectcalicov3.KubeControllersConfigurationApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.KubeControllersConfiguration, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, kubeControllersConfiguration *applyconfigurationgeneratedprojectcalicov3.KubeControllersConfigurationApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.KubeControllersConfiguration, err error) KubeControllersConfigurationExpansion } // kubeControllersConfigurations implements KubeControllersConfigurationInterface type kubeControllersConfigurations struct { - *gentype.ClientWithList[*projectcalicov3.KubeControllersConfiguration, *projectcalicov3.KubeControllersConfigurationList] + *gentype.ClientWithListAndApply[*projectcalicov3.KubeControllersConfiguration, *projectcalicov3.KubeControllersConfigurationList, *applyconfigurationgeneratedprojectcalicov3.KubeControllersConfigurationApplyConfiguration] } // newKubeControllersConfigurations returns a KubeControllersConfigurations func newKubeControllersConfigurations(c *ProjectcalicoV3Client) *kubeControllersConfigurations { return &kubeControllersConfigurations{ - gentype.NewClientWithList[*projectcalicov3.KubeControllersConfiguration, *projectcalicov3.KubeControllersConfigurationList]( + gentype.NewClientWithListAndApply[*projectcalicov3.KubeControllersConfiguration, *projectcalicov3.KubeControllersConfigurationList, *applyconfigurationgeneratedprojectcalicov3.KubeControllersConfigurationApplyConfiguration]( "kubecontrollersconfigurations", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/licensekey.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/licensekey.go index 36838cc4..2d6a4a04 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/licensekey.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/licensekey.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type LicenseKeyInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.LicenseKeyList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.LicenseKey, err error) + Apply(ctx context.Context, licenseKey *applyconfigurationgeneratedprojectcalicov3.LicenseKeyApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.LicenseKey, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, licenseKey *applyconfigurationgeneratedprojectcalicov3.LicenseKeyApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.LicenseKey, err error) LicenseKeyExpansion } // licenseKeys implements LicenseKeyInterface type licenseKeys struct { - *gentype.ClientWithList[*projectcalicov3.LicenseKey, *projectcalicov3.LicenseKeyList] + *gentype.ClientWithListAndApply[*projectcalicov3.LicenseKey, *projectcalicov3.LicenseKeyList, *applyconfigurationgeneratedprojectcalicov3.LicenseKeyApplyConfiguration] } // newLicenseKeys returns a LicenseKeys func newLicenseKeys(c *ProjectcalicoV3Client) *licenseKeys { return &licenseKeys{ - gentype.NewClientWithList[*projectcalicov3.LicenseKey, *projectcalicov3.LicenseKeyList]( + gentype.NewClientWithListAndApply[*projectcalicov3.LicenseKey, *projectcalicov3.LicenseKeyList, *applyconfigurationgeneratedprojectcalicov3.LicenseKeyApplyConfiguration]( "licensekeys", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/managedcluster.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/managedcluster.go index 4ce76c40..39605f19 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/managedcluster.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/managedcluster.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type ManagedClusterInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.ManagedClusterList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.ManagedCluster, err error) + Apply(ctx context.Context, managedCluster *applyconfigurationgeneratedprojectcalicov3.ManagedClusterApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.ManagedCluster, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, managedCluster *applyconfigurationgeneratedprojectcalicov3.ManagedClusterApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.ManagedCluster, err error) ManagedClusterExpansion } // managedClusters implements ManagedClusterInterface type managedClusters struct { - *gentype.ClientWithList[*projectcalicov3.ManagedCluster, *projectcalicov3.ManagedClusterList] + *gentype.ClientWithListAndApply[*projectcalicov3.ManagedCluster, *projectcalicov3.ManagedClusterList, *applyconfigurationgeneratedprojectcalicov3.ManagedClusterApplyConfiguration] } // newManagedClusters returns a ManagedClusters func newManagedClusters(c *ProjectcalicoV3Client) *managedClusters { return &managedClusters{ - gentype.NewClientWithList[*projectcalicov3.ManagedCluster, *projectcalicov3.ManagedClusterList]( + gentype.NewClientWithListAndApply[*projectcalicov3.ManagedCluster, *projectcalicov3.ManagedClusterList, *applyconfigurationgeneratedprojectcalicov3.ManagedClusterApplyConfiguration]( "managedclusters", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/networkpolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/networkpolicy.go index d08aab0d..87259d52 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/networkpolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/networkpolicy.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type NetworkPolicyInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.NetworkPolicyList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.NetworkPolicy, err error) + Apply(ctx context.Context, networkPolicy *applyconfigurationgeneratedprojectcalicov3.NetworkPolicyApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.NetworkPolicy, err error) NetworkPolicyExpansion } // networkPolicies implements NetworkPolicyInterface type networkPolicies struct { - *gentype.ClientWithList[*projectcalicov3.NetworkPolicy, *projectcalicov3.NetworkPolicyList] + *gentype.ClientWithListAndApply[*projectcalicov3.NetworkPolicy, *projectcalicov3.NetworkPolicyList, *applyconfigurationgeneratedprojectcalicov3.NetworkPolicyApplyConfiguration] } // newNetworkPolicies returns a NetworkPolicies func newNetworkPolicies(c *ProjectcalicoV3Client, namespace string) *networkPolicies { return &networkPolicies{ - gentype.NewClientWithList[*projectcalicov3.NetworkPolicy, *projectcalicov3.NetworkPolicyList]( + gentype.NewClientWithListAndApply[*projectcalicov3.NetworkPolicy, *projectcalicov3.NetworkPolicyList, *applyconfigurationgeneratedprojectcalicov3.NetworkPolicyApplyConfiguration]( "networkpolicies", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/networkset.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/networkset.go index 4f4bedda..305bfb9f 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/networkset.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/networkset.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type NetworkSetInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.NetworkSetList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.NetworkSet, err error) + Apply(ctx context.Context, networkSet *applyconfigurationgeneratedprojectcalicov3.NetworkSetApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.NetworkSet, err error) NetworkSetExpansion } // networkSets implements NetworkSetInterface type networkSets struct { - *gentype.ClientWithList[*projectcalicov3.NetworkSet, *projectcalicov3.NetworkSetList] + *gentype.ClientWithListAndApply[*projectcalicov3.NetworkSet, *projectcalicov3.NetworkSetList, *applyconfigurationgeneratedprojectcalicov3.NetworkSetApplyConfiguration] } // newNetworkSets returns a NetworkSets func newNetworkSets(c *ProjectcalicoV3Client, namespace string) *networkSets { return &networkSets{ - gentype.NewClientWithList[*projectcalicov3.NetworkSet, *projectcalicov3.NetworkSetList]( + gentype.NewClientWithListAndApply[*projectcalicov3.NetworkSet, *projectcalicov3.NetworkSetList, *applyconfigurationgeneratedprojectcalicov3.NetworkSetApplyConfiguration]( "networksets", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/packetcapture.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/packetcapture.go index c932dc20..76a8723b 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/packetcapture.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/packetcapture.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type PacketCaptureInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.PacketCaptureList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.PacketCapture, err error) + Apply(ctx context.Context, packetCapture *applyconfigurationgeneratedprojectcalicov3.PacketCaptureApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.PacketCapture, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, packetCapture *applyconfigurationgeneratedprojectcalicov3.PacketCaptureApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.PacketCapture, err error) PacketCaptureExpansion } // packetCaptures implements PacketCaptureInterface type packetCaptures struct { - *gentype.ClientWithList[*projectcalicov3.PacketCapture, *projectcalicov3.PacketCaptureList] + *gentype.ClientWithListAndApply[*projectcalicov3.PacketCapture, *projectcalicov3.PacketCaptureList, *applyconfigurationgeneratedprojectcalicov3.PacketCaptureApplyConfiguration] } // newPacketCaptures returns a PacketCaptures func newPacketCaptures(c *ProjectcalicoV3Client, namespace string) *packetCaptures { return &packetCaptures{ - gentype.NewClientWithList[*projectcalicov3.PacketCapture, *projectcalicov3.PacketCaptureList]( + gentype.NewClientWithListAndApply[*projectcalicov3.PacketCapture, *projectcalicov3.PacketCaptureList, *applyconfigurationgeneratedprojectcalicov3.PacketCaptureApplyConfiguration]( "packetcaptures", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/policyrecommendationscope.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/policyrecommendationscope.go index 57371e6a..b8b84fb9 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/policyrecommendationscope.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/policyrecommendationscope.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type PolicyRecommendationScopeInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.PolicyRecommendationScopeList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.PolicyRecommendationScope, err error) + Apply(ctx context.Context, policyRecommendationScope *applyconfigurationgeneratedprojectcalicov3.PolicyRecommendationScopeApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.PolicyRecommendationScope, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, policyRecommendationScope *applyconfigurationgeneratedprojectcalicov3.PolicyRecommendationScopeApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.PolicyRecommendationScope, err error) PolicyRecommendationScopeExpansion } // policyRecommendationScopes implements PolicyRecommendationScopeInterface type policyRecommendationScopes struct { - *gentype.ClientWithList[*projectcalicov3.PolicyRecommendationScope, *projectcalicov3.PolicyRecommendationScopeList] + *gentype.ClientWithListAndApply[*projectcalicov3.PolicyRecommendationScope, *projectcalicov3.PolicyRecommendationScopeList, *applyconfigurationgeneratedprojectcalicov3.PolicyRecommendationScopeApplyConfiguration] } // newPolicyRecommendationScopes returns a PolicyRecommendationScopes func newPolicyRecommendationScopes(c *ProjectcalicoV3Client) *policyRecommendationScopes { return &policyRecommendationScopes{ - gentype.NewClientWithList[*projectcalicov3.PolicyRecommendationScope, *projectcalicov3.PolicyRecommendationScopeList]( + gentype.NewClientWithListAndApply[*projectcalicov3.PolicyRecommendationScope, *projectcalicov3.PolicyRecommendationScopeList, *applyconfigurationgeneratedprojectcalicov3.PolicyRecommendationScopeApplyConfiguration]( "policyrecommendationscopes", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/profile.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/profile.go index 1d500313..99098bf0 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/profile.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/profile.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type ProfileInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.ProfileList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.Profile, err error) + Apply(ctx context.Context, profile *applyconfigurationgeneratedprojectcalicov3.ProfileApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.Profile, err error) ProfileExpansion } // profiles implements ProfileInterface type profiles struct { - *gentype.ClientWithList[*projectcalicov3.Profile, *projectcalicov3.ProfileList] + *gentype.ClientWithListAndApply[*projectcalicov3.Profile, *projectcalicov3.ProfileList, *applyconfigurationgeneratedprojectcalicov3.ProfileApplyConfiguration] } // newProfiles returns a Profiles func newProfiles(c *ProjectcalicoV3Client) *profiles { return &profiles{ - gentype.NewClientWithList[*projectcalicov3.Profile, *projectcalicov3.ProfileList]( + gentype.NewClientWithListAndApply[*projectcalicov3.Profile, *projectcalicov3.ProfileList, *applyconfigurationgeneratedprojectcalicov3.ProfileApplyConfiguration]( "profiles", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/remoteclusterconfiguration.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/remoteclusterconfiguration.go index 93c05b16..11662bd6 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/remoteclusterconfiguration.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/remoteclusterconfiguration.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type RemoteClusterConfigurationInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.RemoteClusterConfigurationList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.RemoteClusterConfiguration, err error) + Apply(ctx context.Context, remoteClusterConfiguration *applyconfigurationgeneratedprojectcalicov3.RemoteClusterConfigurationApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.RemoteClusterConfiguration, err error) RemoteClusterConfigurationExpansion } // remoteClusterConfigurations implements RemoteClusterConfigurationInterface type remoteClusterConfigurations struct { - *gentype.ClientWithList[*projectcalicov3.RemoteClusterConfiguration, *projectcalicov3.RemoteClusterConfigurationList] + *gentype.ClientWithListAndApply[*projectcalicov3.RemoteClusterConfiguration, *projectcalicov3.RemoteClusterConfigurationList, *applyconfigurationgeneratedprojectcalicov3.RemoteClusterConfigurationApplyConfiguration] } // newRemoteClusterConfigurations returns a RemoteClusterConfigurations func newRemoteClusterConfigurations(c *ProjectcalicoV3Client) *remoteClusterConfigurations { return &remoteClusterConfigurations{ - gentype.NewClientWithList[*projectcalicov3.RemoteClusterConfiguration, *projectcalicov3.RemoteClusterConfigurationList]( + gentype.NewClientWithListAndApply[*projectcalicov3.RemoteClusterConfiguration, *projectcalicov3.RemoteClusterConfigurationList, *applyconfigurationgeneratedprojectcalicov3.RemoteClusterConfigurationApplyConfiguration]( "remoteclusterconfigurations", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/securityeventwebhook.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/securityeventwebhook.go index 9ff58ff4..62aa6aa3 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/securityeventwebhook.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/securityeventwebhook.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -33,18 +34,21 @@ type SecurityEventWebhookInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.SecurityEventWebhookList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.SecurityEventWebhook, err error) + Apply(ctx context.Context, securityEventWebhook *applyconfigurationgeneratedprojectcalicov3.SecurityEventWebhookApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.SecurityEventWebhook, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, securityEventWebhook *applyconfigurationgeneratedprojectcalicov3.SecurityEventWebhookApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.SecurityEventWebhook, err error) SecurityEventWebhookExpansion } // securityEventWebhooks implements SecurityEventWebhookInterface type securityEventWebhooks struct { - *gentype.ClientWithList[*projectcalicov3.SecurityEventWebhook, *projectcalicov3.SecurityEventWebhookList] + *gentype.ClientWithListAndApply[*projectcalicov3.SecurityEventWebhook, *projectcalicov3.SecurityEventWebhookList, *applyconfigurationgeneratedprojectcalicov3.SecurityEventWebhookApplyConfiguration] } // newSecurityEventWebhooks returns a SecurityEventWebhooks func newSecurityEventWebhooks(c *ProjectcalicoV3Client) *securityEventWebhooks { return &securityEventWebhooks{ - gentype.NewClientWithList[*projectcalicov3.SecurityEventWebhook, *projectcalicov3.SecurityEventWebhookList]( + gentype.NewClientWithListAndApply[*projectcalicov3.SecurityEventWebhook, *projectcalicov3.SecurityEventWebhookList, *applyconfigurationgeneratedprojectcalicov3.SecurityEventWebhookApplyConfiguration]( "securityeventwebhooks", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagedglobalnetworkpolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagedglobalnetworkpolicy.go index f315742e..316bd2dc 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagedglobalnetworkpolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagedglobalnetworkpolicy.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type StagedGlobalNetworkPolicyInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.StagedGlobalNetworkPolicyList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.StagedGlobalNetworkPolicy, err error) + Apply(ctx context.Context, stagedGlobalNetworkPolicy *applyconfigurationgeneratedprojectcalicov3.StagedGlobalNetworkPolicyApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.StagedGlobalNetworkPolicy, err error) StagedGlobalNetworkPolicyExpansion } // stagedGlobalNetworkPolicies implements StagedGlobalNetworkPolicyInterface type stagedGlobalNetworkPolicies struct { - *gentype.ClientWithList[*projectcalicov3.StagedGlobalNetworkPolicy, *projectcalicov3.StagedGlobalNetworkPolicyList] + *gentype.ClientWithListAndApply[*projectcalicov3.StagedGlobalNetworkPolicy, *projectcalicov3.StagedGlobalNetworkPolicyList, *applyconfigurationgeneratedprojectcalicov3.StagedGlobalNetworkPolicyApplyConfiguration] } // newStagedGlobalNetworkPolicies returns a StagedGlobalNetworkPolicies func newStagedGlobalNetworkPolicies(c *ProjectcalicoV3Client) *stagedGlobalNetworkPolicies { return &stagedGlobalNetworkPolicies{ - gentype.NewClientWithList[*projectcalicov3.StagedGlobalNetworkPolicy, *projectcalicov3.StagedGlobalNetworkPolicyList]( + gentype.NewClientWithListAndApply[*projectcalicov3.StagedGlobalNetworkPolicy, *projectcalicov3.StagedGlobalNetworkPolicyList, *applyconfigurationgeneratedprojectcalicov3.StagedGlobalNetworkPolicyApplyConfiguration]( "stagedglobalnetworkpolicies", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagedkubernetesnetworkpolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagedkubernetesnetworkpolicy.go index 392da855..06807635 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagedkubernetesnetworkpolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagedkubernetesnetworkpolicy.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type StagedKubernetesNetworkPolicyInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.StagedKubernetesNetworkPolicyList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.StagedKubernetesNetworkPolicy, err error) + Apply(ctx context.Context, stagedKubernetesNetworkPolicy *applyconfigurationgeneratedprojectcalicov3.StagedKubernetesNetworkPolicyApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.StagedKubernetesNetworkPolicy, err error) StagedKubernetesNetworkPolicyExpansion } // stagedKubernetesNetworkPolicies implements StagedKubernetesNetworkPolicyInterface type stagedKubernetesNetworkPolicies struct { - *gentype.ClientWithList[*projectcalicov3.StagedKubernetesNetworkPolicy, *projectcalicov3.StagedKubernetesNetworkPolicyList] + *gentype.ClientWithListAndApply[*projectcalicov3.StagedKubernetesNetworkPolicy, *projectcalicov3.StagedKubernetesNetworkPolicyList, *applyconfigurationgeneratedprojectcalicov3.StagedKubernetesNetworkPolicyApplyConfiguration] } // newStagedKubernetesNetworkPolicies returns a StagedKubernetesNetworkPolicies func newStagedKubernetesNetworkPolicies(c *ProjectcalicoV3Client, namespace string) *stagedKubernetesNetworkPolicies { return &stagedKubernetesNetworkPolicies{ - gentype.NewClientWithList[*projectcalicov3.StagedKubernetesNetworkPolicy, *projectcalicov3.StagedKubernetesNetworkPolicyList]( + gentype.NewClientWithListAndApply[*projectcalicov3.StagedKubernetesNetworkPolicy, *projectcalicov3.StagedKubernetesNetworkPolicyList, *applyconfigurationgeneratedprojectcalicov3.StagedKubernetesNetworkPolicyApplyConfiguration]( "stagedkubernetesnetworkpolicies", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagednetworkpolicy.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagednetworkpolicy.go index f617b0d0..0240b173 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagednetworkpolicy.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/stagednetworkpolicy.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type StagedNetworkPolicyInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.StagedNetworkPolicyList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.StagedNetworkPolicy, err error) + Apply(ctx context.Context, stagedNetworkPolicy *applyconfigurationgeneratedprojectcalicov3.StagedNetworkPolicyApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.StagedNetworkPolicy, err error) StagedNetworkPolicyExpansion } // stagedNetworkPolicies implements StagedNetworkPolicyInterface type stagedNetworkPolicies struct { - *gentype.ClientWithList[*projectcalicov3.StagedNetworkPolicy, *projectcalicov3.StagedNetworkPolicyList] + *gentype.ClientWithListAndApply[*projectcalicov3.StagedNetworkPolicy, *projectcalicov3.StagedNetworkPolicyList, *applyconfigurationgeneratedprojectcalicov3.StagedNetworkPolicyApplyConfiguration] } // newStagedNetworkPolicies returns a StagedNetworkPolicies func newStagedNetworkPolicies(c *ProjectcalicoV3Client, namespace string) *stagedNetworkPolicies { return &stagedNetworkPolicies{ - gentype.NewClientWithList[*projectcalicov3.StagedNetworkPolicy, *projectcalicov3.StagedNetworkPolicyList]( + gentype.NewClientWithListAndApply[*projectcalicov3.StagedNetworkPolicy, *projectcalicov3.StagedNetworkPolicyList, *applyconfigurationgeneratedprojectcalicov3.StagedNetworkPolicyApplyConfiguration]( "stagednetworkpolicies", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/tier.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/tier.go index 8635bb9d..b8d81846 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/tier.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/tier.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -25,24 +26,29 @@ type TiersGetter interface { type TierInterface interface { Create(ctx context.Context, tier *projectcalicov3.Tier, opts v1.CreateOptions) (*projectcalicov3.Tier, error) Update(ctx context.Context, tier *projectcalicov3.Tier, opts v1.UpdateOptions) (*projectcalicov3.Tier, error) + // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + UpdateStatus(ctx context.Context, tier *projectcalicov3.Tier, opts v1.UpdateOptions) (*projectcalicov3.Tier, error) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error Get(ctx context.Context, name string, opts v1.GetOptions) (*projectcalicov3.Tier, error) List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.TierList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.Tier, err error) + Apply(ctx context.Context, tier *applyconfigurationgeneratedprojectcalicov3.TierApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.Tier, err error) + // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). + ApplyStatus(ctx context.Context, tier *applyconfigurationgeneratedprojectcalicov3.TierApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.Tier, err error) TierExpansion } // tiers implements TierInterface type tiers struct { - *gentype.ClientWithList[*projectcalicov3.Tier, *projectcalicov3.TierList] + *gentype.ClientWithListAndApply[*projectcalicov3.Tier, *projectcalicov3.TierList, *applyconfigurationgeneratedprojectcalicov3.TierApplyConfiguration] } // newTiers returns a Tiers func newTiers(c *ProjectcalicoV3Client) *tiers { return &tiers{ - gentype.NewClientWithList[*projectcalicov3.Tier, *projectcalicov3.TierList]( + gentype.NewClientWithListAndApply[*projectcalicov3.Tier, *projectcalicov3.TierList, *applyconfigurationgeneratedprojectcalicov3.TierApplyConfiguration]( "tiers", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/uisettings.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/uisettings.go index 5f9782c3..8c78e32c 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/uisettings.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/uisettings.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type UISettingsInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.UISettingsList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.UISettings, err error) + Apply(ctx context.Context, uISettings *applyconfigurationgeneratedprojectcalicov3.UISettingsApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.UISettings, err error) UISettingsExpansion } // uISettings implements UISettingsInterface type uISettings struct { - *gentype.ClientWithList[*projectcalicov3.UISettings, *projectcalicov3.UISettingsList] + *gentype.ClientWithListAndApply[*projectcalicov3.UISettings, *projectcalicov3.UISettingsList, *applyconfigurationgeneratedprojectcalicov3.UISettingsApplyConfiguration] } // newUISettings returns a UISettings func newUISettings(c *ProjectcalicoV3Client) *uISettings { return &uISettings{ - gentype.NewClientWithList[*projectcalicov3.UISettings, *projectcalicov3.UISettingsList]( + gentype.NewClientWithListAndApply[*projectcalicov3.UISettings, *projectcalicov3.UISettingsList, *applyconfigurationgeneratedprojectcalicov3.UISettingsApplyConfiguration]( "uisettings", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/uisettingsgroup.go b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/uisettingsgroup.go index b068db49..6ff38bb8 100644 --- a/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/uisettingsgroup.go +++ b/pkg/client/clientset_generated/clientset/typed/projectcalico/v3/uisettingsgroup.go @@ -8,6 +8,7 @@ import ( context "context" projectcalicov3 "github.com/tigera/api/pkg/apis/projectcalico/v3" + applyconfigurationgeneratedprojectcalicov3 "github.com/tigera/api/pkg/client/applyconfiguration_generated/projectcalico/v3" scheme "github.com/tigera/api/pkg/client/clientset_generated/clientset/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -31,18 +32,19 @@ type UISettingsGroupInterface interface { List(ctx context.Context, opts v1.ListOptions) (*projectcalicov3.UISettingsGroupList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *projectcalicov3.UISettingsGroup, err error) + Apply(ctx context.Context, uISettingsGroup *applyconfigurationgeneratedprojectcalicov3.UISettingsGroupApplyConfiguration, opts v1.ApplyOptions) (result *projectcalicov3.UISettingsGroup, err error) UISettingsGroupExpansion } // uISettingsGroups implements UISettingsGroupInterface type uISettingsGroups struct { - *gentype.ClientWithList[*projectcalicov3.UISettingsGroup, *projectcalicov3.UISettingsGroupList] + *gentype.ClientWithListAndApply[*projectcalicov3.UISettingsGroup, *projectcalicov3.UISettingsGroupList, *applyconfigurationgeneratedprojectcalicov3.UISettingsGroupApplyConfiguration] } // newUISettingsGroups returns a UISettingsGroups func newUISettingsGroups(c *ProjectcalicoV3Client) *uISettingsGroups { return &uISettingsGroups{ - gentype.NewClientWithList[*projectcalicov3.UISettingsGroup, *projectcalicov3.UISettingsGroupList]( + gentype.NewClientWithListAndApply[*projectcalicov3.UISettingsGroup, *projectcalicov3.UISettingsGroupList, *applyconfigurationgeneratedprojectcalicov3.UISettingsGroupApplyConfiguration]( "uisettingsgroups", c.RESTClient(), scheme.ParameterCodec, diff --git a/pkg/client/informers_generated/externalversions/factory.go b/pkg/client/informers_generated/externalversions/factory.go index 352d9784..1a1721ff 100644 --- a/pkg/client/informers_generated/externalversions/factory.go +++ b/pkg/client/informers_generated/externalversions/factory.go @@ -83,6 +83,7 @@ func NewSharedInformerFactory(client clientset.Interface, defaultResync time.Dur // NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. // Listers obtained via this SharedInformerFactory will be subject to the same filters // as specified here. +// // Deprecated: Please use NewSharedInformerFactoryWithOptions instead func NewFilteredSharedInformerFactory(client clientset.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) @@ -190,7 +191,7 @@ func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internal // // It is typically used like this: // -// ctx, cancel := context.Background() +// ctx, cancel := context.WithCancel(context.Background()) // defer cancel() // factory := NewSharedInformerFactory(client, resyncPeriod) // defer factory.WaitForStop() // Returns immediately if nothing was started. diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/alertexception.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/alertexception.go index 609e2c53..286c667c 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/alertexception.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/alertexception.go @@ -42,7 +42,7 @@ func NewAlertExceptionInformer(client clientset.Interface, resyncPeriod time.Dur // one. This reduces memory footprint and number of connections to the server. func NewFilteredAlertExceptionInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredAlertExceptionInformer(client clientset.Interface, resyncPeriod } return client.ProjectcalicoV3().AlertExceptions().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.AlertException{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/authorizationreview.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/authorizationreview.go index f62587a0..d4ec8229 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/authorizationreview.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/authorizationreview.go @@ -42,7 +42,7 @@ func NewAuthorizationReviewInformer(client clientset.Interface, resyncPeriod tim // one. This reduces memory footprint and number of connections to the server. func NewFilteredAuthorizationReviewInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredAuthorizationReviewInformer(client clientset.Interface, resyncPe } return client.ProjectcalicoV3().AuthorizationReviews().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.AuthorizationReview{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/bfdconfiguration.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/bfdconfiguration.go index a82d9a91..3355ef02 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/bfdconfiguration.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/bfdconfiguration.go @@ -42,7 +42,7 @@ func NewBFDConfigurationInformer(client clientset.Interface, resyncPeriod time.D // one. This reduces memory footprint and number of connections to the server. func NewFilteredBFDConfigurationInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredBFDConfigurationInformer(client clientset.Interface, resyncPerio } return client.ProjectcalicoV3().BFDConfigurations().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.BFDConfiguration{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/bgpconfiguration.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/bgpconfiguration.go index 1c072583..932df562 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/bgpconfiguration.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/bgpconfiguration.go @@ -42,7 +42,7 @@ func NewBGPConfigurationInformer(client clientset.Interface, resyncPeriod time.D // one. This reduces memory footprint and number of connections to the server. func NewFilteredBGPConfigurationInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredBGPConfigurationInformer(client clientset.Interface, resyncPerio } return client.ProjectcalicoV3().BGPConfigurations().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.BGPConfiguration{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/bgpfilter.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/bgpfilter.go index 304d54db..2675460d 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/bgpfilter.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/bgpfilter.go @@ -42,7 +42,7 @@ func NewBGPFilterInformer(client clientset.Interface, resyncPeriod time.Duration // one. This reduces memory footprint and number of connections to the server. func NewFilteredBGPFilterInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredBGPFilterInformer(client clientset.Interface, resyncPeriod time. } return client.ProjectcalicoV3().BGPFilters().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.BGPFilter{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/bgppeer.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/bgppeer.go index df9bcaa4..1a207e6b 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/bgppeer.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/bgppeer.go @@ -42,7 +42,7 @@ func NewBGPPeerInformer(client clientset.Interface, resyncPeriod time.Duration, // one. This reduces memory footprint and number of connections to the server. func NewFilteredBGPPeerInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredBGPPeerInformer(client clientset.Interface, resyncPeriod time.Du } return client.ProjectcalicoV3().BGPPeers().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.BGPPeer{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/blockaffinity.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/blockaffinity.go index db7d08c1..388b3220 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/blockaffinity.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/blockaffinity.go @@ -42,7 +42,7 @@ func NewBlockAffinityInformer(client clientset.Interface, resyncPeriod time.Dura // one. This reduces memory footprint and number of connections to the server. func NewFilteredBlockAffinityInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredBlockAffinityInformer(client clientset.Interface, resyncPeriod t } return client.ProjectcalicoV3().BlockAffinities().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.BlockAffinity{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/caliconodestatus.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/caliconodestatus.go index f78d4099..68fdded6 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/caliconodestatus.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/caliconodestatus.go @@ -42,7 +42,7 @@ func NewCalicoNodeStatusInformer(client clientset.Interface, resyncPeriod time.D // one. This reduces memory footprint and number of connections to the server. func NewFilteredCalicoNodeStatusInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredCalicoNodeStatusInformer(client clientset.Interface, resyncPerio } return client.ProjectcalicoV3().CalicoNodeStatuses().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.CalicoNodeStatus{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/clusterinformation.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/clusterinformation.go index 706b74e5..c717571d 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/clusterinformation.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/clusterinformation.go @@ -42,7 +42,7 @@ func NewClusterInformationInformer(client clientset.Interface, resyncPeriod time // one. This reduces memory footprint and number of connections to the server. func NewFilteredClusterInformationInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredClusterInformationInformer(client clientset.Interface, resyncPer } return client.ProjectcalicoV3().ClusterInformations().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.ClusterInformation{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/deeppacketinspection.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/deeppacketinspection.go index 8922dcb1..97c401e7 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/deeppacketinspection.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/deeppacketinspection.go @@ -43,7 +43,7 @@ func NewDeepPacketInspectionInformer(client clientset.Interface, namespace strin // one. This reduces memory footprint and number of connections to the server. func NewFilteredDeepPacketInspectionInformer(client clientset.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -68,7 +68,7 @@ func NewFilteredDeepPacketInspectionInformer(client clientset.Interface, namespa } return client.ProjectcalicoV3().DeepPacketInspections(namespace).Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.DeepPacketInspection{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/egressgatewaypolicy.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/egressgatewaypolicy.go index 09e9cadf..52d759f5 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/egressgatewaypolicy.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/egressgatewaypolicy.go @@ -42,7 +42,7 @@ func NewEgressGatewayPolicyInformer(client clientset.Interface, resyncPeriod tim // one. This reduces memory footprint and number of connections to the server. func NewFilteredEgressGatewayPolicyInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredEgressGatewayPolicyInformer(client clientset.Interface, resyncPe } return client.ProjectcalicoV3().EgressGatewayPolicies().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.EgressGatewayPolicy{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/externalnetwork.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/externalnetwork.go index 8921af76..547f11b4 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/externalnetwork.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/externalnetwork.go @@ -42,7 +42,7 @@ func NewExternalNetworkInformer(client clientset.Interface, resyncPeriod time.Du // one. This reduces memory footprint and number of connections to the server. func NewFilteredExternalNetworkInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredExternalNetworkInformer(client clientset.Interface, resyncPeriod } return client.ProjectcalicoV3().ExternalNetworks().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.ExternalNetwork{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/felixconfiguration.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/felixconfiguration.go index 8333e1c4..65cc9f5f 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/felixconfiguration.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/felixconfiguration.go @@ -42,7 +42,7 @@ func NewFelixConfigurationInformer(client clientset.Interface, resyncPeriod time // one. This reduces memory footprint and number of connections to the server. func NewFilteredFelixConfigurationInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredFelixConfigurationInformer(client clientset.Interface, resyncPer } return client.ProjectcalicoV3().FelixConfigurations().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.FelixConfiguration{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalalert.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalalert.go index c8f678d4..3b8f8643 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalalert.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalalert.go @@ -42,7 +42,7 @@ func NewGlobalAlertInformer(client clientset.Interface, resyncPeriod time.Durati // one. This reduces memory footprint and number of connections to the server. func NewFilteredGlobalAlertInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredGlobalAlertInformer(client clientset.Interface, resyncPeriod tim } return client.ProjectcalicoV3().GlobalAlerts().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.GlobalAlert{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalalerttemplate.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalalerttemplate.go index 28a0981f..bf644754 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalalerttemplate.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalalerttemplate.go @@ -42,7 +42,7 @@ func NewGlobalAlertTemplateInformer(client clientset.Interface, resyncPeriod tim // one. This reduces memory footprint and number of connections to the server. func NewFilteredGlobalAlertTemplateInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredGlobalAlertTemplateInformer(client clientset.Interface, resyncPe } return client.ProjectcalicoV3().GlobalAlertTemplates().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.GlobalAlertTemplate{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalnetworkpolicy.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalnetworkpolicy.go index b47702da..87c383bf 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalnetworkpolicy.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalnetworkpolicy.go @@ -42,7 +42,7 @@ func NewGlobalNetworkPolicyInformer(client clientset.Interface, resyncPeriod tim // one. This reduces memory footprint and number of connections to the server. func NewFilteredGlobalNetworkPolicyInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredGlobalNetworkPolicyInformer(client clientset.Interface, resyncPe } return client.ProjectcalicoV3().GlobalNetworkPolicies().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.GlobalNetworkPolicy{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalnetworkset.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalnetworkset.go index 6ededc0c..8daffe2f 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalnetworkset.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalnetworkset.go @@ -42,7 +42,7 @@ func NewGlobalNetworkSetInformer(client clientset.Interface, resyncPeriod time.D // one. This reduces memory footprint and number of connections to the server. func NewFilteredGlobalNetworkSetInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredGlobalNetworkSetInformer(client clientset.Interface, resyncPerio } return client.ProjectcalicoV3().GlobalNetworkSets().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.GlobalNetworkSet{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalreport.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalreport.go index 7c220e1e..e56edfcd 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalreport.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalreport.go @@ -42,7 +42,7 @@ func NewGlobalReportInformer(client clientset.Interface, resyncPeriod time.Durat // one. This reduces memory footprint and number of connections to the server. func NewFilteredGlobalReportInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredGlobalReportInformer(client clientset.Interface, resyncPeriod ti } return client.ProjectcalicoV3().GlobalReports().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.GlobalReport{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalreporttype.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalreporttype.go index a8e8ae60..9932dfb9 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalreporttype.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalreporttype.go @@ -42,7 +42,7 @@ func NewGlobalReportTypeInformer(client clientset.Interface, resyncPeriod time.D // one. This reduces memory footprint and number of connections to the server. func NewFilteredGlobalReportTypeInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredGlobalReportTypeInformer(client clientset.Interface, resyncPerio } return client.ProjectcalicoV3().GlobalReportTypes().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.GlobalReportType{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalthreatfeed.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalthreatfeed.go index f559033a..92f3de2f 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/globalthreatfeed.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/globalthreatfeed.go @@ -42,7 +42,7 @@ func NewGlobalThreatFeedInformer(client clientset.Interface, resyncPeriod time.D // one. This reduces memory footprint and number of connections to the server. func NewFilteredGlobalThreatFeedInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredGlobalThreatFeedInformer(client clientset.Interface, resyncPerio } return client.ProjectcalicoV3().GlobalThreatFeeds().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.GlobalThreatFeed{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/hostendpoint.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/hostendpoint.go index 9920aa1b..2b614f9b 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/hostendpoint.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/hostendpoint.go @@ -42,7 +42,7 @@ func NewHostEndpointInformer(client clientset.Interface, resyncPeriod time.Durat // one. This reduces memory footprint and number of connections to the server. func NewFilteredHostEndpointInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredHostEndpointInformer(client clientset.Interface, resyncPeriod ti } return client.ProjectcalicoV3().HostEndpoints().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.HostEndpoint{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamblock.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamblock.go index dbc63ab9..f440b562 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamblock.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamblock.go @@ -42,7 +42,7 @@ func NewIPAMBlockInformer(client clientset.Interface, resyncPeriod time.Duration // one. This reduces memory footprint and number of connections to the server. func NewFilteredIPAMBlockInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredIPAMBlockInformer(client clientset.Interface, resyncPeriod time. } return client.ProjectcalicoV3().IPAMBlocks().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.IPAMBlock{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamconfiguration.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamconfiguration.go index 90038032..1ab8e8b3 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamconfiguration.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamconfiguration.go @@ -42,7 +42,7 @@ func NewIPAMConfigurationInformer(client clientset.Interface, resyncPeriod time. // one. This reduces memory footprint and number of connections to the server. func NewFilteredIPAMConfigurationInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredIPAMConfigurationInformer(client clientset.Interface, resyncPeri } return client.ProjectcalicoV3().IPAMConfigurations().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.IPAMConfiguration{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamhandle.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamhandle.go index 6c7f3275..053c7526 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamhandle.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/ipamhandle.go @@ -43,7 +43,7 @@ func NewIPAMHandleInformer(client clientset.Interface, namespace string, resyncP // one. This reduces memory footprint and number of connections to the server. func NewFilteredIPAMHandleInformer(client clientset.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -68,7 +68,7 @@ func NewFilteredIPAMHandleInformer(client clientset.Interface, namespace string, } return client.ProjectcalicoV3().IPAMHandles(namespace).Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.IPAMHandle{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/ippool.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/ippool.go index ceb3b1c2..24de9662 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/ippool.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/ippool.go @@ -42,7 +42,7 @@ func NewIPPoolInformer(client clientset.Interface, resyncPeriod time.Duration, i // one. This reduces memory footprint and number of connections to the server. func NewFilteredIPPoolInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredIPPoolInformer(client clientset.Interface, resyncPeriod time.Dur } return client.ProjectcalicoV3().IPPools().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.IPPool{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/ipreservation.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/ipreservation.go index 655fbd89..6cdce854 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/ipreservation.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/ipreservation.go @@ -42,7 +42,7 @@ func NewIPReservationInformer(client clientset.Interface, resyncPeriod time.Dura // one. This reduces memory footprint and number of connections to the server. func NewFilteredIPReservationInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredIPReservationInformer(client clientset.Interface, resyncPeriod t } return client.ProjectcalicoV3().IPReservations().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.IPReservation{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/kubecontrollersconfiguration.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/kubecontrollersconfiguration.go index 57b507df..2a8d6d0c 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/kubecontrollersconfiguration.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/kubecontrollersconfiguration.go @@ -42,7 +42,7 @@ func NewKubeControllersConfigurationInformer(client clientset.Interface, resyncP // one. This reduces memory footprint and number of connections to the server. func NewFilteredKubeControllersConfigurationInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredKubeControllersConfigurationInformer(client clientset.Interface, } return client.ProjectcalicoV3().KubeControllersConfigurations().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.KubeControllersConfiguration{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/licensekey.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/licensekey.go index 72f7d6f0..d61cb57c 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/licensekey.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/licensekey.go @@ -42,7 +42,7 @@ func NewLicenseKeyInformer(client clientset.Interface, resyncPeriod time.Duratio // one. This reduces memory footprint and number of connections to the server. func NewFilteredLicenseKeyInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredLicenseKeyInformer(client clientset.Interface, resyncPeriod time } return client.ProjectcalicoV3().LicenseKeys().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.LicenseKey{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/managedcluster.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/managedcluster.go index 93e510bc..a1f202af 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/managedcluster.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/managedcluster.go @@ -42,7 +42,7 @@ func NewManagedClusterInformer(client clientset.Interface, resyncPeriod time.Dur // one. This reduces memory footprint and number of connections to the server. func NewFilteredManagedClusterInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredManagedClusterInformer(client clientset.Interface, resyncPeriod } return client.ProjectcalicoV3().ManagedClusters().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.ManagedCluster{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/networkpolicy.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/networkpolicy.go index 4b5c9733..36d9a6d9 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/networkpolicy.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/networkpolicy.go @@ -43,7 +43,7 @@ func NewNetworkPolicyInformer(client clientset.Interface, namespace string, resy // one. This reduces memory footprint and number of connections to the server. func NewFilteredNetworkPolicyInformer(client clientset.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -68,7 +68,7 @@ func NewFilteredNetworkPolicyInformer(client clientset.Interface, namespace stri } return client.ProjectcalicoV3().NetworkPolicies(namespace).Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.NetworkPolicy{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/networkset.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/networkset.go index 9905d299..2d06c73a 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/networkset.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/networkset.go @@ -43,7 +43,7 @@ func NewNetworkSetInformer(client clientset.Interface, namespace string, resyncP // one. This reduces memory footprint and number of connections to the server. func NewFilteredNetworkSetInformer(client clientset.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -68,7 +68,7 @@ func NewFilteredNetworkSetInformer(client clientset.Interface, namespace string, } return client.ProjectcalicoV3().NetworkSets(namespace).Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.NetworkSet{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/packetcapture.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/packetcapture.go index 877abb6e..863edb51 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/packetcapture.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/packetcapture.go @@ -43,7 +43,7 @@ func NewPacketCaptureInformer(client clientset.Interface, namespace string, resy // one. This reduces memory footprint and number of connections to the server. func NewFilteredPacketCaptureInformer(client clientset.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -68,7 +68,7 @@ func NewFilteredPacketCaptureInformer(client clientset.Interface, namespace stri } return client.ProjectcalicoV3().PacketCaptures(namespace).Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.PacketCapture{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/policyrecommendationscope.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/policyrecommendationscope.go index 1d3b1d52..237bf269 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/policyrecommendationscope.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/policyrecommendationscope.go @@ -42,7 +42,7 @@ func NewPolicyRecommendationScopeInformer(client clientset.Interface, resyncPeri // one. This reduces memory footprint and number of connections to the server. func NewFilteredPolicyRecommendationScopeInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredPolicyRecommendationScopeInformer(client clientset.Interface, re } return client.ProjectcalicoV3().PolicyRecommendationScopes().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.PolicyRecommendationScope{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/profile.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/profile.go index fd6daccb..38f91772 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/profile.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/profile.go @@ -42,7 +42,7 @@ func NewProfileInformer(client clientset.Interface, resyncPeriod time.Duration, // one. This reduces memory footprint and number of connections to the server. func NewFilteredProfileInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredProfileInformer(client clientset.Interface, resyncPeriod time.Du } return client.ProjectcalicoV3().Profiles().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.Profile{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/remoteclusterconfiguration.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/remoteclusterconfiguration.go index a2fff767..517bd803 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/remoteclusterconfiguration.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/remoteclusterconfiguration.go @@ -42,7 +42,7 @@ func NewRemoteClusterConfigurationInformer(client clientset.Interface, resyncPer // one. This reduces memory footprint and number of connections to the server. func NewFilteredRemoteClusterConfigurationInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredRemoteClusterConfigurationInformer(client clientset.Interface, r } return client.ProjectcalicoV3().RemoteClusterConfigurations().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.RemoteClusterConfiguration{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/securityeventwebhook.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/securityeventwebhook.go index fa5e6522..93c14ce2 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/securityeventwebhook.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/securityeventwebhook.go @@ -42,7 +42,7 @@ func NewSecurityEventWebhookInformer(client clientset.Interface, resyncPeriod ti // one. This reduces memory footprint and number of connections to the server. func NewFilteredSecurityEventWebhookInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredSecurityEventWebhookInformer(client clientset.Interface, resyncP } return client.ProjectcalicoV3().SecurityEventWebhooks().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.SecurityEventWebhook{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/stagedglobalnetworkpolicy.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/stagedglobalnetworkpolicy.go index f2c9767d..664472c6 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/stagedglobalnetworkpolicy.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/stagedglobalnetworkpolicy.go @@ -42,7 +42,7 @@ func NewStagedGlobalNetworkPolicyInformer(client clientset.Interface, resyncPeri // one. This reduces memory footprint and number of connections to the server. func NewFilteredStagedGlobalNetworkPolicyInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredStagedGlobalNetworkPolicyInformer(client clientset.Interface, re } return client.ProjectcalicoV3().StagedGlobalNetworkPolicies().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.StagedGlobalNetworkPolicy{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/stagedkubernetesnetworkpolicy.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/stagedkubernetesnetworkpolicy.go index be5c7ed2..8471212e 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/stagedkubernetesnetworkpolicy.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/stagedkubernetesnetworkpolicy.go @@ -43,7 +43,7 @@ func NewStagedKubernetesNetworkPolicyInformer(client clientset.Interface, namesp // one. This reduces memory footprint and number of connections to the server. func NewFilteredStagedKubernetesNetworkPolicyInformer(client clientset.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -68,7 +68,7 @@ func NewFilteredStagedKubernetesNetworkPolicyInformer(client clientset.Interface } return client.ProjectcalicoV3().StagedKubernetesNetworkPolicies(namespace).Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.StagedKubernetesNetworkPolicy{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/stagednetworkpolicy.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/stagednetworkpolicy.go index 7e29f8fd..c47184c5 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/stagednetworkpolicy.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/stagednetworkpolicy.go @@ -43,7 +43,7 @@ func NewStagedNetworkPolicyInformer(client clientset.Interface, namespace string // one. This reduces memory footprint and number of connections to the server. func NewFilteredStagedNetworkPolicyInformer(client clientset.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -68,7 +68,7 @@ func NewFilteredStagedNetworkPolicyInformer(client clientset.Interface, namespac } return client.ProjectcalicoV3().StagedNetworkPolicies(namespace).Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.StagedNetworkPolicy{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/tier.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/tier.go index 082b3ed6..6dfd5c7d 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/tier.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/tier.go @@ -42,7 +42,7 @@ func NewTierInformer(client clientset.Interface, resyncPeriod time.Duration, ind // one. This reduces memory footprint and number of connections to the server. func NewFilteredTierInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredTierInformer(client clientset.Interface, resyncPeriod time.Durat } return client.ProjectcalicoV3().Tiers().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.Tier{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/uisettings.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/uisettings.go index 587454fb..b3ac45ef 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/uisettings.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/uisettings.go @@ -42,7 +42,7 @@ func NewUISettingsInformer(client clientset.Interface, resyncPeriod time.Duratio // one. This reduces memory footprint and number of connections to the server. func NewFilteredUISettingsInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredUISettingsInformer(client clientset.Interface, resyncPeriod time } return client.ProjectcalicoV3().UISettings().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.UISettings{}, resyncPeriod, indexers, diff --git a/pkg/client/informers_generated/externalversions/projectcalico/v3/uisettingsgroup.go b/pkg/client/informers_generated/externalversions/projectcalico/v3/uisettingsgroup.go index 27d9b72d..b2987287 100644 --- a/pkg/client/informers_generated/externalversions/projectcalico/v3/uisettingsgroup.go +++ b/pkg/client/informers_generated/externalversions/projectcalico/v3/uisettingsgroup.go @@ -42,7 +42,7 @@ func NewUISettingsGroupInformer(client clientset.Interface, resyncPeriod time.Du // one. This reduces memory footprint and number of connections to the server. func NewFilteredUISettingsGroupInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { return cache.NewSharedIndexInformer( - &cache.ListWatch{ + cache.ToListWatcherWithWatchListSemantics(&cache.ListWatch{ ListFunc: func(options v1.ListOptions) (runtime.Object, error) { if tweakListOptions != nil { tweakListOptions(&options) @@ -67,7 +67,7 @@ func NewFilteredUISettingsGroupInformer(client clientset.Interface, resyncPeriod } return client.ProjectcalicoV3().UISettingsGroups().Watch(ctx, options) }, - }, + }, client), &apisprojectcalicov3.UISettingsGroup{}, resyncPeriod, indexers, diff --git a/pkg/openapi/generated.openapi.go b/pkg/openapi/generated.openapi.go index 4e261867..5b2fd89f 100644 --- a/pkg/openapi/generated.openapi.go +++ b/pkg/openapi/generated.openapi.go @@ -10,8 +10,11 @@ package openapi import ( numorstring "github.com/tigera/api/pkg/lib/numorstring" v1 "k8s.io/api/core/v1" + networkingv1 "k8s.io/api/networking/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" intstr "k8s.io/apimachinery/pkg/util/intstr" + version "k8s.io/apimachinery/pkg/version" common "k8s.io/kube-openapi/pkg/common" spec "k8s.io/kube-openapi/pkg/validation/spec" ) @@ -44,11 +47,16 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPConfigurationSpec": schema_pkg_apis_projectcalico_v3_BGPConfigurationSpec(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPDaemonStatus": schema_pkg_apis_projectcalico_v3_BGPDaemonStatus(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilter": schema_pkg_apis_projectcalico_v3_BGPFilter(ref), + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterAddCommunity": schema_pkg_apis_projectcalico_v3_BGPFilterAddCommunity(ref), + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterCommunityMatch": schema_pkg_apis_projectcalico_v3_BGPFilterCommunityMatch(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterList": schema_pkg_apis_projectcalico_v3_BGPFilterList(ref), + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterOperation": schema_pkg_apis_projectcalico_v3_BGPFilterOperation(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrefixLengthV4": schema_pkg_apis_projectcalico_v3_BGPFilterPrefixLengthV4(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrefixLengthV6": schema_pkg_apis_projectcalico_v3_BGPFilterPrefixLengthV6(ref), + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrependASPath": schema_pkg_apis_projectcalico_v3_BGPFilterPrependASPath(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterRuleV4": schema_pkg_apis_projectcalico_v3_BGPFilterRuleV4(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterRuleV6": schema_pkg_apis_projectcalico_v3_BGPFilterRuleV6(ref), + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterSetPriority": schema_pkg_apis_projectcalico_v3_BGPFilterSetPriority(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterSpec": schema_pkg_apis_projectcalico_v3_BGPFilterSpec(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPPassword": schema_pkg_apis_projectcalico_v3_BGPPassword(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPPeer": schema_pkg_apis_projectcalico_v3_BGPPeer(ref), @@ -257,6 +265,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/tigera/api/pkg/apis/projectcalico/v3.Tier": schema_pkg_apis_projectcalico_v3_Tier(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.TierList": schema_pkg_apis_projectcalico_v3_TierList(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.TierSpec": schema_pkg_apis_projectcalico_v3_TierSpec(ref), + "github.com/tigera/api/pkg/apis/projectcalico/v3.TierStatus": schema_pkg_apis_projectcalico_v3_TierStatus(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.UIDashboard": schema_pkg_apis_projectcalico_v3_UIDashboard(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.UIGraphLayer": schema_pkg_apis_projectcalico_v3_UIGraphLayer(ref), "github.com/tigera/api/pkg/apis/projectcalico/v3.UIGraphNode": schema_pkg_apis_projectcalico_v3_UIGraphNode(ref), @@ -273,331 +282,332 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/tigera/api/pkg/lib/numorstring.Port": schema_api_pkg_lib_numorstring_Port(ref), "github.com/tigera/api/pkg/lib/numorstring.Protocol": schema_api_pkg_lib_numorstring_Protocol(ref), "github.com/tigera/api/pkg/lib/numorstring.Uint8OrString": schema_api_pkg_lib_numorstring_Uint8OrString(ref), - "k8s.io/api/core/v1.AWSElasticBlockStoreVolumeSource": schema_k8sio_api_core_v1_AWSElasticBlockStoreVolumeSource(ref), - "k8s.io/api/core/v1.Affinity": schema_k8sio_api_core_v1_Affinity(ref), - "k8s.io/api/core/v1.AppArmorProfile": schema_k8sio_api_core_v1_AppArmorProfile(ref), - "k8s.io/api/core/v1.AttachedVolume": schema_k8sio_api_core_v1_AttachedVolume(ref), - "k8s.io/api/core/v1.AvoidPods": schema_k8sio_api_core_v1_AvoidPods(ref), - "k8s.io/api/core/v1.AzureDiskVolumeSource": schema_k8sio_api_core_v1_AzureDiskVolumeSource(ref), - "k8s.io/api/core/v1.AzureFilePersistentVolumeSource": schema_k8sio_api_core_v1_AzureFilePersistentVolumeSource(ref), - "k8s.io/api/core/v1.AzureFileVolumeSource": schema_k8sio_api_core_v1_AzureFileVolumeSource(ref), - "k8s.io/api/core/v1.Binding": schema_k8sio_api_core_v1_Binding(ref), - "k8s.io/api/core/v1.CSIPersistentVolumeSource": schema_k8sio_api_core_v1_CSIPersistentVolumeSource(ref), - "k8s.io/api/core/v1.CSIVolumeSource": schema_k8sio_api_core_v1_CSIVolumeSource(ref), - "k8s.io/api/core/v1.Capabilities": schema_k8sio_api_core_v1_Capabilities(ref), - "k8s.io/api/core/v1.CephFSPersistentVolumeSource": schema_k8sio_api_core_v1_CephFSPersistentVolumeSource(ref), - "k8s.io/api/core/v1.CephFSVolumeSource": schema_k8sio_api_core_v1_CephFSVolumeSource(ref), - "k8s.io/api/core/v1.CinderPersistentVolumeSource": schema_k8sio_api_core_v1_CinderPersistentVolumeSource(ref), - "k8s.io/api/core/v1.CinderVolumeSource": schema_k8sio_api_core_v1_CinderVolumeSource(ref), - "k8s.io/api/core/v1.ClientIPConfig": schema_k8sio_api_core_v1_ClientIPConfig(ref), - "k8s.io/api/core/v1.ClusterTrustBundleProjection": schema_k8sio_api_core_v1_ClusterTrustBundleProjection(ref), - "k8s.io/api/core/v1.ComponentCondition": schema_k8sio_api_core_v1_ComponentCondition(ref), - "k8s.io/api/core/v1.ComponentStatus": schema_k8sio_api_core_v1_ComponentStatus(ref), - "k8s.io/api/core/v1.ComponentStatusList": schema_k8sio_api_core_v1_ComponentStatusList(ref), - "k8s.io/api/core/v1.ConfigMap": schema_k8sio_api_core_v1_ConfigMap(ref), - "k8s.io/api/core/v1.ConfigMapEnvSource": schema_k8sio_api_core_v1_ConfigMapEnvSource(ref), - "k8s.io/api/core/v1.ConfigMapKeySelector": schema_k8sio_api_core_v1_ConfigMapKeySelector(ref), - "k8s.io/api/core/v1.ConfigMapList": schema_k8sio_api_core_v1_ConfigMapList(ref), - "k8s.io/api/core/v1.ConfigMapNodeConfigSource": schema_k8sio_api_core_v1_ConfigMapNodeConfigSource(ref), - "k8s.io/api/core/v1.ConfigMapProjection": schema_k8sio_api_core_v1_ConfigMapProjection(ref), - "k8s.io/api/core/v1.ConfigMapVolumeSource": schema_k8sio_api_core_v1_ConfigMapVolumeSource(ref), - "k8s.io/api/core/v1.Container": schema_k8sio_api_core_v1_Container(ref), - "k8s.io/api/core/v1.ContainerExtendedResourceRequest": schema_k8sio_api_core_v1_ContainerExtendedResourceRequest(ref), - "k8s.io/api/core/v1.ContainerImage": schema_k8sio_api_core_v1_ContainerImage(ref), - "k8s.io/api/core/v1.ContainerPort": schema_k8sio_api_core_v1_ContainerPort(ref), - "k8s.io/api/core/v1.ContainerResizePolicy": schema_k8sio_api_core_v1_ContainerResizePolicy(ref), - "k8s.io/api/core/v1.ContainerRestartRule": schema_k8sio_api_core_v1_ContainerRestartRule(ref), - "k8s.io/api/core/v1.ContainerRestartRuleOnExitCodes": schema_k8sio_api_core_v1_ContainerRestartRuleOnExitCodes(ref), - "k8s.io/api/core/v1.ContainerState": schema_k8sio_api_core_v1_ContainerState(ref), - "k8s.io/api/core/v1.ContainerStateRunning": schema_k8sio_api_core_v1_ContainerStateRunning(ref), - "k8s.io/api/core/v1.ContainerStateTerminated": schema_k8sio_api_core_v1_ContainerStateTerminated(ref), - "k8s.io/api/core/v1.ContainerStateWaiting": schema_k8sio_api_core_v1_ContainerStateWaiting(ref), - "k8s.io/api/core/v1.ContainerStatus": schema_k8sio_api_core_v1_ContainerStatus(ref), - "k8s.io/api/core/v1.ContainerUser": schema_k8sio_api_core_v1_ContainerUser(ref), - "k8s.io/api/core/v1.DaemonEndpoint": schema_k8sio_api_core_v1_DaemonEndpoint(ref), - "k8s.io/api/core/v1.DownwardAPIProjection": schema_k8sio_api_core_v1_DownwardAPIProjection(ref), - "k8s.io/api/core/v1.DownwardAPIVolumeFile": schema_k8sio_api_core_v1_DownwardAPIVolumeFile(ref), - "k8s.io/api/core/v1.DownwardAPIVolumeSource": schema_k8sio_api_core_v1_DownwardAPIVolumeSource(ref), - "k8s.io/api/core/v1.EmptyDirVolumeSource": schema_k8sio_api_core_v1_EmptyDirVolumeSource(ref), - "k8s.io/api/core/v1.EndpointAddress": schema_k8sio_api_core_v1_EndpointAddress(ref), - "k8s.io/api/core/v1.EndpointPort": schema_k8sio_api_core_v1_EndpointPort(ref), - "k8s.io/api/core/v1.EndpointSubset": schema_k8sio_api_core_v1_EndpointSubset(ref), - "k8s.io/api/core/v1.Endpoints": schema_k8sio_api_core_v1_Endpoints(ref), - "k8s.io/api/core/v1.EndpointsList": schema_k8sio_api_core_v1_EndpointsList(ref), - "k8s.io/api/core/v1.EnvFromSource": schema_k8sio_api_core_v1_EnvFromSource(ref), - "k8s.io/api/core/v1.EnvVar": schema_k8sio_api_core_v1_EnvVar(ref), - "k8s.io/api/core/v1.EnvVarSource": schema_k8sio_api_core_v1_EnvVarSource(ref), - "k8s.io/api/core/v1.EphemeralContainer": schema_k8sio_api_core_v1_EphemeralContainer(ref), - "k8s.io/api/core/v1.EphemeralContainerCommon": schema_k8sio_api_core_v1_EphemeralContainerCommon(ref), - "k8s.io/api/core/v1.EphemeralVolumeSource": schema_k8sio_api_core_v1_EphemeralVolumeSource(ref), - "k8s.io/api/core/v1.Event": schema_k8sio_api_core_v1_Event(ref), - "k8s.io/api/core/v1.EventList": schema_k8sio_api_core_v1_EventList(ref), - "k8s.io/api/core/v1.EventSeries": schema_k8sio_api_core_v1_EventSeries(ref), - "k8s.io/api/core/v1.EventSource": schema_k8sio_api_core_v1_EventSource(ref), - "k8s.io/api/core/v1.ExecAction": schema_k8sio_api_core_v1_ExecAction(ref), - "k8s.io/api/core/v1.FCVolumeSource": schema_k8sio_api_core_v1_FCVolumeSource(ref), - "k8s.io/api/core/v1.FileKeySelector": schema_k8sio_api_core_v1_FileKeySelector(ref), - "k8s.io/api/core/v1.FlexPersistentVolumeSource": schema_k8sio_api_core_v1_FlexPersistentVolumeSource(ref), - "k8s.io/api/core/v1.FlexVolumeSource": schema_k8sio_api_core_v1_FlexVolumeSource(ref), - "k8s.io/api/core/v1.FlockerVolumeSource": schema_k8sio_api_core_v1_FlockerVolumeSource(ref), - "k8s.io/api/core/v1.GCEPersistentDiskVolumeSource": schema_k8sio_api_core_v1_GCEPersistentDiskVolumeSource(ref), - "k8s.io/api/core/v1.GRPCAction": schema_k8sio_api_core_v1_GRPCAction(ref), - "k8s.io/api/core/v1.GitRepoVolumeSource": schema_k8sio_api_core_v1_GitRepoVolumeSource(ref), - "k8s.io/api/core/v1.GlusterfsPersistentVolumeSource": schema_k8sio_api_core_v1_GlusterfsPersistentVolumeSource(ref), - "k8s.io/api/core/v1.GlusterfsVolumeSource": schema_k8sio_api_core_v1_GlusterfsVolumeSource(ref), - "k8s.io/api/core/v1.HTTPGetAction": schema_k8sio_api_core_v1_HTTPGetAction(ref), - "k8s.io/api/core/v1.HTTPHeader": schema_k8sio_api_core_v1_HTTPHeader(ref), - "k8s.io/api/core/v1.HostAlias": schema_k8sio_api_core_v1_HostAlias(ref), - "k8s.io/api/core/v1.HostIP": schema_k8sio_api_core_v1_HostIP(ref), - "k8s.io/api/core/v1.HostPathVolumeSource": schema_k8sio_api_core_v1_HostPathVolumeSource(ref), - "k8s.io/api/core/v1.ISCSIPersistentVolumeSource": schema_k8sio_api_core_v1_ISCSIPersistentVolumeSource(ref), - "k8s.io/api/core/v1.ISCSIVolumeSource": schema_k8sio_api_core_v1_ISCSIVolumeSource(ref), - "k8s.io/api/core/v1.ImageVolumeSource": schema_k8sio_api_core_v1_ImageVolumeSource(ref), - "k8s.io/api/core/v1.KeyToPath": schema_k8sio_api_core_v1_KeyToPath(ref), - "k8s.io/api/core/v1.Lifecycle": schema_k8sio_api_core_v1_Lifecycle(ref), - "k8s.io/api/core/v1.LifecycleHandler": schema_k8sio_api_core_v1_LifecycleHandler(ref), - "k8s.io/api/core/v1.LimitRange": schema_k8sio_api_core_v1_LimitRange(ref), - "k8s.io/api/core/v1.LimitRangeItem": schema_k8sio_api_core_v1_LimitRangeItem(ref), - "k8s.io/api/core/v1.LimitRangeList": schema_k8sio_api_core_v1_LimitRangeList(ref), - "k8s.io/api/core/v1.LimitRangeSpec": schema_k8sio_api_core_v1_LimitRangeSpec(ref), - "k8s.io/api/core/v1.LinuxContainerUser": schema_k8sio_api_core_v1_LinuxContainerUser(ref), - "k8s.io/api/core/v1.List": schema_k8sio_api_core_v1_List(ref), - "k8s.io/api/core/v1.LoadBalancerIngress": schema_k8sio_api_core_v1_LoadBalancerIngress(ref), - "k8s.io/api/core/v1.LoadBalancerStatus": schema_k8sio_api_core_v1_LoadBalancerStatus(ref), - "k8s.io/api/core/v1.LocalObjectReference": schema_k8sio_api_core_v1_LocalObjectReference(ref), - "k8s.io/api/core/v1.LocalVolumeSource": schema_k8sio_api_core_v1_LocalVolumeSource(ref), - "k8s.io/api/core/v1.ModifyVolumeStatus": schema_k8sio_api_core_v1_ModifyVolumeStatus(ref), - "k8s.io/api/core/v1.NFSVolumeSource": schema_k8sio_api_core_v1_NFSVolumeSource(ref), - "k8s.io/api/core/v1.Namespace": schema_k8sio_api_core_v1_Namespace(ref), - "k8s.io/api/core/v1.NamespaceCondition": schema_k8sio_api_core_v1_NamespaceCondition(ref), - "k8s.io/api/core/v1.NamespaceList": schema_k8sio_api_core_v1_NamespaceList(ref), - "k8s.io/api/core/v1.NamespaceSpec": schema_k8sio_api_core_v1_NamespaceSpec(ref), - "k8s.io/api/core/v1.NamespaceStatus": schema_k8sio_api_core_v1_NamespaceStatus(ref), - "k8s.io/api/core/v1.Node": schema_k8sio_api_core_v1_Node(ref), - "k8s.io/api/core/v1.NodeAddress": schema_k8sio_api_core_v1_NodeAddress(ref), - "k8s.io/api/core/v1.NodeAffinity": schema_k8sio_api_core_v1_NodeAffinity(ref), - "k8s.io/api/core/v1.NodeCondition": schema_k8sio_api_core_v1_NodeCondition(ref), - "k8s.io/api/core/v1.NodeConfigSource": schema_k8sio_api_core_v1_NodeConfigSource(ref), - "k8s.io/api/core/v1.NodeConfigStatus": schema_k8sio_api_core_v1_NodeConfigStatus(ref), - "k8s.io/api/core/v1.NodeDaemonEndpoints": schema_k8sio_api_core_v1_NodeDaemonEndpoints(ref), - "k8s.io/api/core/v1.NodeFeatures": schema_k8sio_api_core_v1_NodeFeatures(ref), - "k8s.io/api/core/v1.NodeList": schema_k8sio_api_core_v1_NodeList(ref), - "k8s.io/api/core/v1.NodeProxyOptions": schema_k8sio_api_core_v1_NodeProxyOptions(ref), - "k8s.io/api/core/v1.NodeRuntimeHandler": schema_k8sio_api_core_v1_NodeRuntimeHandler(ref), - "k8s.io/api/core/v1.NodeRuntimeHandlerFeatures": schema_k8sio_api_core_v1_NodeRuntimeHandlerFeatures(ref), - "k8s.io/api/core/v1.NodeSelector": schema_k8sio_api_core_v1_NodeSelector(ref), - "k8s.io/api/core/v1.NodeSelectorRequirement": schema_k8sio_api_core_v1_NodeSelectorRequirement(ref), - "k8s.io/api/core/v1.NodeSelectorTerm": schema_k8sio_api_core_v1_NodeSelectorTerm(ref), - "k8s.io/api/core/v1.NodeSpec": schema_k8sio_api_core_v1_NodeSpec(ref), - "k8s.io/api/core/v1.NodeStatus": schema_k8sio_api_core_v1_NodeStatus(ref), - "k8s.io/api/core/v1.NodeSwapStatus": schema_k8sio_api_core_v1_NodeSwapStatus(ref), - "k8s.io/api/core/v1.NodeSystemInfo": schema_k8sio_api_core_v1_NodeSystemInfo(ref), - "k8s.io/api/core/v1.ObjectFieldSelector": schema_k8sio_api_core_v1_ObjectFieldSelector(ref), - "k8s.io/api/core/v1.ObjectReference": schema_k8sio_api_core_v1_ObjectReference(ref), - "k8s.io/api/core/v1.PersistentVolume": schema_k8sio_api_core_v1_PersistentVolume(ref), - "k8s.io/api/core/v1.PersistentVolumeClaim": schema_k8sio_api_core_v1_PersistentVolumeClaim(ref), - "k8s.io/api/core/v1.PersistentVolumeClaimCondition": schema_k8sio_api_core_v1_PersistentVolumeClaimCondition(ref), - "k8s.io/api/core/v1.PersistentVolumeClaimList": schema_k8sio_api_core_v1_PersistentVolumeClaimList(ref), - "k8s.io/api/core/v1.PersistentVolumeClaimSpec": schema_k8sio_api_core_v1_PersistentVolumeClaimSpec(ref), - "k8s.io/api/core/v1.PersistentVolumeClaimStatus": schema_k8sio_api_core_v1_PersistentVolumeClaimStatus(ref), - "k8s.io/api/core/v1.PersistentVolumeClaimTemplate": schema_k8sio_api_core_v1_PersistentVolumeClaimTemplate(ref), - "k8s.io/api/core/v1.PersistentVolumeClaimVolumeSource": schema_k8sio_api_core_v1_PersistentVolumeClaimVolumeSource(ref), - "k8s.io/api/core/v1.PersistentVolumeList": schema_k8sio_api_core_v1_PersistentVolumeList(ref), - "k8s.io/api/core/v1.PersistentVolumeSource": schema_k8sio_api_core_v1_PersistentVolumeSource(ref), - "k8s.io/api/core/v1.PersistentVolumeSpec": schema_k8sio_api_core_v1_PersistentVolumeSpec(ref), - "k8s.io/api/core/v1.PersistentVolumeStatus": schema_k8sio_api_core_v1_PersistentVolumeStatus(ref), - "k8s.io/api/core/v1.PhotonPersistentDiskVolumeSource": schema_k8sio_api_core_v1_PhotonPersistentDiskVolumeSource(ref), - "k8s.io/api/core/v1.Pod": schema_k8sio_api_core_v1_Pod(ref), - "k8s.io/api/core/v1.PodAffinity": schema_k8sio_api_core_v1_PodAffinity(ref), - "k8s.io/api/core/v1.PodAffinityTerm": schema_k8sio_api_core_v1_PodAffinityTerm(ref), - "k8s.io/api/core/v1.PodAntiAffinity": schema_k8sio_api_core_v1_PodAntiAffinity(ref), - "k8s.io/api/core/v1.PodAttachOptions": schema_k8sio_api_core_v1_PodAttachOptions(ref), - "k8s.io/api/core/v1.PodCertificateProjection": schema_k8sio_api_core_v1_PodCertificateProjection(ref), - "k8s.io/api/core/v1.PodCondition": schema_k8sio_api_core_v1_PodCondition(ref), - "k8s.io/api/core/v1.PodDNSConfig": schema_k8sio_api_core_v1_PodDNSConfig(ref), - "k8s.io/api/core/v1.PodDNSConfigOption": schema_k8sio_api_core_v1_PodDNSConfigOption(ref), - "k8s.io/api/core/v1.PodExecOptions": schema_k8sio_api_core_v1_PodExecOptions(ref), - "k8s.io/api/core/v1.PodExtendedResourceClaimStatus": schema_k8sio_api_core_v1_PodExtendedResourceClaimStatus(ref), - "k8s.io/api/core/v1.PodIP": schema_k8sio_api_core_v1_PodIP(ref), - "k8s.io/api/core/v1.PodList": schema_k8sio_api_core_v1_PodList(ref), - "k8s.io/api/core/v1.PodLogOptions": schema_k8sio_api_core_v1_PodLogOptions(ref), - "k8s.io/api/core/v1.PodOS": schema_k8sio_api_core_v1_PodOS(ref), - "k8s.io/api/core/v1.PodPortForwardOptions": schema_k8sio_api_core_v1_PodPortForwardOptions(ref), - "k8s.io/api/core/v1.PodProxyOptions": schema_k8sio_api_core_v1_PodProxyOptions(ref), - "k8s.io/api/core/v1.PodReadinessGate": schema_k8sio_api_core_v1_PodReadinessGate(ref), - "k8s.io/api/core/v1.PodResourceClaim": schema_k8sio_api_core_v1_PodResourceClaim(ref), - "k8s.io/api/core/v1.PodResourceClaimStatus": schema_k8sio_api_core_v1_PodResourceClaimStatus(ref), - "k8s.io/api/core/v1.PodSchedulingGate": schema_k8sio_api_core_v1_PodSchedulingGate(ref), - "k8s.io/api/core/v1.PodSecurityContext": schema_k8sio_api_core_v1_PodSecurityContext(ref), - "k8s.io/api/core/v1.PodSignature": schema_k8sio_api_core_v1_PodSignature(ref), - "k8s.io/api/core/v1.PodSpec": schema_k8sio_api_core_v1_PodSpec(ref), - "k8s.io/api/core/v1.PodStatus": schema_k8sio_api_core_v1_PodStatus(ref), - "k8s.io/api/core/v1.PodStatusResult": schema_k8sio_api_core_v1_PodStatusResult(ref), - "k8s.io/api/core/v1.PodTemplate": schema_k8sio_api_core_v1_PodTemplate(ref), - "k8s.io/api/core/v1.PodTemplateList": schema_k8sio_api_core_v1_PodTemplateList(ref), - "k8s.io/api/core/v1.PodTemplateSpec": schema_k8sio_api_core_v1_PodTemplateSpec(ref), - "k8s.io/api/core/v1.PortStatus": schema_k8sio_api_core_v1_PortStatus(ref), - "k8s.io/api/core/v1.PortworxVolumeSource": schema_k8sio_api_core_v1_PortworxVolumeSource(ref), - "k8s.io/api/core/v1.PreferAvoidPodsEntry": schema_k8sio_api_core_v1_PreferAvoidPodsEntry(ref), - "k8s.io/api/core/v1.PreferredSchedulingTerm": schema_k8sio_api_core_v1_PreferredSchedulingTerm(ref), - "k8s.io/api/core/v1.Probe": schema_k8sio_api_core_v1_Probe(ref), - "k8s.io/api/core/v1.ProbeHandler": schema_k8sio_api_core_v1_ProbeHandler(ref), - "k8s.io/api/core/v1.ProjectedVolumeSource": schema_k8sio_api_core_v1_ProjectedVolumeSource(ref), - "k8s.io/api/core/v1.QuobyteVolumeSource": schema_k8sio_api_core_v1_QuobyteVolumeSource(ref), - "k8s.io/api/core/v1.RBDPersistentVolumeSource": schema_k8sio_api_core_v1_RBDPersistentVolumeSource(ref), - "k8s.io/api/core/v1.RBDVolumeSource": schema_k8sio_api_core_v1_RBDVolumeSource(ref), - "k8s.io/api/core/v1.RangeAllocation": schema_k8sio_api_core_v1_RangeAllocation(ref), - "k8s.io/api/core/v1.ReplicationController": schema_k8sio_api_core_v1_ReplicationController(ref), - "k8s.io/api/core/v1.ReplicationControllerCondition": schema_k8sio_api_core_v1_ReplicationControllerCondition(ref), - "k8s.io/api/core/v1.ReplicationControllerList": schema_k8sio_api_core_v1_ReplicationControllerList(ref), - "k8s.io/api/core/v1.ReplicationControllerSpec": schema_k8sio_api_core_v1_ReplicationControllerSpec(ref), - "k8s.io/api/core/v1.ReplicationControllerStatus": schema_k8sio_api_core_v1_ReplicationControllerStatus(ref), - "k8s.io/api/core/v1.ResourceClaim": schema_k8sio_api_core_v1_ResourceClaim(ref), - "k8s.io/api/core/v1.ResourceFieldSelector": schema_k8sio_api_core_v1_ResourceFieldSelector(ref), - "k8s.io/api/core/v1.ResourceHealth": schema_k8sio_api_core_v1_ResourceHealth(ref), - "k8s.io/api/core/v1.ResourceQuota": schema_k8sio_api_core_v1_ResourceQuota(ref), - "k8s.io/api/core/v1.ResourceQuotaList": schema_k8sio_api_core_v1_ResourceQuotaList(ref), - "k8s.io/api/core/v1.ResourceQuotaSpec": schema_k8sio_api_core_v1_ResourceQuotaSpec(ref), - "k8s.io/api/core/v1.ResourceQuotaStatus": schema_k8sio_api_core_v1_ResourceQuotaStatus(ref), - "k8s.io/api/core/v1.ResourceRequirements": schema_k8sio_api_core_v1_ResourceRequirements(ref), - "k8s.io/api/core/v1.ResourceStatus": schema_k8sio_api_core_v1_ResourceStatus(ref), - "k8s.io/api/core/v1.SELinuxOptions": schema_k8sio_api_core_v1_SELinuxOptions(ref), - "k8s.io/api/core/v1.ScaleIOPersistentVolumeSource": schema_k8sio_api_core_v1_ScaleIOPersistentVolumeSource(ref), - "k8s.io/api/core/v1.ScaleIOVolumeSource": schema_k8sio_api_core_v1_ScaleIOVolumeSource(ref), - "k8s.io/api/core/v1.ScopeSelector": schema_k8sio_api_core_v1_ScopeSelector(ref), - "k8s.io/api/core/v1.ScopedResourceSelectorRequirement": schema_k8sio_api_core_v1_ScopedResourceSelectorRequirement(ref), - "k8s.io/api/core/v1.SeccompProfile": schema_k8sio_api_core_v1_SeccompProfile(ref), - "k8s.io/api/core/v1.Secret": schema_k8sio_api_core_v1_Secret(ref), - "k8s.io/api/core/v1.SecretEnvSource": schema_k8sio_api_core_v1_SecretEnvSource(ref), - "k8s.io/api/core/v1.SecretKeySelector": schema_k8sio_api_core_v1_SecretKeySelector(ref), - "k8s.io/api/core/v1.SecretList": schema_k8sio_api_core_v1_SecretList(ref), - "k8s.io/api/core/v1.SecretProjection": schema_k8sio_api_core_v1_SecretProjection(ref), - "k8s.io/api/core/v1.SecretReference": schema_k8sio_api_core_v1_SecretReference(ref), - "k8s.io/api/core/v1.SecretVolumeSource": schema_k8sio_api_core_v1_SecretVolumeSource(ref), - "k8s.io/api/core/v1.SecurityContext": schema_k8sio_api_core_v1_SecurityContext(ref), - "k8s.io/api/core/v1.SerializedReference": schema_k8sio_api_core_v1_SerializedReference(ref), - "k8s.io/api/core/v1.Service": schema_k8sio_api_core_v1_Service(ref), - "k8s.io/api/core/v1.ServiceAccount": schema_k8sio_api_core_v1_ServiceAccount(ref), - "k8s.io/api/core/v1.ServiceAccountList": schema_k8sio_api_core_v1_ServiceAccountList(ref), - "k8s.io/api/core/v1.ServiceAccountTokenProjection": schema_k8sio_api_core_v1_ServiceAccountTokenProjection(ref), - "k8s.io/api/core/v1.ServiceList": schema_k8sio_api_core_v1_ServiceList(ref), - "k8s.io/api/core/v1.ServicePort": schema_k8sio_api_core_v1_ServicePort(ref), - "k8s.io/api/core/v1.ServiceProxyOptions": schema_k8sio_api_core_v1_ServiceProxyOptions(ref), - "k8s.io/api/core/v1.ServiceSpec": schema_k8sio_api_core_v1_ServiceSpec(ref), - "k8s.io/api/core/v1.ServiceStatus": schema_k8sio_api_core_v1_ServiceStatus(ref), - "k8s.io/api/core/v1.SessionAffinityConfig": schema_k8sio_api_core_v1_SessionAffinityConfig(ref), - "k8s.io/api/core/v1.SleepAction": schema_k8sio_api_core_v1_SleepAction(ref), - "k8s.io/api/core/v1.StorageOSPersistentVolumeSource": schema_k8sio_api_core_v1_StorageOSPersistentVolumeSource(ref), - "k8s.io/api/core/v1.StorageOSVolumeSource": schema_k8sio_api_core_v1_StorageOSVolumeSource(ref), - "k8s.io/api/core/v1.Sysctl": schema_k8sio_api_core_v1_Sysctl(ref), - "k8s.io/api/core/v1.TCPSocketAction": schema_k8sio_api_core_v1_TCPSocketAction(ref), - "k8s.io/api/core/v1.Taint": schema_k8sio_api_core_v1_Taint(ref), - "k8s.io/api/core/v1.Toleration": schema_k8sio_api_core_v1_Toleration(ref), - "k8s.io/api/core/v1.TopologySelectorLabelRequirement": schema_k8sio_api_core_v1_TopologySelectorLabelRequirement(ref), - "k8s.io/api/core/v1.TopologySelectorTerm": schema_k8sio_api_core_v1_TopologySelectorTerm(ref), - "k8s.io/api/core/v1.TopologySpreadConstraint": schema_k8sio_api_core_v1_TopologySpreadConstraint(ref), - "k8s.io/api/core/v1.TypedLocalObjectReference": schema_k8sio_api_core_v1_TypedLocalObjectReference(ref), - "k8s.io/api/core/v1.TypedObjectReference": schema_k8sio_api_core_v1_TypedObjectReference(ref), - "k8s.io/api/core/v1.Volume": schema_k8sio_api_core_v1_Volume(ref), - "k8s.io/api/core/v1.VolumeDevice": schema_k8sio_api_core_v1_VolumeDevice(ref), - "k8s.io/api/core/v1.VolumeMount": schema_k8sio_api_core_v1_VolumeMount(ref), - "k8s.io/api/core/v1.VolumeMountStatus": schema_k8sio_api_core_v1_VolumeMountStatus(ref), - "k8s.io/api/core/v1.VolumeNodeAffinity": schema_k8sio_api_core_v1_VolumeNodeAffinity(ref), - "k8s.io/api/core/v1.VolumeProjection": schema_k8sio_api_core_v1_VolumeProjection(ref), - "k8s.io/api/core/v1.VolumeResourceRequirements": schema_k8sio_api_core_v1_VolumeResourceRequirements(ref), - "k8s.io/api/core/v1.VolumeSource": schema_k8sio_api_core_v1_VolumeSource(ref), - "k8s.io/api/core/v1.VsphereVirtualDiskVolumeSource": schema_k8sio_api_core_v1_VsphereVirtualDiskVolumeSource(ref), - "k8s.io/api/core/v1.WeightedPodAffinityTerm": schema_k8sio_api_core_v1_WeightedPodAffinityTerm(ref), - "k8s.io/api/core/v1.WindowsSecurityContextOptions": schema_k8sio_api_core_v1_WindowsSecurityContextOptions(ref), - "k8s.io/api/networking/v1.HTTPIngressPath": schema_k8sio_api_networking_v1_HTTPIngressPath(ref), - "k8s.io/api/networking/v1.HTTPIngressRuleValue": schema_k8sio_api_networking_v1_HTTPIngressRuleValue(ref), - "k8s.io/api/networking/v1.IPAddress": schema_k8sio_api_networking_v1_IPAddress(ref), - "k8s.io/api/networking/v1.IPAddressList": schema_k8sio_api_networking_v1_IPAddressList(ref), - "k8s.io/api/networking/v1.IPAddressSpec": schema_k8sio_api_networking_v1_IPAddressSpec(ref), - "k8s.io/api/networking/v1.IPBlock": schema_k8sio_api_networking_v1_IPBlock(ref), - "k8s.io/api/networking/v1.Ingress": schema_k8sio_api_networking_v1_Ingress(ref), - "k8s.io/api/networking/v1.IngressBackend": schema_k8sio_api_networking_v1_IngressBackend(ref), - "k8s.io/api/networking/v1.IngressClass": schema_k8sio_api_networking_v1_IngressClass(ref), - "k8s.io/api/networking/v1.IngressClassList": schema_k8sio_api_networking_v1_IngressClassList(ref), - "k8s.io/api/networking/v1.IngressClassParametersReference": schema_k8sio_api_networking_v1_IngressClassParametersReference(ref), - "k8s.io/api/networking/v1.IngressClassSpec": schema_k8sio_api_networking_v1_IngressClassSpec(ref), - "k8s.io/api/networking/v1.IngressList": schema_k8sio_api_networking_v1_IngressList(ref), - "k8s.io/api/networking/v1.IngressLoadBalancerIngress": schema_k8sio_api_networking_v1_IngressLoadBalancerIngress(ref), - "k8s.io/api/networking/v1.IngressLoadBalancerStatus": schema_k8sio_api_networking_v1_IngressLoadBalancerStatus(ref), - "k8s.io/api/networking/v1.IngressPortStatus": schema_k8sio_api_networking_v1_IngressPortStatus(ref), - "k8s.io/api/networking/v1.IngressRule": schema_k8sio_api_networking_v1_IngressRule(ref), - "k8s.io/api/networking/v1.IngressRuleValue": schema_k8sio_api_networking_v1_IngressRuleValue(ref), - "k8s.io/api/networking/v1.IngressServiceBackend": schema_k8sio_api_networking_v1_IngressServiceBackend(ref), - "k8s.io/api/networking/v1.IngressSpec": schema_k8sio_api_networking_v1_IngressSpec(ref), - "k8s.io/api/networking/v1.IngressStatus": schema_k8sio_api_networking_v1_IngressStatus(ref), - "k8s.io/api/networking/v1.IngressTLS": schema_k8sio_api_networking_v1_IngressTLS(ref), - "k8s.io/api/networking/v1.NetworkPolicy": schema_k8sio_api_networking_v1_NetworkPolicy(ref), - "k8s.io/api/networking/v1.NetworkPolicyEgressRule": schema_k8sio_api_networking_v1_NetworkPolicyEgressRule(ref), - "k8s.io/api/networking/v1.NetworkPolicyIngressRule": schema_k8sio_api_networking_v1_NetworkPolicyIngressRule(ref), - "k8s.io/api/networking/v1.NetworkPolicyList": schema_k8sio_api_networking_v1_NetworkPolicyList(ref), - "k8s.io/api/networking/v1.NetworkPolicyPeer": schema_k8sio_api_networking_v1_NetworkPolicyPeer(ref), - "k8s.io/api/networking/v1.NetworkPolicyPort": schema_k8sio_api_networking_v1_NetworkPolicyPort(ref), - "k8s.io/api/networking/v1.NetworkPolicySpec": schema_k8sio_api_networking_v1_NetworkPolicySpec(ref), - "k8s.io/api/networking/v1.ParentReference": schema_k8sio_api_networking_v1_ParentReference(ref), - "k8s.io/api/networking/v1.ServiceBackendPort": schema_k8sio_api_networking_v1_ServiceBackendPort(ref), - "k8s.io/api/networking/v1.ServiceCIDR": schema_k8sio_api_networking_v1_ServiceCIDR(ref), - "k8s.io/api/networking/v1.ServiceCIDRList": schema_k8sio_api_networking_v1_ServiceCIDRList(ref), - "k8s.io/api/networking/v1.ServiceCIDRSpec": schema_k8sio_api_networking_v1_ServiceCIDRSpec(ref), - "k8s.io/api/networking/v1.ServiceCIDRStatus": schema_k8sio_api_networking_v1_ServiceCIDRStatus(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.APIGroup": schema_pkg_apis_meta_v1_APIGroup(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.APIGroupList": schema_pkg_apis_meta_v1_APIGroupList(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.APIResource": schema_pkg_apis_meta_v1_APIResource(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.APIResourceList": schema_pkg_apis_meta_v1_APIResourceList(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.APIVersions": schema_pkg_apis_meta_v1_APIVersions(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.ApplyOptions": schema_pkg_apis_meta_v1_ApplyOptions(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.Condition": schema_pkg_apis_meta_v1_Condition(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.CreateOptions": schema_pkg_apis_meta_v1_CreateOptions(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.DeleteOptions": schema_pkg_apis_meta_v1_DeleteOptions(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.Duration": schema_pkg_apis_meta_v1_Duration(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.FieldSelectorRequirement": schema_pkg_apis_meta_v1_FieldSelectorRequirement(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.FieldsV1": schema_pkg_apis_meta_v1_FieldsV1(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.GetOptions": schema_pkg_apis_meta_v1_GetOptions(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.GroupKind": schema_pkg_apis_meta_v1_GroupKind(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.GroupResource": schema_pkg_apis_meta_v1_GroupResource(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.GroupVersion": schema_pkg_apis_meta_v1_GroupVersion(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.GroupVersionForDiscovery": schema_pkg_apis_meta_v1_GroupVersionForDiscovery(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.GroupVersionKind": schema_pkg_apis_meta_v1_GroupVersionKind(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.GroupVersionResource": schema_pkg_apis_meta_v1_GroupVersionResource(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.InternalEvent": schema_pkg_apis_meta_v1_InternalEvent(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector": schema_pkg_apis_meta_v1_LabelSelector(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelectorRequirement": schema_pkg_apis_meta_v1_LabelSelectorRequirement(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.List": schema_pkg_apis_meta_v1_List(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta": schema_pkg_apis_meta_v1_ListMeta(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.ListOptions": schema_pkg_apis_meta_v1_ListOptions(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.ManagedFieldsEntry": schema_pkg_apis_meta_v1_ManagedFieldsEntry(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.MicroTime": schema_pkg_apis_meta_v1_MicroTime(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta": schema_pkg_apis_meta_v1_ObjectMeta(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.OwnerReference": schema_pkg_apis_meta_v1_OwnerReference(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.PartialObjectMetadata": schema_pkg_apis_meta_v1_PartialObjectMetadata(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.PartialObjectMetadataList": schema_pkg_apis_meta_v1_PartialObjectMetadataList(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.Patch": schema_pkg_apis_meta_v1_Patch(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.PatchOptions": schema_pkg_apis_meta_v1_PatchOptions(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.Preconditions": schema_pkg_apis_meta_v1_Preconditions(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.RootPaths": schema_pkg_apis_meta_v1_RootPaths(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.ServerAddressByClientCIDR": schema_pkg_apis_meta_v1_ServerAddressByClientCIDR(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.Status": schema_pkg_apis_meta_v1_Status(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.StatusCause": schema_pkg_apis_meta_v1_StatusCause(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.StatusDetails": schema_pkg_apis_meta_v1_StatusDetails(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.Table": schema_pkg_apis_meta_v1_Table(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.TableColumnDefinition": schema_pkg_apis_meta_v1_TableColumnDefinition(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.TableOptions": schema_pkg_apis_meta_v1_TableOptions(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.TableRow": schema_pkg_apis_meta_v1_TableRow(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.TableRowCondition": schema_pkg_apis_meta_v1_TableRowCondition(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.Time": schema_pkg_apis_meta_v1_Time(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.Timestamp": schema_pkg_apis_meta_v1_Timestamp(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.TypeMeta": schema_pkg_apis_meta_v1_TypeMeta(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.UpdateOptions": schema_pkg_apis_meta_v1_UpdateOptions(ref), - "k8s.io/apimachinery/pkg/apis/meta/v1.WatchEvent": schema_pkg_apis_meta_v1_WatchEvent(ref), - "k8s.io/apimachinery/pkg/runtime.RawExtension": schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref), - "k8s.io/apimachinery/pkg/runtime.TypeMeta": schema_k8sio_apimachinery_pkg_runtime_TypeMeta(ref), - "k8s.io/apimachinery/pkg/runtime.Unknown": schema_k8sio_apimachinery_pkg_runtime_Unknown(ref), - "k8s.io/apimachinery/pkg/util/intstr.IntOrString": schema_apimachinery_pkg_util_intstr_IntOrString(ref), - "k8s.io/apimachinery/pkg/version.Info": schema_k8sio_apimachinery_pkg_version_Info(ref), + v1.AWSElasticBlockStoreVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_AWSElasticBlockStoreVolumeSource(ref), + v1.Affinity{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Affinity(ref), + v1.AppArmorProfile{}.OpenAPIModelName(): schema_k8sio_api_core_v1_AppArmorProfile(ref), + v1.AttachedVolume{}.OpenAPIModelName(): schema_k8sio_api_core_v1_AttachedVolume(ref), + v1.AvoidPods{}.OpenAPIModelName(): schema_k8sio_api_core_v1_AvoidPods(ref), + v1.AzureDiskVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_AzureDiskVolumeSource(ref), + v1.AzureFilePersistentVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_AzureFilePersistentVolumeSource(ref), + v1.AzureFileVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_AzureFileVolumeSource(ref), + v1.Binding{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Binding(ref), + v1.CSIPersistentVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_CSIPersistentVolumeSource(ref), + v1.CSIVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_CSIVolumeSource(ref), + v1.Capabilities{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Capabilities(ref), + v1.CephFSPersistentVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_CephFSPersistentVolumeSource(ref), + v1.CephFSVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_CephFSVolumeSource(ref), + v1.CinderPersistentVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_CinderPersistentVolumeSource(ref), + v1.CinderVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_CinderVolumeSource(ref), + v1.ClientIPConfig{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ClientIPConfig(ref), + v1.ClusterTrustBundleProjection{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ClusterTrustBundleProjection(ref), + v1.ComponentCondition{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ComponentCondition(ref), + v1.ComponentStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ComponentStatus(ref), + v1.ComponentStatusList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ComponentStatusList(ref), + v1.ConfigMap{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ConfigMap(ref), + v1.ConfigMapEnvSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ConfigMapEnvSource(ref), + v1.ConfigMapKeySelector{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ConfigMapKeySelector(ref), + v1.ConfigMapList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ConfigMapList(ref), + v1.ConfigMapNodeConfigSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ConfigMapNodeConfigSource(ref), + v1.ConfigMapProjection{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ConfigMapProjection(ref), + v1.ConfigMapVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ConfigMapVolumeSource(ref), + v1.Container{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Container(ref), + v1.ContainerExtendedResourceRequest{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerExtendedResourceRequest(ref), + v1.ContainerImage{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerImage(ref), + v1.ContainerPort{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerPort(ref), + v1.ContainerResizePolicy{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerResizePolicy(ref), + v1.ContainerRestartRule{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerRestartRule(ref), + v1.ContainerRestartRuleOnExitCodes{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerRestartRuleOnExitCodes(ref), + v1.ContainerState{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerState(ref), + v1.ContainerStateRunning{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerStateRunning(ref), + v1.ContainerStateTerminated{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerStateTerminated(ref), + v1.ContainerStateWaiting{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerStateWaiting(ref), + v1.ContainerStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerStatus(ref), + v1.ContainerUser{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ContainerUser(ref), + v1.DaemonEndpoint{}.OpenAPIModelName(): schema_k8sio_api_core_v1_DaemonEndpoint(ref), + v1.DownwardAPIProjection{}.OpenAPIModelName(): schema_k8sio_api_core_v1_DownwardAPIProjection(ref), + v1.DownwardAPIVolumeFile{}.OpenAPIModelName(): schema_k8sio_api_core_v1_DownwardAPIVolumeFile(ref), + v1.DownwardAPIVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_DownwardAPIVolumeSource(ref), + v1.EmptyDirVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EmptyDirVolumeSource(ref), + v1.EndpointAddress{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EndpointAddress(ref), + v1.EndpointPort{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EndpointPort(ref), + v1.EndpointSubset{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EndpointSubset(ref), + v1.Endpoints{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Endpoints(ref), + v1.EndpointsList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EndpointsList(ref), + v1.EnvFromSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EnvFromSource(ref), + v1.EnvVar{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EnvVar(ref), + v1.EnvVarSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EnvVarSource(ref), + v1.EphemeralContainer{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EphemeralContainer(ref), + v1.EphemeralContainerCommon{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EphemeralContainerCommon(ref), + v1.EphemeralVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EphemeralVolumeSource(ref), + v1.Event{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Event(ref), + v1.EventList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EventList(ref), + v1.EventSeries{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EventSeries(ref), + v1.EventSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_EventSource(ref), + v1.ExecAction{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ExecAction(ref), + v1.FCVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_FCVolumeSource(ref), + v1.FileKeySelector{}.OpenAPIModelName(): schema_k8sio_api_core_v1_FileKeySelector(ref), + v1.FlexPersistentVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_FlexPersistentVolumeSource(ref), + v1.FlexVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_FlexVolumeSource(ref), + v1.FlockerVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_FlockerVolumeSource(ref), + v1.GCEPersistentDiskVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_GCEPersistentDiskVolumeSource(ref), + v1.GRPCAction{}.OpenAPIModelName(): schema_k8sio_api_core_v1_GRPCAction(ref), + v1.GitRepoVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_GitRepoVolumeSource(ref), + v1.GlusterfsPersistentVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_GlusterfsPersistentVolumeSource(ref), + v1.GlusterfsVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_GlusterfsVolumeSource(ref), + v1.HTTPGetAction{}.OpenAPIModelName(): schema_k8sio_api_core_v1_HTTPGetAction(ref), + v1.HTTPHeader{}.OpenAPIModelName(): schema_k8sio_api_core_v1_HTTPHeader(ref), + v1.HostAlias{}.OpenAPIModelName(): schema_k8sio_api_core_v1_HostAlias(ref), + v1.HostIP{}.OpenAPIModelName(): schema_k8sio_api_core_v1_HostIP(ref), + v1.HostPathVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_HostPathVolumeSource(ref), + v1.ISCSIPersistentVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ISCSIPersistentVolumeSource(ref), + v1.ISCSIVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ISCSIVolumeSource(ref), + v1.ImageVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ImageVolumeSource(ref), + v1.KeyToPath{}.OpenAPIModelName(): schema_k8sio_api_core_v1_KeyToPath(ref), + v1.Lifecycle{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Lifecycle(ref), + v1.LifecycleHandler{}.OpenAPIModelName(): schema_k8sio_api_core_v1_LifecycleHandler(ref), + v1.LimitRange{}.OpenAPIModelName(): schema_k8sio_api_core_v1_LimitRange(ref), + v1.LimitRangeItem{}.OpenAPIModelName(): schema_k8sio_api_core_v1_LimitRangeItem(ref), + v1.LimitRangeList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_LimitRangeList(ref), + v1.LimitRangeSpec{}.OpenAPIModelName(): schema_k8sio_api_core_v1_LimitRangeSpec(ref), + v1.LinuxContainerUser{}.OpenAPIModelName(): schema_k8sio_api_core_v1_LinuxContainerUser(ref), + v1.List{}.OpenAPIModelName(): schema_k8sio_api_core_v1_List(ref), + v1.LoadBalancerIngress{}.OpenAPIModelName(): schema_k8sio_api_core_v1_LoadBalancerIngress(ref), + v1.LoadBalancerStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_LoadBalancerStatus(ref), + v1.LocalObjectReference{}.OpenAPIModelName(): schema_k8sio_api_core_v1_LocalObjectReference(ref), + v1.LocalVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_LocalVolumeSource(ref), + v1.ModifyVolumeStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ModifyVolumeStatus(ref), + v1.NFSVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NFSVolumeSource(ref), + v1.Namespace{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Namespace(ref), + v1.NamespaceCondition{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NamespaceCondition(ref), + v1.NamespaceList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NamespaceList(ref), + v1.NamespaceSpec{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NamespaceSpec(ref), + v1.NamespaceStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NamespaceStatus(ref), + v1.Node{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Node(ref), + v1.NodeAddress{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeAddress(ref), + v1.NodeAffinity{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeAffinity(ref), + v1.NodeCondition{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeCondition(ref), + v1.NodeConfigSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeConfigSource(ref), + v1.NodeConfigStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeConfigStatus(ref), + v1.NodeDaemonEndpoints{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeDaemonEndpoints(ref), + v1.NodeFeatures{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeFeatures(ref), + v1.NodeList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeList(ref), + v1.NodeProxyOptions{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeProxyOptions(ref), + v1.NodeRuntimeHandler{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeRuntimeHandler(ref), + v1.NodeRuntimeHandlerFeatures{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeRuntimeHandlerFeatures(ref), + v1.NodeSelector{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeSelector(ref), + v1.NodeSelectorRequirement{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeSelectorRequirement(ref), + v1.NodeSelectorTerm{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeSelectorTerm(ref), + v1.NodeSpec{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeSpec(ref), + v1.NodeStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeStatus(ref), + v1.NodeSwapStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeSwapStatus(ref), + v1.NodeSystemInfo{}.OpenAPIModelName(): schema_k8sio_api_core_v1_NodeSystemInfo(ref), + v1.ObjectFieldSelector{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ObjectFieldSelector(ref), + v1.ObjectReference{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ObjectReference(ref), + v1.PersistentVolume{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolume(ref), + v1.PersistentVolumeClaim{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolumeClaim(ref), + v1.PersistentVolumeClaimCondition{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolumeClaimCondition(ref), + v1.PersistentVolumeClaimList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolumeClaimList(ref), + v1.PersistentVolumeClaimSpec{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolumeClaimSpec(ref), + v1.PersistentVolumeClaimStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolumeClaimStatus(ref), + v1.PersistentVolumeClaimTemplate{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolumeClaimTemplate(ref), + v1.PersistentVolumeClaimVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolumeClaimVolumeSource(ref), + v1.PersistentVolumeList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolumeList(ref), + v1.PersistentVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolumeSource(ref), + v1.PersistentVolumeSpec{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolumeSpec(ref), + v1.PersistentVolumeStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PersistentVolumeStatus(ref), + v1.PhotonPersistentDiskVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PhotonPersistentDiskVolumeSource(ref), + v1.Pod{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Pod(ref), + v1.PodAffinity{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodAffinity(ref), + v1.PodAffinityTerm{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodAffinityTerm(ref), + v1.PodAntiAffinity{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodAntiAffinity(ref), + v1.PodAttachOptions{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodAttachOptions(ref), + v1.PodCertificateProjection{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodCertificateProjection(ref), + v1.PodCondition{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodCondition(ref), + v1.PodDNSConfig{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodDNSConfig(ref), + v1.PodDNSConfigOption{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodDNSConfigOption(ref), + v1.PodExecOptions{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodExecOptions(ref), + v1.PodExtendedResourceClaimStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodExtendedResourceClaimStatus(ref), + v1.PodIP{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodIP(ref), + v1.PodList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodList(ref), + v1.PodLogOptions{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodLogOptions(ref), + v1.PodOS{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodOS(ref), + v1.PodPortForwardOptions{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodPortForwardOptions(ref), + v1.PodProxyOptions{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodProxyOptions(ref), + v1.PodReadinessGate{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodReadinessGate(ref), + v1.PodResourceClaim{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodResourceClaim(ref), + v1.PodResourceClaimStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodResourceClaimStatus(ref), + v1.PodSchedulingGate{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodSchedulingGate(ref), + v1.PodSecurityContext{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodSecurityContext(ref), + v1.PodSignature{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodSignature(ref), + v1.PodSpec{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodSpec(ref), + v1.PodStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodStatus(ref), + v1.PodStatusResult{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodStatusResult(ref), + v1.PodTemplate{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodTemplate(ref), + v1.PodTemplateList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodTemplateList(ref), + v1.PodTemplateSpec{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PodTemplateSpec(ref), + v1.PortStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PortStatus(ref), + v1.PortworxVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PortworxVolumeSource(ref), + v1.PreferAvoidPodsEntry{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PreferAvoidPodsEntry(ref), + v1.PreferredSchedulingTerm{}.OpenAPIModelName(): schema_k8sio_api_core_v1_PreferredSchedulingTerm(ref), + v1.Probe{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Probe(ref), + v1.ProbeHandler{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ProbeHandler(ref), + v1.ProjectedVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ProjectedVolumeSource(ref), + v1.QuobyteVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_QuobyteVolumeSource(ref), + v1.RBDPersistentVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_RBDPersistentVolumeSource(ref), + v1.RBDVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_RBDVolumeSource(ref), + v1.RangeAllocation{}.OpenAPIModelName(): schema_k8sio_api_core_v1_RangeAllocation(ref), + v1.ReplicationController{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ReplicationController(ref), + v1.ReplicationControllerCondition{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ReplicationControllerCondition(ref), + v1.ReplicationControllerList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ReplicationControllerList(ref), + v1.ReplicationControllerSpec{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ReplicationControllerSpec(ref), + v1.ReplicationControllerStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ReplicationControllerStatus(ref), + v1.ResourceClaim{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ResourceClaim(ref), + v1.ResourceFieldSelector{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ResourceFieldSelector(ref), + v1.ResourceHealth{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ResourceHealth(ref), + v1.ResourceQuota{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ResourceQuota(ref), + v1.ResourceQuotaList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ResourceQuotaList(ref), + v1.ResourceQuotaSpec{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ResourceQuotaSpec(ref), + v1.ResourceQuotaStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ResourceQuotaStatus(ref), + v1.ResourceRequirements{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ResourceRequirements(ref), + v1.ResourceStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ResourceStatus(ref), + v1.SELinuxOptions{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SELinuxOptions(ref), + v1.ScaleIOPersistentVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ScaleIOPersistentVolumeSource(ref), + v1.ScaleIOVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ScaleIOVolumeSource(ref), + v1.ScopeSelector{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ScopeSelector(ref), + v1.ScopedResourceSelectorRequirement{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ScopedResourceSelectorRequirement(ref), + v1.SeccompProfile{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SeccompProfile(ref), + v1.Secret{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Secret(ref), + v1.SecretEnvSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SecretEnvSource(ref), + v1.SecretKeySelector{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SecretKeySelector(ref), + v1.SecretList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SecretList(ref), + v1.SecretProjection{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SecretProjection(ref), + v1.SecretReference{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SecretReference(ref), + v1.SecretVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SecretVolumeSource(ref), + v1.SecurityContext{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SecurityContext(ref), + v1.SerializedReference{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SerializedReference(ref), + v1.Service{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Service(ref), + v1.ServiceAccount{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ServiceAccount(ref), + v1.ServiceAccountList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ServiceAccountList(ref), + v1.ServiceAccountTokenProjection{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ServiceAccountTokenProjection(ref), + v1.ServiceList{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ServiceList(ref), + v1.ServicePort{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ServicePort(ref), + v1.ServiceProxyOptions{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ServiceProxyOptions(ref), + v1.ServiceSpec{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ServiceSpec(ref), + v1.ServiceStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_ServiceStatus(ref), + v1.SessionAffinityConfig{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SessionAffinityConfig(ref), + v1.SleepAction{}.OpenAPIModelName(): schema_k8sio_api_core_v1_SleepAction(ref), + v1.StorageOSPersistentVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_StorageOSPersistentVolumeSource(ref), + v1.StorageOSVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_StorageOSVolumeSource(ref), + v1.Sysctl{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Sysctl(ref), + v1.TCPSocketAction{}.OpenAPIModelName(): schema_k8sio_api_core_v1_TCPSocketAction(ref), + v1.Taint{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Taint(ref), + v1.Toleration{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Toleration(ref), + v1.TopologySelectorLabelRequirement{}.OpenAPIModelName(): schema_k8sio_api_core_v1_TopologySelectorLabelRequirement(ref), + v1.TopologySelectorTerm{}.OpenAPIModelName(): schema_k8sio_api_core_v1_TopologySelectorTerm(ref), + v1.TopologySpreadConstraint{}.OpenAPIModelName(): schema_k8sio_api_core_v1_TopologySpreadConstraint(ref), + v1.TypedLocalObjectReference{}.OpenAPIModelName(): schema_k8sio_api_core_v1_TypedLocalObjectReference(ref), + v1.TypedObjectReference{}.OpenAPIModelName(): schema_k8sio_api_core_v1_TypedObjectReference(ref), + v1.Volume{}.OpenAPIModelName(): schema_k8sio_api_core_v1_Volume(ref), + v1.VolumeDevice{}.OpenAPIModelName(): schema_k8sio_api_core_v1_VolumeDevice(ref), + v1.VolumeMount{}.OpenAPIModelName(): schema_k8sio_api_core_v1_VolumeMount(ref), + v1.VolumeMountStatus{}.OpenAPIModelName(): schema_k8sio_api_core_v1_VolumeMountStatus(ref), + v1.VolumeNodeAffinity{}.OpenAPIModelName(): schema_k8sio_api_core_v1_VolumeNodeAffinity(ref), + v1.VolumeProjection{}.OpenAPIModelName(): schema_k8sio_api_core_v1_VolumeProjection(ref), + v1.VolumeResourceRequirements{}.OpenAPIModelName(): schema_k8sio_api_core_v1_VolumeResourceRequirements(ref), + v1.VolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_VolumeSource(ref), + v1.VsphereVirtualDiskVolumeSource{}.OpenAPIModelName(): schema_k8sio_api_core_v1_VsphereVirtualDiskVolumeSource(ref), + v1.WeightedPodAffinityTerm{}.OpenAPIModelName(): schema_k8sio_api_core_v1_WeightedPodAffinityTerm(ref), + v1.WindowsSecurityContextOptions{}.OpenAPIModelName(): schema_k8sio_api_core_v1_WindowsSecurityContextOptions(ref), + v1.WorkloadReference{}.OpenAPIModelName(): schema_k8sio_api_core_v1_WorkloadReference(ref), + networkingv1.HTTPIngressPath{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_HTTPIngressPath(ref), + networkingv1.HTTPIngressRuleValue{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_HTTPIngressRuleValue(ref), + networkingv1.IPAddress{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IPAddress(ref), + networkingv1.IPAddressList{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IPAddressList(ref), + networkingv1.IPAddressSpec{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IPAddressSpec(ref), + networkingv1.IPBlock{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IPBlock(ref), + networkingv1.Ingress{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_Ingress(ref), + networkingv1.IngressBackend{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressBackend(ref), + networkingv1.IngressClass{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressClass(ref), + networkingv1.IngressClassList{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressClassList(ref), + networkingv1.IngressClassParametersReference{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressClassParametersReference(ref), + networkingv1.IngressClassSpec{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressClassSpec(ref), + networkingv1.IngressList{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressList(ref), + networkingv1.IngressLoadBalancerIngress{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressLoadBalancerIngress(ref), + networkingv1.IngressLoadBalancerStatus{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressLoadBalancerStatus(ref), + networkingv1.IngressPortStatus{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressPortStatus(ref), + networkingv1.IngressRule{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressRule(ref), + networkingv1.IngressRuleValue{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressRuleValue(ref), + networkingv1.IngressServiceBackend{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressServiceBackend(ref), + networkingv1.IngressSpec{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressSpec(ref), + networkingv1.IngressStatus{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressStatus(ref), + networkingv1.IngressTLS{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_IngressTLS(ref), + networkingv1.NetworkPolicy{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_NetworkPolicy(ref), + networkingv1.NetworkPolicyEgressRule{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_NetworkPolicyEgressRule(ref), + networkingv1.NetworkPolicyIngressRule{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_NetworkPolicyIngressRule(ref), + networkingv1.NetworkPolicyList{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_NetworkPolicyList(ref), + networkingv1.NetworkPolicyPeer{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_NetworkPolicyPeer(ref), + networkingv1.NetworkPolicyPort{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_NetworkPolicyPort(ref), + networkingv1.NetworkPolicySpec{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_NetworkPolicySpec(ref), + networkingv1.ParentReference{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_ParentReference(ref), + networkingv1.ServiceBackendPort{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_ServiceBackendPort(ref), + networkingv1.ServiceCIDR{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_ServiceCIDR(ref), + networkingv1.ServiceCIDRList{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_ServiceCIDRList(ref), + networkingv1.ServiceCIDRSpec{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_ServiceCIDRSpec(ref), + networkingv1.ServiceCIDRStatus{}.OpenAPIModelName(): schema_k8sio_api_networking_v1_ServiceCIDRStatus(ref), + metav1.APIGroup{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_APIGroup(ref), + metav1.APIGroupList{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_APIGroupList(ref), + metav1.APIResource{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_APIResource(ref), + metav1.APIResourceList{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_APIResourceList(ref), + metav1.APIVersions{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_APIVersions(ref), + metav1.ApplyOptions{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_ApplyOptions(ref), + metav1.Condition{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_Condition(ref), + metav1.CreateOptions{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_CreateOptions(ref), + metav1.DeleteOptions{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_DeleteOptions(ref), + metav1.Duration{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_Duration(ref), + metav1.FieldSelectorRequirement{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_FieldSelectorRequirement(ref), + metav1.FieldsV1{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_FieldsV1(ref), + metav1.GetOptions{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_GetOptions(ref), + metav1.GroupKind{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_GroupKind(ref), + metav1.GroupResource{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_GroupResource(ref), + metav1.GroupVersion{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_GroupVersion(ref), + metav1.GroupVersionForDiscovery{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_GroupVersionForDiscovery(ref), + metav1.GroupVersionKind{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_GroupVersionKind(ref), + metav1.GroupVersionResource{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_GroupVersionResource(ref), + metav1.InternalEvent{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_InternalEvent(ref), + metav1.LabelSelector{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_LabelSelector(ref), + metav1.LabelSelectorRequirement{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_LabelSelectorRequirement(ref), + metav1.List{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_List(ref), + metav1.ListMeta{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_ListMeta(ref), + metav1.ListOptions{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_ListOptions(ref), + metav1.ManagedFieldsEntry{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_ManagedFieldsEntry(ref), + metav1.MicroTime{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_MicroTime(ref), + metav1.ObjectMeta{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_ObjectMeta(ref), + metav1.OwnerReference{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_OwnerReference(ref), + metav1.PartialObjectMetadata{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_PartialObjectMetadata(ref), + metav1.PartialObjectMetadataList{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_PartialObjectMetadataList(ref), + metav1.Patch{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_Patch(ref), + metav1.PatchOptions{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_PatchOptions(ref), + metav1.Preconditions{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_Preconditions(ref), + metav1.RootPaths{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_RootPaths(ref), + metav1.ServerAddressByClientCIDR{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_ServerAddressByClientCIDR(ref), + metav1.Status{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_Status(ref), + metav1.StatusCause{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_StatusCause(ref), + metav1.StatusDetails{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_StatusDetails(ref), + metav1.Table{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_Table(ref), + metav1.TableColumnDefinition{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_TableColumnDefinition(ref), + metav1.TableOptions{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_TableOptions(ref), + metav1.TableRow{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_TableRow(ref), + metav1.TableRowCondition{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_TableRowCondition(ref), + metav1.Time{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_Time(ref), + metav1.Timestamp{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_Timestamp(ref), + metav1.TypeMeta{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_TypeMeta(ref), + metav1.UpdateOptions{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_UpdateOptions(ref), + metav1.WatchEvent{}.OpenAPIModelName(): schema_pkg_apis_meta_v1_WatchEvent(ref), + runtime.RawExtension{}.OpenAPIModelName(): schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref), + runtime.TypeMeta{}.OpenAPIModelName(): schema_k8sio_apimachinery_pkg_runtime_TypeMeta(ref), + runtime.Unknown{}.OpenAPIModelName(): schema_k8sio_apimachinery_pkg_runtime_Unknown(ref), + intstr.IntOrString{}.OpenAPIModelName(): schema_apimachinery_pkg_util_intstr_IntOrString(ref), + version.Info{}.OpenAPIModelName(): schema_k8sio_apimachinery_pkg_version_Info(ref), } } @@ -625,7 +635,7 @@ func schema_pkg_apis_projectcalico_v3_AlertException(ref common.ReferenceCallbac "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -645,7 +655,7 @@ func schema_pkg_apis_projectcalico_v3_AlertException(ref common.ReferenceCallbac }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.AlertExceptionSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.AlertExceptionStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.AlertExceptionSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.AlertExceptionStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -673,7 +683,7 @@ func schema_pkg_apis_projectcalico_v3_AlertExceptionList(ref common.ReferenceCal "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -694,7 +704,7 @@ func schema_pkg_apis_projectcalico_v3_AlertExceptionList(ref common.ReferenceCal }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.AlertException", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.AlertException", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -724,13 +734,13 @@ func schema_pkg_apis_projectcalico_v3_AlertExceptionSpec(ref common.ReferenceCal "startTime": { SchemaProps: spec.SchemaProps{ Description: "StartTime defines the start time from which this alert exception will take effect. If the value is in the past, matched alerts will be filtered immediately. If the value is changed to a future time, alert exceptions will restart at that time.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "endTime": { SchemaProps: spec.SchemaProps{ Description: "EndTime defines the end time at which this alert exception will expire. If omitted the alert exception filtering will continue indefinitely.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, }, @@ -738,7 +748,7 @@ func schema_pkg_apis_projectcalico_v3_AlertExceptionSpec(ref common.ReferenceCal }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -780,6 +790,21 @@ func schema_pkg_apis_projectcalico_v3_AllocationAttribute(ref common.ReferenceCa }, }, }, + "alternateOwnerAttrs": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, }, }, }, @@ -926,7 +951,7 @@ func schema_pkg_apis_projectcalico_v3_AuthorizationReview(ref common.ReferenceCa "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -946,7 +971,7 @@ func schema_pkg_apis_projectcalico_v3_AuthorizationReview(ref common.ReferenceCa }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.AuthorizationReviewSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.AuthorizationReviewStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.AuthorizationReviewSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.AuthorizationReviewStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -974,7 +999,7 @@ func schema_pkg_apis_projectcalico_v3_AuthorizationReviewList(ref common.Referen "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -995,7 +1020,7 @@ func schema_pkg_apis_projectcalico_v3_AuthorizationReviewList(ref common.Referen }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.AuthorizationReview", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.AuthorizationReview", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -1343,7 +1368,7 @@ func schema_pkg_apis_projectcalico_v3_BFDConfiguration(ref common.ReferenceCallb "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -1357,7 +1382,7 @@ func schema_pkg_apis_projectcalico_v3_BFDConfiguration(ref common.ReferenceCallb }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BFDConfigurationSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BFDConfigurationSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -1385,7 +1410,7 @@ func schema_pkg_apis_projectcalico_v3_BFDConfigurationList(ref common.ReferenceC "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -1406,7 +1431,7 @@ func schema_pkg_apis_projectcalico_v3_BFDConfigurationList(ref common.ReferenceC }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BFDConfiguration", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BFDConfiguration", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -1461,19 +1486,19 @@ func schema_pkg_apis_projectcalico_v3_BFDInterface(ref common.ReferenceCallback) "minimumRecvInterval": { SchemaProps: spec.SchemaProps{ Description: "MinimumRecvInterval is the minimum interval between received BFD packets. Must be a whole number of milliseconds greater than 0.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "minimumSendInterval": { SchemaProps: spec.SchemaProps{ Description: "MinimumSendInterval is the minimum interval between transmitted BFD packets. Must be a whole number of milliseconds greater than 0.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "idleSendInterval": { SchemaProps: spec.SchemaProps{ Description: "IdleSendInterval is the interval between transmitted BFD packets when the BFD peer is idle. Must be a whole number of milliseconds greater than 0.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "multiplier": { @@ -1488,7 +1513,7 @@ func schema_pkg_apis_projectcalico_v3_BFDInterface(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + metav1.Duration{}.OpenAPIModelName()}, } } @@ -1515,7 +1540,7 @@ func schema_pkg_apis_projectcalico_v3_BGPConfiguration(ref common.ReferenceCallb "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -1529,7 +1554,7 @@ func schema_pkg_apis_projectcalico_v3_BGPConfiguration(ref common.ReferenceCallb }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPConfigurationSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPConfigurationSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -1557,7 +1582,7 @@ func schema_pkg_apis_projectcalico_v3_BGPConfigurationList(ref common.ReferenceC "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -1578,7 +1603,7 @@ func schema_pkg_apis_projectcalico_v3_BGPConfigurationList(ref common.ReferenceC }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPConfiguration", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPConfiguration", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -1744,7 +1769,7 @@ func schema_pkg_apis_projectcalico_v3_BGPConfigurationSpec(ref common.ReferenceC "nodeMeshMaxRestartTime": { SchemaProps: spec.SchemaProps{ Description: "Time to allow for software restart for node-to-mesh peerings. When specified, this is configured as the graceful restart timeout. When not specified, the BIRD default of 120s is used. This field can only be set on the default BGPConfiguration instance and requires that NodeMesh is enabled", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "bindMode": { @@ -1795,11 +1820,25 @@ func schema_pkg_apis_projectcalico_v3_BGPConfigurationSpec(ref common.ReferenceC Format: "", }, }, + "ipv4NormalRoutePriority": { + SchemaProps: spec.SchemaProps{ + Description: "IPv4NormalRoutePriority is the normal route priority (metric) that Felix uses for IPv4 workload routes. This must match the value configured in FelixConfiguration. BIRD uses this to identify elevated-priority routes during live migration and to override local workload routes with higher-priority BGP-learned routes. [Default: 1024]", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "ipv6NormalRoutePriority": { + SchemaProps: spec.SchemaProps{ + Description: "IPv6NormalRoutePriority is the normal route priority (metric) that Felix uses for IPv6 workload routes. This must match the value configured in FelixConfiguration. BIRD uses this to identify elevated-priority routes during live migration and to override local workload routes with higher-priority BGP-learned routes. [Default: 1024]", + Type: []string{"integer"}, + Format: "int32", + }, + }, }, }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPPassword", "github.com/tigera/api/pkg/apis/projectcalico/v3.Community", "github.com/tigera/api/pkg/apis/projectcalico/v3.PrefixAdvertisement", "github.com/tigera/api/pkg/apis/projectcalico/v3.ServiceClusterIPBlock", "github.com/tigera/api/pkg/apis/projectcalico/v3.ServiceExternalIPBlock", "github.com/tigera/api/pkg/apis/projectcalico/v3.ServiceLoadBalancerIPBlock", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPPassword", "github.com/tigera/api/pkg/apis/projectcalico/v3.Community", "github.com/tigera/api/pkg/apis/projectcalico/v3.PrefixAdvertisement", "github.com/tigera/api/pkg/apis/projectcalico/v3.ServiceClusterIPBlock", "github.com/tigera/api/pkg/apis/projectcalico/v3.ServiceExternalIPBlock", "github.com/tigera/api/pkg/apis/projectcalico/v3.ServiceLoadBalancerIPBlock", metav1.Duration{}.OpenAPIModelName()}, } } @@ -1874,7 +1913,7 @@ func schema_pkg_apis_projectcalico_v3_BGPFilter(ref common.ReferenceCallback) co "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -1888,7 +1927,67 @@ func schema_pkg_apis_projectcalico_v3_BGPFilter(ref common.ReferenceCallback) co }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, + } +} + +func schema_pkg_apis_projectcalico_v3_BGPFilterAddCommunity(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "BGPFilterAddCommunity specifies a BGP community to add to a route.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "value": { + SchemaProps: spec.SchemaProps{ + Description: "Value is the BGP community to add.", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"value"}, + }, + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-map-type": "atomic", + }, + }, + }, + } +} + +func schema_pkg_apis_projectcalico_v3_BGPFilterCommunityMatch(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "BGPFilterCommunityMatch specifies community-based match criteria for a BGP filter rule. Currently only a single community value is supported. A MatchOperator field may be introduced in the future to support anyOf/allOf semantics with multiple values.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "values": { + SchemaProps: spec.SchemaProps{ + Description: "Values is a list of BGP community values to match against.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + }, + Required: []string{"values"}, + }, + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-map-type": "atomic", + }, + }, + }, } } @@ -1916,7 +2015,7 @@ func schema_pkg_apis_projectcalico_v3_BGPFilterList(ref common.ReferenceCallback "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -1937,7 +2036,45 @@ func schema_pkg_apis_projectcalico_v3_BGPFilterList(ref common.ReferenceCallback }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilter", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilter", metav1.ListMeta{}.OpenAPIModelName()}, + } +} + +func schema_pkg_apis_projectcalico_v3_BGPFilterOperation(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "BGPFilterOperation is a discriminated union representing a single route modification. Exactly one field must be set.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "addCommunity": { + SchemaProps: spec.SchemaProps{ + Description: "AddCommunity adds the specified BGP community to the route.", + Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterAddCommunity"), + }, + }, + "prependASPath": { + SchemaProps: spec.SchemaProps{ + Description: "PrependASPath prepends the specified AS numbers to the route's AS path.", + Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrependASPath"), + }, + }, + "setPriority": { + SchemaProps: spec.SchemaProps{ + Description: "SetPriority sets the route's priority (metric), in the same units as the ...RoutePriority fields in FelixConfiguration.", + Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterSetPriority"), + }, + }, + }, + }, + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-map-type": "atomic", + }, + }, + }, + Dependencies: []string{ + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterAddCommunity", "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrependASPath", "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterSetPriority"}, } } @@ -1999,40 +2136,114 @@ func schema_pkg_apis_projectcalico_v3_BGPFilterPrefixLengthV6(ref common.Referen } } +func schema_pkg_apis_projectcalico_v3_BGPFilterPrependASPath(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "BGPFilterPrependASPath specifies AS numbers to prepend to a route's AS path.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "prefix": { + SchemaProps: spec.SchemaProps{ + Description: "Prefix is the sequence of AS numbers to prepend to the route's AS path. The resulting path starts with these AS numbers in the order listed; e.g. [65000, 65001] produces the path \"65000 65001 \".", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: 0, + Type: []string{"integer"}, + Format: "int64", + }, + }, + }, + }, + }, + }, + Required: []string{"prefix"}, + }, + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-map-type": "atomic", + }, + }, + }, + } +} + func schema_pkg_apis_projectcalico_v3_BGPFilterRuleV4(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "BGPFilterRuleV4 defines a BGP filter rule consisting a single IPv4 CIDR block and a filter action for this CIDR.", + Description: "BGPFilterRuleV4 defines a BGP filter rule consisting of match criteria, a terminal action, and optional operations to apply to matching routes.", Type: []string{"object"}, Properties: map[string]spec.Schema{ "cidr": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Description: "If non-empty, this filter rule will only apply when the route being exported or imported \"matches\" the given CIDR - where the definition of \"matches\" is according to MatchOperator and PrefixLength. CIDR should be in conventional CIDR notation, /.", + Type: []string{"string"}, + Format: "", }, }, "prefixLength": { SchemaProps: spec.SchemaProps{ - Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrefixLengthV4"), + Description: "PrefixLength further constrains the CIDR match by restricting the range of allowed prefix lengths. For example, CIDR \"10.0.0.0/8\" with MatchOperator \"In\" and PrefixLength {min: 16, max: 24} matches any route within 10.0.0.0/8 whose prefix length is between /16 and /24. Requires CIDR to be set; if CIDR is omitted, PrefixLength is ignored. If PrefixLength is nil and CIDR is set, the CIDR's own prefix length is used as the minimum and /32 (for V4) as the maximum.", + Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrefixLengthV4"), }, }, "source": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Description: "If set to \"RemotePeers\": for export rules, this filter rule will only apply to routes learned from BGP peers (i.e. re-advertised routes), not locally originated routes. For import rules, this field is redundant because imported routes are by definition from BGP peers.", + Type: []string{"string"}, + Format: "", }, }, "interface": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Description: "If non-empty, this filter rule will only apply to routes with an outgoing interface that matches Interface.", + Type: []string{"string"}, + Format: "", }, }, "matchOperator": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Description: "MatchOperator defines how the route's prefix is compared against CIDR. \"Equal\" requires an exact prefix match, \"In\" requires the route to be contained within the CIDR (or equal), \"NotEqual\" and \"NotIn\" are their negations. Only meaningful when CIDR is also specified. Required when CIDR is set.", + Type: []string{"string"}, + Format: "", + }, + }, + "peerType": { + SchemaProps: spec.SchemaProps{ + Description: "If non-empty, this filter rule will only apply to routes being imported from or exported to a BGP peer of the specified type. If empty, the rule applies to all peers.", + Type: []string{"string"}, + Format: "", + }, + }, + "communities": { + SchemaProps: spec.SchemaProps{ + Description: "If set, this filter rule will only apply to routes that carry the specified BGP community. On import, this matches communities set by the remote peer. On export, this matches communities already present on the route, whether received from a BGP peer (e.g. on a route reflector re-advertising to an eBGP peer) or added locally by an import filter or an earlier export rule's AddCommunity operation.", + Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterCommunityMatch"), + }, + }, + "asPathPrefix": { + SchemaProps: spec.SchemaProps{ + Description: "If non-empty, this filter rule will only apply to routes whose AS path begins with the specified sequence of AS numbers.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: 0, + Type: []string{"integer"}, + Format: "int64", + }, + }, + }, + }, + }, + "priority": { + SchemaProps: spec.SchemaProps{ + Description: "If set, this filter rule will only apply to routes with the given priority, in the same units as the ...RoutePriority fields in FelixConfiguration.", + Type: []string{"integer"}, + Format: "int32", }, }, "action": { @@ -2042,6 +2253,20 @@ func schema_pkg_apis_projectcalico_v3_BGPFilterRuleV4(ref common.ReferenceCallba Format: "", }, }, + "operations": { + SchemaProps: spec.SchemaProps{ + Description: "Operations is an ordered list of route modifications to apply to matching routes before accepting them. Only valid when Action is \"Accept\"; specifying operations with \"Reject\" is rejected by validation. Each entry must set exactly one operation field.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterOperation"), + }, + }, + }, + }, + }, }, Required: []string{"action"}, }, @@ -2052,7 +2277,7 @@ func schema_pkg_apis_projectcalico_v3_BGPFilterRuleV4(ref common.ReferenceCallba }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrefixLengthV4"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterCommunityMatch", "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterOperation", "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrefixLengthV4"}, } } @@ -2060,36 +2285,76 @@ func schema_pkg_apis_projectcalico_v3_BGPFilterRuleV6(ref common.ReferenceCallba return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "BGPFilterRuleV6 defines a BGP filter rule consisting a single IPv6 CIDR block and a filter action for this CIDR.", + Description: "BGPFilterRuleV6 defines a BGP filter rule consisting of match criteria, a terminal action, and optional operations to apply to matching routes.", Type: []string{"object"}, Properties: map[string]spec.Schema{ "cidr": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Description: "If non-empty, this filter rule will only apply when the route being exported or imported \"matches\" the given CIDR - where the definition of \"matches\" is according to MatchOperator and PrefixLength. CIDR should be in conventional CIDR notation, /.", + Type: []string{"string"}, + Format: "", }, }, "prefixLength": { SchemaProps: spec.SchemaProps{ - Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrefixLengthV6"), + Description: "PrefixLength further constrains the CIDR match by restricting the range of allowed prefix lengths. For example, CIDR \"fd00::/8\" with MatchOperator \"In\" and PrefixLength {min: 48, max: 64} matches any route within fd00::/8 whose prefix length is between /48 and /64. Requires CIDR to be set; if CIDR is omitted, PrefixLength is ignored. If PrefixLength is nil and CIDR is set, the CIDR's own prefix length is used as the minimum and /128 (for V6) as the maximum.", + Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrefixLengthV6"), }, }, "source": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Description: "If set to \"RemotePeers\": for export rules, this filter rule will only apply to routes learned from BGP peers (i.e. re-advertised routes), not locally originated routes. For import rules, this field is redundant because imported routes are by definition from BGP peers.", + Type: []string{"string"}, + Format: "", }, }, "interface": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Description: "If non-empty, this filter rule will only apply to routes with an outgoing interface that matches Interface.", + Type: []string{"string"}, + Format: "", }, }, "matchOperator": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Description: "MatchOperator defines how the route's prefix is compared against CIDR. \"Equal\" requires an exact prefix match, \"In\" requires the route to be contained within the CIDR (or equal), \"NotEqual\" and \"NotIn\" are their negations. Only meaningful when CIDR is also specified. Required when CIDR is set.", + Type: []string{"string"}, + Format: "", + }, + }, + "peerType": { + SchemaProps: spec.SchemaProps{ + Description: "If non-empty, this filter rule will only apply to routes being imported from or exported to a BGP peer of the specified type. If empty, the rule applies to all peers.", + Type: []string{"string"}, + Format: "", + }, + }, + "communities": { + SchemaProps: spec.SchemaProps{ + Description: "If set, this filter rule will only apply to routes that carry the specified BGP community. On import, this matches communities set by the remote peer. On export, this matches communities already present on the route, whether received from a BGP peer (e.g. on a route reflector re-advertising to an eBGP peer) or added locally by an import filter or an earlier export rule's AddCommunity operation.", + Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterCommunityMatch"), + }, + }, + "asPathPrefix": { + SchemaProps: spec.SchemaProps{ + Description: "If non-empty, this filter rule will only apply to routes whose AS path begins with the specified sequence of AS numbers.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: 0, + Type: []string{"integer"}, + Format: "int64", + }, + }, + }, + }, + }, + "priority": { + SchemaProps: spec.SchemaProps{ + Description: "If set, this filter rule will only apply to routes with the given priority, in the same units as the ...RoutePriority fields in FelixConfiguration.", + Type: []string{"integer"}, + Format: "int32", }, }, "action": { @@ -2099,6 +2364,20 @@ func schema_pkg_apis_projectcalico_v3_BGPFilterRuleV6(ref common.ReferenceCallba Format: "", }, }, + "operations": { + SchemaProps: spec.SchemaProps{ + Description: "Operations is an ordered list of route modifications to apply to matching routes before accepting them. Only valid when Action is \"Accept\"; specifying operations with \"Reject\" is rejected by validation. Each entry must set exactly one operation field.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterOperation"), + }, + }, + }, + }, + }, }, Required: []string{"action"}, }, @@ -2109,7 +2388,33 @@ func schema_pkg_apis_projectcalico_v3_BGPFilterRuleV6(ref common.ReferenceCallba }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrefixLengthV6"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterCommunityMatch", "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterOperation", "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPFilterPrefixLengthV6"}, + } +} + +func schema_pkg_apis_projectcalico_v3_BGPFilterSetPriority(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "BGPFilterSetPriority specifies a route priority to set.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "value": { + SchemaProps: spec.SchemaProps{ + Description: "Value is the priority to set, in the same units as FelixConfiguration's ...RoutePriority fields.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"value"}, + }, + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-map-type": "atomic", + }, + }, + }, } } @@ -2194,14 +2499,14 @@ func schema_pkg_apis_projectcalico_v3_BGPPassword(ref common.ReferenceCallback) "secretKeyRef": { SchemaProps: spec.SchemaProps{ Description: "Selects a key of a secret in the node pod's namespace.", - Ref: ref("k8s.io/api/core/v1.SecretKeySelector"), + Ref: ref(v1.SecretKeySelector{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.SecretKeySelector"}, + v1.SecretKeySelector{}.OpenAPIModelName()}, } } @@ -2228,7 +2533,7 @@ func schema_pkg_apis_projectcalico_v3_BGPPeer(ref common.ReferenceCallback) comm "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -2242,7 +2547,7 @@ func schema_pkg_apis_projectcalico_v3_BGPPeer(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPPeerSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPPeerSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -2270,7 +2575,7 @@ func schema_pkg_apis_projectcalico_v3_BGPPeerList(ref common.ReferenceCallback) "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -2291,7 +2596,7 @@ func schema_pkg_apis_projectcalico_v3_BGPPeerList(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPPeer", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPPeer", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -2404,7 +2709,7 @@ func schema_pkg_apis_projectcalico_v3_BGPPeerSpec(ref common.ReferenceCallback) "maxRestartTime": { SchemaProps: spec.SchemaProps{ Description: "Time to allow for software restart. When specified, this is configured as the graceful restart timeout when RestartMode is \"GracefulRestart\", and as the LLGR stale time when RestartMode is \"LongLivedGracefulRestart\". When not specified, the BIRD defaults are used, which are 120s for \"GracefulRestart\" and 3600s for \"LongLivedGracefulRestart\".", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "birdGatewayMode": { @@ -2417,7 +2722,7 @@ func schema_pkg_apis_projectcalico_v3_BGPPeerSpec(ref common.ReferenceCallback) "keepaliveTime": { SchemaProps: spec.SchemaProps{ Description: "KeepaliveTime specifies the delay in seconds between sending consecutive Keepalive messages. When specified, this configures the BGP keepalive timer for the peerings generated by this BGPPeer resource. If not specified, BIRD uses its default keepalive time (one third of the hold time).", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "numAllowedLocalASNumbers": { @@ -2481,7 +2786,7 @@ func schema_pkg_apis_projectcalico_v3_BGPPeerSpec(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPPassword", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BGPPassword", metav1.Duration{}.OpenAPIModelName()}, } } @@ -2577,7 +2882,7 @@ func schema_pkg_apis_projectcalico_v3_BlockAffinity(ref common.ReferenceCallback "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -2591,7 +2896,7 @@ func schema_pkg_apis_projectcalico_v3_BlockAffinity(ref common.ReferenceCallback }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BlockAffinitySpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BlockAffinitySpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -2619,7 +2924,7 @@ func schema_pkg_apis_projectcalico_v3_BlockAffinityList(ref common.ReferenceCall "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -2640,7 +2945,7 @@ func schema_pkg_apis_projectcalico_v3_BlockAffinityList(ref common.ReferenceCall }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BlockAffinity", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BlockAffinity", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -3414,7 +3719,7 @@ func schema_pkg_apis_projectcalico_v3_CalicoNodeStatus(ref common.ReferenceCallb "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -3434,7 +3739,7 @@ func schema_pkg_apis_projectcalico_v3_CalicoNodeStatus(ref common.ReferenceCallb }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeStatusSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeStatusStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeStatusSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeStatusStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -3462,7 +3767,7 @@ func schema_pkg_apis_projectcalico_v3_CalicoNodeStatusList(ref common.ReferenceC "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -3483,7 +3788,7 @@ func schema_pkg_apis_projectcalico_v3_CalicoNodeStatusList(ref common.ReferenceC }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeStatus", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -3539,7 +3844,7 @@ func schema_pkg_apis_projectcalico_v3_CalicoNodeStatusStatus(ref common.Referenc "lastUpdated": { SchemaProps: spec.SchemaProps{ Description: "LastUpdated is a timestamp representing the server time when CalicoNodeStatus object last updated. It is represented in RFC3339 form and is in UTC.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "agent": { @@ -3567,7 +3872,7 @@ func schema_pkg_apis_projectcalico_v3_CalicoNodeStatusStatus(ref common.Referenc }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeAgentStatus", "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeBGPRouteStatus", "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeBGPStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeAgentStatus", "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeBGPRouteStatus", "github.com/tigera/api/pkg/apis/projectcalico/v3.CalicoNodeBGPStatus", metav1.Time{}.OpenAPIModelName()}, } } @@ -3594,7 +3899,7 @@ func schema_pkg_apis_projectcalico_v3_ClusterInformation(ref common.ReferenceCal "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -3608,7 +3913,7 @@ func schema_pkg_apis_projectcalico_v3_ClusterInformation(ref common.ReferenceCal }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ClusterInformationSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ClusterInformationSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -3636,7 +3941,7 @@ func schema_pkg_apis_projectcalico_v3_ClusterInformationList(ref common.Referenc "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -3657,7 +3962,7 @@ func schema_pkg_apis_projectcalico_v3_ClusterInformationList(ref common.Referenc }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ClusterInformation", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ClusterInformation", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -3765,25 +4070,25 @@ func schema_pkg_apis_projectcalico_v3_CompletedReportJob(ref common.ReferenceCal "start": { SchemaProps: spec.SchemaProps{ Description: "The start time of the report.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "end": { SchemaProps: spec.SchemaProps{ Description: "The end time of the report.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "job": { SchemaProps: spec.SchemaProps{ Description: "A reference to the report creation job if known.", - Ref: ref("k8s.io/api/core/v1.ObjectReference"), + Ref: ref(v1.ObjectReference{}.OpenAPIModelName()), }, }, "jobCompletionTime": { SchemaProps: spec.SchemaProps{ Description: "The time the report job completed.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, }, @@ -3791,7 +4096,7 @@ func schema_pkg_apis_projectcalico_v3_CompletedReportJob(ref common.ReferenceCal }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + v1.ObjectReference{}.OpenAPIModelName(), metav1.Time{}.OpenAPIModelName()}, } } @@ -3874,14 +4179,14 @@ func schema_pkg_apis_projectcalico_v3_DPIActive(ref common.ReferenceCallback) co "lastUpdated": { SchemaProps: spec.SchemaProps{ Description: "Timestamp of when the active status was last updated.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -3901,14 +4206,14 @@ func schema_pkg_apis_projectcalico_v3_DPIErrorCondition(ref common.ReferenceCall "lastUpdated": { SchemaProps: spec.SchemaProps{ Description: "Timestamp of when this error message was added.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -4112,7 +4417,7 @@ func schema_pkg_apis_projectcalico_v3_DeepPacketInspection(ref common.ReferenceC SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -4133,7 +4438,7 @@ func schema_pkg_apis_projectcalico_v3_DeepPacketInspection(ref common.ReferenceC }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.DeepPacketInspectionSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.DeepPacketInspectionStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.DeepPacketInspectionSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.DeepPacketInspectionStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -4161,7 +4466,7 @@ func schema_pkg_apis_projectcalico_v3_DeepPacketInspectionList(ref common.Refere "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -4182,7 +4487,7 @@ func schema_pkg_apis_projectcalico_v3_DeepPacketInspectionList(ref common.Refere }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.DeepPacketInspection", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.DeepPacketInspection", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -4278,7 +4583,7 @@ func schema_pkg_apis_projectcalico_v3_EgressGatewayPolicy(ref common.ReferenceCa "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -4292,7 +4597,7 @@ func schema_pkg_apis_projectcalico_v3_EgressGatewayPolicy(ref common.ReferenceCa }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.EgressGatewayPolicySpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.EgressGatewayPolicySpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -4340,7 +4645,7 @@ func schema_pkg_apis_projectcalico_v3_EgressGatewayPolicyList(ref common.Referen "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -4361,7 +4666,7 @@ func schema_pkg_apis_projectcalico_v3_EgressGatewayPolicyList(ref common.Referen }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.EgressGatewayPolicy", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.EgressGatewayPolicy", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -5145,7 +5450,7 @@ func schema_pkg_apis_projectcalico_v3_ExternalNetwork(ref common.ReferenceCallba "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -5159,7 +5464,7 @@ func schema_pkg_apis_projectcalico_v3_ExternalNetwork(ref common.ReferenceCallba }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ExternalNetworkSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ExternalNetworkSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -5187,7 +5492,7 @@ func schema_pkg_apis_projectcalico_v3_ExternalNetworkList(ref common.ReferenceCa "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -5208,7 +5513,7 @@ func schema_pkg_apis_projectcalico_v3_ExternalNetworkList(ref common.ReferenceCa }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ExternalNetwork", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ExternalNetwork", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -5243,14 +5548,14 @@ func schema_pkg_apis_projectcalico_v3_FederatedServicesControllerConfig(ref comm "reconcilerPeriod": { SchemaProps: spec.SchemaProps{ Description: "ReconcilerPeriod is the period to perform reconciliation. [Default: 5m]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + metav1.Duration{}.OpenAPIModelName()}, } } @@ -5277,7 +5582,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfiguration(ref common.ReferenceCal "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -5291,7 +5596,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfiguration(ref common.ReferenceCal }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.FelixConfigurationSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.FelixConfigurationSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -5319,7 +5624,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationList(ref common.Referenc "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -5340,7 +5645,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationList(ref common.Referenc }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.FelixConfiguration", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.FelixConfiguration", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -5368,7 +5673,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "dataplaneWatchdogTimeout": { SchemaProps: spec.SchemaProps{ Description: "DataplaneWatchdogTimeout is the readiness/liveness timeout used for Felix's (internal) dataplane driver. Deprecated: replaced by the generic HealthTimeoutOverrides.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "ipv6Support": { @@ -5381,31 +5686,31 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "routeRefreshInterval": { SchemaProps: spec.SchemaProps{ Description: "RouteRefreshInterval is the period at which Felix re-checks the routes in the dataplane to ensure that no other process has accidentally broken Calico's rules. Set to 0 to disable route refresh. [Default: 90s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "interfaceRefreshInterval": { SchemaProps: spec.SchemaProps{ Description: "InterfaceRefreshInterval is the period at which Felix rescans local interfaces to verify their state. The rescan can be disabled by setting the interval to 0.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "iptablesRefreshInterval": { SchemaProps: spec.SchemaProps{ Description: "IptablesRefreshInterval is the period at which Felix re-checks the IP sets in the dataplane to ensure that no other process has accidentally broken Calico's rules. Set to 0 to disable IP sets refresh. Note: the default for this value is lower than the other refresh intervals as a workaround for a Linux kernel bug that was fixed in kernel version 4.11. If you are using v4.11 or greater you may want to set this to, a higher value to reduce Felix CPU usage. [Default: 10s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "iptablesPostWriteCheckInterval": { SchemaProps: spec.SchemaProps{ Description: "IptablesPostWriteCheckInterval is the period after Felix has done a write to the dataplane that it schedules an extra read back in order to check the write was not clobbered by another process. This should only occur if another application on the system doesn't respect the iptables lock. [Default: 1s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "iptablesLockProbeInterval": { SchemaProps: spec.SchemaProps{ Description: "IptablesLockProbeInterval configures the interval between attempts to claim the xtables lock. Shorter intervals are more responsive but use more CPU. [Default: 50ms]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "featureDetectOverride": { @@ -5425,7 +5730,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "ipsetsRefreshInterval": { SchemaProps: spec.SchemaProps{ Description: "IpsetsRefreshInterval controls the period at which Felix re-checks all IP sets to look for discrepancies. Set to 0 to disable the periodic refresh. [Default: 90s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "maxIpsetSize": { @@ -5445,13 +5750,13 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "xdpRefreshInterval": { SchemaProps: spec.SchemaProps{ Description: "XDPRefreshInterval is the period at which Felix re-checks all XDP state to ensure that no other process has accidentally broken Calico's BPF maps or attached programs. Set to 0 to disable XDP refresh. [Default: 90s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "netlinkTimeout": { SchemaProps: spec.SchemaProps{ Description: "NetlinkTimeout is the timeout when talking to the kernel over the netlink protocol, used for programming routes, rules, and other kernel objects. [Default: 10s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "metadataAddr": { @@ -5653,13 +5958,13 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "reportingInterval": { SchemaProps: spec.SchemaProps{ Description: "ReportingInterval is the interval at which Felix reports its status into the datastore or 0 to disable. Must be non-zero in OpenStack deployments. [Default: 30s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "reportingTTL": { SchemaProps: spec.SchemaProps{ Description: "ReportingTTL is the time-to-live setting for process-wide status reports. [Default: 90s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "endpointReportingEnabled": { @@ -5672,7 +5977,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "endpointReportingDelay": { SchemaProps: spec.SchemaProps{ Description: "EndpointReportingDelay is the delay before Felix reports endpoint status to the datastore. This is only used by the OpenStack integration. [Default: 1s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "endpointStatusPathPrefix": { @@ -5866,13 +6171,13 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "usageReportingInitialDelay": { SchemaProps: spec.SchemaProps{ Description: "UsageReportingInitialDelay is unused in Calico Enterprise, usage reporting is permanently disabled. [Default: 300s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "usageReportingInterval": { SchemaProps: spec.SchemaProps{ Description: "UsageReportingInterval is unused in Calico Enterprise, usage reporting is permanently disabled. [Default: 86400s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "natPortRange": { @@ -6032,19 +6337,19 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "debugSimulateCalcGraphHangAfter": { SchemaProps: spec.SchemaProps{ Description: "DebugSimulateCalcGraphHangAfter is used to simulate a hang in the calculation graph after the specified duration. This is useful in tests of the watchdog system only!", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "debugSimulateDataplaneHangAfter": { SchemaProps: spec.SchemaProps{ Description: "DebugSimulateDataplaneHangAfter is used to simulate a hang in the dataplane after the specified duration. This is useful in tests of the watchdog system only!", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "debugSimulateDataplaneApplyDelay": { SchemaProps: spec.SchemaProps{ Description: "DebugSimulateDataplaneApplyDelay adds an artificial delay to every dataplane operation. This is useful for simulating a heavily loaded system for test purposes only.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "debugHost": { @@ -6100,7 +6405,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "nftablesRefreshInterval": { SchemaProps: spec.SchemaProps{ Description: "NftablesRefreshInterval controls the interval at which Felix periodically refreshes the nftables rules. [Default: 90s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "nftablesFilterAllowAction": { @@ -6276,12 +6581,12 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "bpfKubeProxyMinSyncPeriod": { SchemaProps: spec.SchemaProps{ Description: "BPFKubeProxyMinSyncPeriod, in BPF mode, controls the minimum time between updates to the dataplane for Felix's embedded kube-proxy. Lower values give reduced set-up latency. Higher values reduce Felix CPU usage by batching up more work. [Default: 1s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "bpfKubeProxyHealthzPort": { SchemaProps: spec.SchemaProps{ - Description: "BPFKubeProxyHealthzPort, in BPF mode, controls the port that Felix's embedded kube-proxy health check server binds to. The health check server is used by external load balancers to determine if this node should receive traffic. [Default: 10256]", + Description: "BPFKubeProxyHealthzPort, in BPF mode, controls the port that Felix's embedded kube-proxy health check server binds to. The health check server is used by external load balancers to determine if this node should receive traffic. Set to 0 to disable the health check server. [Default: 10256]", Type: []string{"integer"}, Format: "int32", }, @@ -6506,7 +6811,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "ipsecPolicyRefreshInterval": { SchemaProps: spec.SchemaProps{ Description: "IPSecPolicyRefreshInterval is the interval at which Felix will check the kernel's IPsec policy tables and repair any inconsistencies. [Default: 600s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "bpfAttachType": { @@ -6519,7 +6824,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "flowLogsFlushInterval": { SchemaProps: spec.SchemaProps{ Description: "FlowLogsFlushInterval configures the interval at which Felix exports flow logs.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "flowLogsEnableHostEndpoint": { @@ -6763,7 +7068,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "windowsDnsExtraTTL": { SchemaProps: spec.SchemaProps{ Description: "Extra time to keep IPs and alias names that are learnt from DNS, in addition to each name or IP's advertised TTL. The default value is 120s which is same as the default value of ServicePointManager.DnsRefreshTimeout on .net framework. [Default: 120s].", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "dnsTrustedServers": { @@ -6791,7 +7096,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "dnsCacheSaveInterval": { SchemaProps: spec.SchemaProps{ Description: "The periodic interval at which Felix saves learnt DNS information to the cache file. [Default: 60s].", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "dnsCacheEpoch": { @@ -6804,13 +7109,13 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "dnsExtraTTL": { SchemaProps: spec.SchemaProps{ Description: "Extra time to keep IPs and alias names that are learnt from DNS, in addition to each name or IP's advertised TTL. [Default: 0s].", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "dnsLogsFlushInterval": { SchemaProps: spec.SchemaProps{ Description: "DNSLogsFlushInterval configures the interval at which Felix exports DNS logs. [Default: 300s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "dnsLogsFileEnabled": { @@ -6921,13 +7226,13 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "dnsPacketsNfqueueMaxHoldDuration": { SchemaProps: spec.SchemaProps{ Description: "DNSPacketsNfqueueMaxHoldDuration is the max length of time to hold on to a DNS response while waiting for the the dataplane to be programmed. Used when DNSPolicyMode is DelayDNSResponse. [Default: 3s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "l7LogsFlushInterval": { SchemaProps: spec.SchemaProps{ Description: "L7LogsFlushInterval configures the interval at which Felix exports L7 logs. [Default: 300s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "l7LogsFileEnabled": { @@ -7031,7 +7336,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "wafEventLogsFlushInterval": { SchemaProps: spec.SchemaProps{ Description: "WAFEventLogsFlushInterval configures the interval at which Felix exports WAFEvent logs. [Default: 15s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "wafEventLogsFileEnabled": { @@ -7065,7 +7370,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "policyActivityLogsFlushInterval": { SchemaProps: spec.SchemaProps{ Description: "PolicyActivityLogsFlushInterval configures the interval at which Felix exports policy activity logs. [Default: 15s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "policyActivityLogsFileEnabled": { @@ -7175,7 +7480,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "egressGatewayPollInterval": { SchemaProps: spec.SchemaProps{ Description: "EgressGatewayPollInterval is the interval at which Felix will poll remote egress gateways to check their health. Only Egress Gateways with a named \"health\" port will be polled in this way. Egress Gateways that fail the health check will be taken our of use as if they have been deleted.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "egressGatewayPollFailureCount": { @@ -7213,6 +7518,40 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc Format: "int32", }, }, + "ipv4NormalRoutePriority": { + SchemaProps: spec.SchemaProps{ + Description: "Route Priority value for a normal priority Calico-programmed IPv4 route. Note, higher values mean lower priority. [Default: 1024]", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "ipv4ElevatedRoutePriority": { + SchemaProps: spec.SchemaProps{ + Description: "Route Priority value for an elevated priority Calico-programmed IPv4 route. Note, higher values mean lower priority. Elevated priority is used during VM live migration, and for optimal behaviour IPv4ElevatedRoutePriority must be less than IPv4NormalRoutePriority [Default: 512]", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "ipv6NormalRoutePriority": { + SchemaProps: spec.SchemaProps{ + Description: "Route Priority value for a normal priority Calico-programmed IPv6 route. Note, higher values mean lower priority. [Default: 1024]", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "ipv6ElevatedRoutePriority": { + SchemaProps: spec.SchemaProps{ + Description: "Route Priority value for an elevated priority Calico-programmed IPv6 route. Note, higher values mean lower priority. Elevated priority is used during VM live migration, and for optimal behaviour IPv6ElevatedRoutePriority must be less than IPv6NormalRoutePriority [Default: 512]", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "liveMigrationRouteConvergenceTime": { + SchemaProps: spec.SchemaProps{ + Description: "LiveMigrationRouteConvergenceTime is the time to keep elevated route priority after a VM live migration completes. This allows routes to converge across the cluster before reverting to normal priority. [Default: 30s]", + Ref: ref(metav1.Duration{}.OpenAPIModelName()), + }, + }, "wireguardEnabled": { SchemaProps: spec.SchemaProps{ Description: "WireguardEnabled controls whether Wireguard is enabled for IPv4 (encapsulating IPv4 traffic over an IPv4 underlay network). [Default: false]", @@ -7293,7 +7632,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "wireguardKeepAlive": { SchemaProps: spec.SchemaProps{ Description: "WireguardPersistentKeepAlive controls Wireguard PersistentKeepalive option. Set 0 to disable. [Default: 0]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "captureDir": { @@ -7348,7 +7687,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc "awsRequestTimeout": { SchemaProps: spec.SchemaProps{ Description: "AWSRequestTimeout is the timeout on AWS API requests. [Default: 30s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "serviceLoopPrevention": { @@ -7453,7 +7792,7 @@ func schema_pkg_apis_projectcalico_v3_FelixConfigurationSpec(ref common.Referenc }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.BPFConntrackTimeouts", "github.com/tigera/api/pkg/apis/projectcalico/v3.HealthTimeoutOverride", "github.com/tigera/api/pkg/apis/projectcalico/v3.ProtoPort", "github.com/tigera/api/pkg/apis/projectcalico/v3.RouteTableIDRange", "github.com/tigera/api/pkg/apis/projectcalico/v3.RouteTableRange", "github.com/tigera/api/pkg/lib/numorstring.DSCP", "github.com/tigera/api/pkg/lib/numorstring.Port", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.BPFConntrackTimeouts", "github.com/tigera/api/pkg/apis/projectcalico/v3.HealthTimeoutOverride", "github.com/tigera/api/pkg/apis/projectcalico/v3.ProtoPort", "github.com/tigera/api/pkg/apis/projectcalico/v3.RouteTableIDRange", "github.com/tigera/api/pkg/apis/projectcalico/v3.RouteTableRange", "github.com/tigera/api/pkg/lib/numorstring.DSCP", "github.com/tigera/api/pkg/lib/numorstring.Port", metav1.Duration{}.OpenAPIModelName()}, } } @@ -7523,7 +7862,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlert(ref common.ReferenceCallback) "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -7543,7 +7882,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlert(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlertSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlertStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlertSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlertStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -7571,7 +7910,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlertList(ref common.ReferenceCallba "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -7592,7 +7931,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlertList(ref common.ReferenceCallba }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlert", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlert", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -7635,13 +7974,13 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlertSpec(ref common.ReferenceCallba "period": { SchemaProps: spec.SchemaProps{ Description: "If Type is RuleBased, it is how often the query defined will run. If Type is AnomalyDetection it is how often the detector will be run.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "lookback": { SchemaProps: spec.SchemaProps{ Description: "How much data to gather at once. If Type is RuleBased, it must exceed audit log flush interval, dnsLogsFlushInterval, or flowLogsFlushInterval as appropriate.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "dataSet": { @@ -7726,7 +8065,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlertSpec(ref common.ReferenceCallba }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.DetectorParams", "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlertSubstitution", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.DetectorParams", "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlertSubstitution", metav1.Duration{}.OpenAPIModelName()}, } } @@ -7738,7 +8077,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlertStatus(ref common.ReferenceCall Properties: map[string]spec.Schema{ "lastUpdate": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "active": { @@ -7757,12 +8096,12 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlertStatus(ref common.ReferenceCall }, "lastExecuted": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "lastEvent": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "errorConditions": { @@ -7783,7 +8122,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlertStatus(ref common.ReferenceCall }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ErrorCondition", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ErrorCondition", metav1.Time{}.OpenAPIModelName()}, } } @@ -7845,7 +8184,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlertTemplate(ref common.ReferenceCa "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -7859,7 +8198,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlertTemplate(ref common.ReferenceCa }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlertSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlertSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -7887,7 +8226,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlertTemplateList(ref common.Referen "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -7908,7 +8247,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalAlertTemplateList(ref common.Referen }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlertTemplate", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalAlertTemplate", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -7935,7 +8274,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalNetworkPolicy(ref common.ReferenceCa "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -7949,7 +8288,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalNetworkPolicy(ref common.ReferenceCa }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalNetworkPolicySpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalNetworkPolicySpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -7977,7 +8316,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalNetworkPolicyList(ref common.Referen "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -7998,7 +8337,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalNetworkPolicyList(ref common.Referen }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalNetworkPolicy", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalNetworkPolicy", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -8159,7 +8498,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalNetworkSet(ref common.ReferenceCallb "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -8173,7 +8512,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalNetworkSet(ref common.ReferenceCallb }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalNetworkSetSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalNetworkSetSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -8201,7 +8540,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalNetworkSetList(ref common.ReferenceC "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -8222,7 +8561,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalNetworkSetList(ref common.ReferenceC }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalNetworkSet", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalNetworkSet", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -8325,7 +8664,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalReport(ref common.ReferenceCallback) "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -8345,7 +8684,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalReport(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ReportSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.ReportStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ReportSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.ReportStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -8373,7 +8712,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalReportList(ref common.ReferenceCallb "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -8394,7 +8733,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalReportList(ref common.ReferenceCallb }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalReport", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalReport", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -8422,7 +8761,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalReportType(ref common.ReferenceCallb "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -8436,7 +8775,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalReportType(ref common.ReferenceCallb }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ReportTypeSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ReportTypeSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -8464,7 +8803,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalReportTypeList(ref common.ReferenceC "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -8485,7 +8824,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalReportTypeList(ref common.ReferenceC }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalReportType", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalReportType", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -8513,7 +8852,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalThreatFeed(ref common.ReferenceCallb "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -8533,7 +8872,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalThreatFeed(ref common.ReferenceCallb }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalThreatFeedSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalThreatFeedStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalThreatFeedSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalThreatFeedStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -8561,7 +8900,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalThreatFeedList(ref common.ReferenceC "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -8582,7 +8921,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalThreatFeedList(ref common.ReferenceC }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalThreatFeed", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.GlobalThreatFeed", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -8647,12 +8986,12 @@ func schema_pkg_apis_projectcalico_v3_GlobalThreatFeedStatus(ref common.Referenc Properties: map[string]spec.Schema{ "lastSuccessfulSync": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "lastSuccessfulSearch": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "errorConditions": { @@ -8672,7 +9011,7 @@ func schema_pkg_apis_projectcalico_v3_GlobalThreatFeedStatus(ref common.Referenc }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ErrorCondition", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ErrorCondition", metav1.Time{}.OpenAPIModelName()}, } } @@ -8760,20 +9099,20 @@ func schema_pkg_apis_projectcalico_v3_HTTPHeaderSource(ref common.ReferenceCallb "configMapKeyRef": { SchemaProps: spec.SchemaProps{ Description: "Selects a key of a ConfigMap.", - Ref: ref("k8s.io/api/core/v1.ConfigMapKeySelector"), + Ref: ref(v1.ConfigMapKeySelector{}.OpenAPIModelName()), }, }, "secretKeyRef": { SchemaProps: spec.SchemaProps{ Description: "Selects a key of a secret in the pod's namespace", - Ref: ref("k8s.io/api/core/v1.SecretKeySelector"), + Ref: ref(v1.SecretKeySelector{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ConfigMapKeySelector", "k8s.io/api/core/v1.SecretKeySelector"}, + v1.ConfigMapKeySelector{}.OpenAPIModelName(), v1.SecretKeySelector{}.OpenAPIModelName()}, } } @@ -8916,7 +9255,7 @@ func schema_pkg_apis_projectcalico_v3_HealthTimeoutOverride(ref common.Reference }, "timeout": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, }, @@ -8924,7 +9263,7 @@ func schema_pkg_apis_projectcalico_v3_HealthTimeoutOverride(ref common.Reference }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + metav1.Duration{}.OpenAPIModelName()}, } } @@ -8951,7 +9290,7 @@ func schema_pkg_apis_projectcalico_v3_HostEndpoint(ref common.ReferenceCallback) "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -8965,7 +9304,7 @@ func schema_pkg_apis_projectcalico_v3_HostEndpoint(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.HostEndpointSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.HostEndpointSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -8993,7 +9332,7 @@ func schema_pkg_apis_projectcalico_v3_HostEndpointList(ref common.ReferenceCallb "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -9014,7 +9353,7 @@ func schema_pkg_apis_projectcalico_v3_HostEndpointList(ref common.ReferenceCallb }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.HostEndpoint", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.HostEndpoint", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -9151,7 +9490,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMBlock(ref common.ReferenceCallback) co "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -9165,7 +9504,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMBlock(ref common.ReferenceCallback) co }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMBlockSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMBlockSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -9193,7 +9532,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMBlockList(ref common.ReferenceCallback "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -9214,7 +9553,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMBlockList(ref common.ReferenceCallback }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMBlock", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMBlock", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -9243,7 +9582,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMBlockSpec(ref common.ReferenceCallback "affinityClaimTime": { SchemaProps: spec.SchemaProps{ Description: "Time at which affinity was claimed.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "allocations": { @@ -9334,7 +9673,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMBlockSpec(ref common.ReferenceCallback }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.AllocationAttribute", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.AllocationAttribute", metav1.Time{}.OpenAPIModelName()}, } } @@ -9362,7 +9701,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMConfiguration(ref common.ReferenceCall "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -9376,7 +9715,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMConfiguration(ref common.ReferenceCall }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMConfigurationSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMConfigurationSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -9404,7 +9743,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMConfigurationList(ref common.Reference "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -9425,7 +9764,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMConfigurationList(ref common.Reference }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMConfiguration", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMConfiguration", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -9459,6 +9798,13 @@ func schema_pkg_apis_projectcalico_v3_IPAMConfigurationSpec(ref common.Reference Format: "", }, }, + "kubeVirtVMAddressPersistence": { + SchemaProps: spec.SchemaProps{ + Description: "KubeVirtVMAddressPersistence controls whether KubeVirt VirtualMachine workloads maintain persistent IP addresses across VM lifecycle events (reboot, migration, pod eviction). When Enabled, Calico automatically ensures that KubeVirt VMs retain their IP addresses when their underlying pods are recreated during VM operations. When Disabled, VMs receive new IP addresses whenever their pods are recreated, and creating a live migration target pod is not supported because the migration target pod requires the same IP as the source pod, which is only possible with address persistence. Defaults to Enabled if not specified.", + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"strictAffinity", "autoAllocateBlocks"}, }, @@ -9489,7 +9835,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMHandle(ref common.ReferenceCallback) c "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -9503,7 +9849,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMHandle(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMHandleSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMHandleSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -9531,7 +9877,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMHandleList(ref common.ReferenceCallbac "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -9552,7 +9898,7 @@ func schema_pkg_apis_projectcalico_v3_IPAMHandleList(ref common.ReferenceCallbac }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMHandle", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.IPAMHandle", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -9648,7 +9994,7 @@ func schema_pkg_apis_projectcalico_v3_IPPool(ref common.ReferenceCallback) commo "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -9667,7 +10013,7 @@ func schema_pkg_apis_projectcalico_v3_IPPool(ref common.ReferenceCallback) commo }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.IPPoolSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.IPPoolStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.IPPoolSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.IPPoolStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -9695,7 +10041,7 @@ func schema_pkg_apis_projectcalico_v3_IPPoolList(ref common.ReferenceCallback) c "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -9716,7 +10062,7 @@ func schema_pkg_apis_projectcalico_v3_IPPoolList(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.IPPool", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.IPPool", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -9845,7 +10191,7 @@ func schema_pkg_apis_projectcalico_v3_IPPoolStatus(ref common.ReferenceCallback) Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + Ref: ref(metav1.Condition{}.OpenAPIModelName()), }, }, }, @@ -9855,7 +10201,7 @@ func schema_pkg_apis_projectcalico_v3_IPPoolStatus(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Condition"}, + metav1.Condition{}.OpenAPIModelName()}, } } @@ -9883,7 +10229,7 @@ func schema_pkg_apis_projectcalico_v3_IPReservation(ref common.ReferenceCallback "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -9897,7 +10243,7 @@ func schema_pkg_apis_projectcalico_v3_IPReservation(ref common.ReferenceCallback }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.IPReservationSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.IPReservationSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -9925,7 +10271,7 @@ func schema_pkg_apis_projectcalico_v3_IPReservationList(ref common.ReferenceCall "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -9946,7 +10292,7 @@ func schema_pkg_apis_projectcalico_v3_IPReservationList(ref common.ReferenceCall }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.IPReservation", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.IPReservation", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -10073,7 +10419,7 @@ func schema_pkg_apis_projectcalico_v3_KubeControllersConfiguration(ref common.Re "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -10093,7 +10439,7 @@ func schema_pkg_apis_projectcalico_v3_KubeControllersConfiguration(ref common.Re }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.KubeControllersConfigurationSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.KubeControllersConfigurationStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.KubeControllersConfigurationSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.KubeControllersConfigurationStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -10121,7 +10467,7 @@ func schema_pkg_apis_projectcalico_v3_KubeControllersConfigurationList(ref commo "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -10142,7 +10488,7 @@ func schema_pkg_apis_projectcalico_v3_KubeControllersConfigurationList(ref commo }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.KubeControllersConfiguration", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.KubeControllersConfiguration", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -10170,7 +10516,7 @@ func schema_pkg_apis_projectcalico_v3_KubeControllersConfigurationSpec(ref commo "etcdV3CompactionPeriod": { SchemaProps: spec.SchemaProps{ Description: "EtcdV3CompactionPeriod is the period between etcdv3 compaction requests. Set to 0 to disable. [Default: 10m]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "prometheusMetricsPort": { @@ -10199,7 +10545,7 @@ func schema_pkg_apis_projectcalico_v3_KubeControllersConfigurationSpec(ref commo }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ControllersConfig", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ControllersConfig", metav1.Duration{}.OpenAPIModelName()}, } } @@ -10264,7 +10610,7 @@ func schema_pkg_apis_projectcalico_v3_LicenseKey(ref common.ReferenceCallback) c "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -10284,7 +10630,7 @@ func schema_pkg_apis_projectcalico_v3_LicenseKey(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.LicenseKeySpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.LicenseKeyStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.LicenseKeySpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.LicenseKeyStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -10312,7 +10658,7 @@ func schema_pkg_apis_projectcalico_v3_LicenseKeyList(ref common.ReferenceCallbac "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -10333,7 +10679,7 @@ func schema_pkg_apis_projectcalico_v3_LicenseKeyList(ref common.ReferenceCallbac }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.LicenseKey", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.LicenseKey", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -10376,7 +10722,7 @@ func schema_pkg_apis_projectcalico_v3_LicenseKeyStatus(ref common.ReferenceCallb "expiry": { SchemaProps: spec.SchemaProps{ Description: "Expiry is the expiry date of License", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "gracePeriod": { @@ -10423,7 +10769,7 @@ func schema_pkg_apis_projectcalico_v3_LicenseKeyStatus(ref common.ReferenceCallb Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + Ref: ref(metav1.Condition{}.OpenAPIModelName()), }, }, }, @@ -10433,7 +10779,7 @@ func schema_pkg_apis_projectcalico_v3_LicenseKeyStatus(ref common.ReferenceCallb }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Condition", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Condition{}.OpenAPIModelName(), metav1.Time{}.OpenAPIModelName()}, } } @@ -10480,7 +10826,7 @@ func schema_pkg_apis_projectcalico_v3_ManagedCluster(ref common.ReferenceCallbac "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -10500,7 +10846,7 @@ func schema_pkg_apis_projectcalico_v3_ManagedCluster(ref common.ReferenceCallbac }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ManagedClusterSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.ManagedClusterStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ManagedClusterSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.ManagedClusterStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -10528,7 +10874,7 @@ func schema_pkg_apis_projectcalico_v3_ManagedClusterList(ref common.ReferenceCal "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -10549,7 +10895,7 @@ func schema_pkg_apis_projectcalico_v3_ManagedClusterList(ref common.ReferenceCal }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ManagedCluster", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ManagedCluster", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -10746,14 +11092,14 @@ func schema_pkg_apis_projectcalico_v3_NamespaceControllerConfig(ref common.Refer "reconcilerPeriod": { SchemaProps: spec.SchemaProps{ Description: "ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + metav1.Duration{}.OpenAPIModelName()}, } } @@ -10780,7 +11126,7 @@ func schema_pkg_apis_projectcalico_v3_NetworkPolicy(ref common.ReferenceCallback "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -10794,7 +11140,7 @@ func schema_pkg_apis_projectcalico_v3_NetworkPolicy(ref common.ReferenceCallback }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.NetworkPolicySpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.NetworkPolicySpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -10822,7 +11168,7 @@ func schema_pkg_apis_projectcalico_v3_NetworkPolicyList(ref common.ReferenceCall "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -10843,7 +11189,7 @@ func schema_pkg_apis_projectcalico_v3_NetworkPolicyList(ref common.ReferenceCall }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.NetworkPolicy", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.NetworkPolicy", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -10975,7 +11321,7 @@ func schema_pkg_apis_projectcalico_v3_NetworkSet(ref common.ReferenceCallback) c "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -10989,7 +11335,7 @@ func schema_pkg_apis_projectcalico_v3_NetworkSet(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.NetworkSetSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.NetworkSetSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -11017,7 +11363,7 @@ func schema_pkg_apis_projectcalico_v3_NetworkSetList(ref common.ReferenceCallbac "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -11038,7 +11384,7 @@ func schema_pkg_apis_projectcalico_v3_NetworkSetList(ref common.ReferenceCallbac }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.NetworkSet", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.NetworkSet", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -11100,7 +11446,7 @@ func schema_pkg_apis_projectcalico_v3_NodeControllerConfig(ref common.ReferenceC "reconcilerPeriod": { SchemaProps: spec.SchemaProps{ Description: "ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "syncLabels": { @@ -11119,14 +11465,14 @@ func schema_pkg_apis_projectcalico_v3_NodeControllerConfig(ref common.ReferenceC "leakGracePeriod": { SchemaProps: spec.SchemaProps{ Description: "LeakGracePeriod is the period used by the controller to determine if an IP address has been leaked. Set to 0 to disable IP garbage collection. [Default: 15m]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.AutoHostEndpointConfig", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.AutoHostEndpointConfig", metav1.Duration{}.OpenAPIModelName()}, } } @@ -11155,7 +11501,7 @@ func schema_pkg_apis_projectcalico_v3_PacketCapture(ref common.ReferenceCallback SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -11176,7 +11522,7 @@ func schema_pkg_apis_projectcalico_v3_PacketCapture(ref common.ReferenceCallback }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.PacketCaptureSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.PacketCaptureStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.PacketCaptureSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.PacketCaptureStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -11252,7 +11598,7 @@ func schema_pkg_apis_projectcalico_v3_PacketCaptureList(ref common.ReferenceCall "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -11273,7 +11619,7 @@ func schema_pkg_apis_projectcalico_v3_PacketCaptureList(ref common.ReferenceCall }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.PacketCapture", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.PacketCapture", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -11342,20 +11688,20 @@ func schema_pkg_apis_projectcalico_v3_PacketCaptureSpec(ref common.ReferenceCall "startTime": { SchemaProps: spec.SchemaProps{ Description: "Defines the start time from which this PacketCapture will capture packets. If omitted or the value is in the past, the capture will start immediately. If the value is changed to a future time, capture will stop immediately and restart at that time", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "endTime": { SchemaProps: spec.SchemaProps{ Description: "Defines the end time at which this PacketCapture will stop capturing packets. If omitted the capture will continue indefinitely. If the value is changed to the past, capture will stop immediately.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.PacketCaptureRule", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.PacketCaptureRule", metav1.Time{}.OpenAPIModelName()}, } } @@ -11397,14 +11743,14 @@ func schema_pkg_apis_projectcalico_v3_PolicyControllerConfig(ref common.Referenc "reconcilerPeriod": { SchemaProps: spec.SchemaProps{ Description: "ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + metav1.Duration{}.OpenAPIModelName()}, } } @@ -11431,7 +11777,7 @@ func schema_pkg_apis_projectcalico_v3_PolicyRecommendationScope(ref common.Refer "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -11451,7 +11797,7 @@ func schema_pkg_apis_projectcalico_v3_PolicyRecommendationScope(ref common.Refer }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.PolicyRecommendationScopeSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.PolicyRecommendationScopeStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.PolicyRecommendationScopeSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.PolicyRecommendationScopeStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -11479,7 +11825,7 @@ func schema_pkg_apis_projectcalico_v3_PolicyRecommendationScopeList(ref common.R "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -11500,7 +11846,7 @@ func schema_pkg_apis_projectcalico_v3_PolicyRecommendationScopeList(ref common.R }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.PolicyRecommendationScope", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.PolicyRecommendationScope", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -11556,19 +11902,19 @@ func schema_pkg_apis_projectcalico_v3_PolicyRecommendationScopeSpec(ref common.R "interval": { SchemaProps: spec.SchemaProps{ Description: "How frequently to run the recommendation engine to create and refine recommended policies. [Default: 150s]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "initialLookback": { SchemaProps: spec.SchemaProps{ Description: "How far back to look in flow logs when first creating a recommended policy. [Default: 24h]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "stabilizationPeriod": { SchemaProps: spec.SchemaProps{ Description: "StabilizationPeriod is the amount of time a recommended policy should remain unchanged to be deemed stable and ready to be enforced. [Default: 10m]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, "maxRules": { @@ -11596,7 +11942,7 @@ func schema_pkg_apis_projectcalico_v3_PolicyRecommendationScopeSpec(ref common.R }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.PolicyRecommendationScopeNamespaceSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.PolicyRecommendationScopeNamespaceSpec", metav1.Duration{}.OpenAPIModelName()}, } } @@ -11772,7 +12118,7 @@ func schema_pkg_apis_projectcalico_v3_Profile(ref common.ReferenceCallback) comm "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -11786,7 +12132,7 @@ func schema_pkg_apis_projectcalico_v3_Profile(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.ProfileSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.ProfileSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -11814,7 +12160,7 @@ func schema_pkg_apis_projectcalico_v3_ProfileList(ref common.ReferenceCallback) "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -11835,7 +12181,7 @@ func schema_pkg_apis_projectcalico_v3_ProfileList(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.Profile", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.Profile", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -11987,7 +12333,7 @@ func schema_pkg_apis_projectcalico_v3_RemoteClusterConfiguration(ref common.Refe "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -12001,7 +12347,7 @@ func schema_pkg_apis_projectcalico_v3_RemoteClusterConfiguration(ref common.Refe }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.RemoteClusterConfigurationSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.RemoteClusterConfigurationSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -12029,7 +12375,7 @@ func schema_pkg_apis_projectcalico_v3_RemoteClusterConfigurationList(ref common. "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -12050,7 +12396,7 @@ func schema_pkg_apis_projectcalico_v3_RemoteClusterConfigurationList(ref common. }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.RemoteClusterConfiguration", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.RemoteClusterConfiguration", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -12071,7 +12417,7 @@ func schema_pkg_apis_projectcalico_v3_RemoteClusterConfigurationSpec(ref common. "clusterAccessSecret": { SchemaProps: spec.SchemaProps{ Description: "Specifies a Secret to read for the RemoteClusterconfiguration. If defined all datastore configuration in this struct will be cleared and overwritten with the appropriate fields in the Secret.", - Ref: ref("k8s.io/api/core/v1.ObjectReference"), + Ref: ref(v1.ObjectReference{}.OpenAPIModelName()), }, }, "etcdEndpoints": { @@ -12201,7 +12547,7 @@ func schema_pkg_apis_projectcalico_v3_RemoteClusterConfigurationSpec(ref common. }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.RemoteClusterSyncOptions", "k8s.io/api/core/v1.ObjectReference"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.RemoteClusterSyncOptions", v1.ObjectReference{}.OpenAPIModelName()}, } } @@ -12259,17 +12605,17 @@ func schema_pkg_apis_projectcalico_v3_ReportData(ref common.ReferenceCallback) c }, "startTime": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "endTime": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "generationTime": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "endpoints": { @@ -12396,7 +12742,7 @@ func schema_pkg_apis_projectcalico_v3_ReportData(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.AuditSummary", "github.com/tigera/api/pkg/apis/projectcalico/v3.CISBenchmarkNode", "github.com/tigera/api/pkg/apis/projectcalico/v3.CISBenchmarkSummary", "github.com/tigera/api/pkg/apis/projectcalico/v3.EndpointsReportEndpoint", "github.com/tigera/api/pkg/apis/projectcalico/v3.EndpointsReportFlow", "github.com/tigera/api/pkg/apis/projectcalico/v3.EndpointsReportNamespace", "github.com/tigera/api/pkg/apis/projectcalico/v3.EndpointsReportService", "github.com/tigera/api/pkg/apis/projectcalico/v3.EndpointsSummary", "github.com/tigera/api/pkg/apis/projectcalico/v3.ReportSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.ReportTypeSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "k8s.io/apiserver/pkg/apis/audit.Event"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.AuditSummary", "github.com/tigera/api/pkg/apis/projectcalico/v3.CISBenchmarkNode", "github.com/tigera/api/pkg/apis/projectcalico/v3.CISBenchmarkSummary", "github.com/tigera/api/pkg/apis/projectcalico/v3.EndpointsReportEndpoint", "github.com/tigera/api/pkg/apis/projectcalico/v3.EndpointsReportFlow", "github.com/tigera/api/pkg/apis/projectcalico/v3.EndpointsReportNamespace", "github.com/tigera/api/pkg/apis/projectcalico/v3.EndpointsReportService", "github.com/tigera/api/pkg/apis/projectcalico/v3.EndpointsSummary", "github.com/tigera/api/pkg/apis/projectcalico/v3.ReportSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.ReportTypeSpec", metav1.Time{}.OpenAPIModelName(), "k8s.io/apiserver/pkg/apis/audit.Event"}, } } @@ -12410,19 +12756,19 @@ func schema_pkg_apis_projectcalico_v3_ReportJob(ref common.ReferenceCallback) co "start": { SchemaProps: spec.SchemaProps{ Description: "The start time of the report.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "end": { SchemaProps: spec.SchemaProps{ Description: "The end time of the report.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "job": { SchemaProps: spec.SchemaProps{ Description: "A reference to the report creation job if known.", - Ref: ref("k8s.io/api/core/v1.ObjectReference"), + Ref: ref(v1.ObjectReference{}.OpenAPIModelName()), }, }, }, @@ -12430,7 +12776,7 @@ func schema_pkg_apis_projectcalico_v3_ReportJob(ref common.ReferenceCallback) co }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + v1.ObjectReference{}.OpenAPIModelName(), metav1.Time{}.OpenAPIModelName()}, } } @@ -12890,7 +13236,7 @@ func schema_pkg_apis_projectcalico_v3_SecurityEventWebhook(ref common.ReferenceC "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -12906,7 +13252,7 @@ func schema_pkg_apis_projectcalico_v3_SecurityEventWebhook(ref common.ReferenceC Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + Ref: ref(metav1.Condition{}.OpenAPIModelName()), }, }, }, @@ -12917,7 +13263,7 @@ func schema_pkg_apis_projectcalico_v3_SecurityEventWebhook(ref common.ReferenceC }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.SecurityEventWebhookSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.Condition", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.SecurityEventWebhookSpec", metav1.Condition{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -12962,19 +13308,19 @@ func schema_pkg_apis_projectcalico_v3_SecurityEventWebhookConfigVarSource(ref co Properties: map[string]spec.Schema{ "configMapKeyRef": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/api/core/v1.ConfigMapKeySelector"), + Ref: ref(v1.ConfigMapKeySelector{}.OpenAPIModelName()), }, }, "secretKeyRef": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/api/core/v1.SecretKeySelector"), + Ref: ref(v1.SecretKeySelector{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ConfigMapKeySelector", "k8s.io/api/core/v1.SecretKeySelector"}, + v1.ConfigMapKeySelector{}.OpenAPIModelName(), v1.SecretKeySelector{}.OpenAPIModelName()}, } } @@ -13001,7 +13347,7 @@ func schema_pkg_apis_projectcalico_v3_SecurityEventWebhookList(ref common.Refere "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -13022,7 +13368,7 @@ func schema_pkg_apis_projectcalico_v3_SecurityEventWebhookList(ref common.Refere }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.SecurityEventWebhook", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.SecurityEventWebhook", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -13089,14 +13435,14 @@ func schema_pkg_apis_projectcalico_v3_ServiceAccountControllerConfig(ref common. "reconcilerPeriod": { SchemaProps: spec.SchemaProps{ Description: "ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + metav1.Duration{}.OpenAPIModelName()}, } } @@ -13261,7 +13607,7 @@ func schema_pkg_apis_projectcalico_v3_StagedGlobalNetworkPolicy(ref common.Refer "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -13275,7 +13621,7 @@ func schema_pkg_apis_projectcalico_v3_StagedGlobalNetworkPolicy(ref common.Refer }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedGlobalNetworkPolicySpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedGlobalNetworkPolicySpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -13303,7 +13649,7 @@ func schema_pkg_apis_projectcalico_v3_StagedGlobalNetworkPolicyList(ref common.R "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -13324,7 +13670,7 @@ func schema_pkg_apis_projectcalico_v3_StagedGlobalNetworkPolicyList(ref common.R }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedGlobalNetworkPolicy", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedGlobalNetworkPolicy", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -13492,7 +13838,7 @@ func schema_pkg_apis_projectcalico_v3_StagedKubernetesNetworkPolicy(ref common.R "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -13506,7 +13852,7 @@ func schema_pkg_apis_projectcalico_v3_StagedKubernetesNetworkPolicy(ref common.R }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedKubernetesNetworkPolicySpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedKubernetesNetworkPolicySpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -13534,7 +13880,7 @@ func schema_pkg_apis_projectcalico_v3_StagedKubernetesNetworkPolicyList(ref comm "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -13555,7 +13901,7 @@ func schema_pkg_apis_projectcalico_v3_StagedKubernetesNetworkPolicyList(ref comm }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedKubernetesNetworkPolicy", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedKubernetesNetworkPolicy", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -13576,7 +13922,7 @@ func schema_pkg_apis_projectcalico_v3_StagedKubernetesNetworkPolicySpec(ref comm SchemaProps: spec.SchemaProps{ Description: "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), + Ref: ref(metav1.LabelSelector{}.OpenAPIModelName()), }, }, "ingress": { @@ -13587,7 +13933,7 @@ func schema_pkg_apis_projectcalico_v3_StagedKubernetesNetworkPolicySpec(ref comm Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.NetworkPolicyIngressRule"), + Ref: ref(networkingv1.NetworkPolicyIngressRule{}.OpenAPIModelName()), }, }, }, @@ -13601,7 +13947,7 @@ func schema_pkg_apis_projectcalico_v3_StagedKubernetesNetworkPolicySpec(ref comm Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.NetworkPolicyEgressRule"), + Ref: ref(networkingv1.NetworkPolicyEgressRule{}.OpenAPIModelName()), }, }, }, @@ -13632,7 +13978,7 @@ func schema_pkg_apis_projectcalico_v3_StagedKubernetesNetworkPolicySpec(ref comm }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.NetworkPolicyEgressRule", "k8s.io/api/networking/v1.NetworkPolicyIngressRule", "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"}, + networkingv1.NetworkPolicyEgressRule{}.OpenAPIModelName(), networkingv1.NetworkPolicyIngressRule{}.OpenAPIModelName(), metav1.LabelSelector{}.OpenAPIModelName()}, } } @@ -13660,7 +14006,7 @@ func schema_pkg_apis_projectcalico_v3_StagedNetworkPolicy(ref common.ReferenceCa "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -13674,7 +14020,7 @@ func schema_pkg_apis_projectcalico_v3_StagedNetworkPolicy(ref common.ReferenceCa }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedNetworkPolicySpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedNetworkPolicySpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -13702,7 +14048,7 @@ func schema_pkg_apis_projectcalico_v3_StagedNetworkPolicyList(ref common.Referen "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -13723,7 +14069,7 @@ func schema_pkg_apis_projectcalico_v3_StagedNetworkPolicyList(ref common.Referen }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedNetworkPolicy", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.StagedNetworkPolicy", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -14043,7 +14389,7 @@ func schema_pkg_apis_projectcalico_v3_Tier(ref common.ReferenceCallback) common. "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -14052,12 +14398,18 @@ func schema_pkg_apis_projectcalico_v3_Tier(ref common.ReferenceCallback) common. Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.TierSpec"), }, }, + "status": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/tigera/api/pkg/apis/projectcalico/v3.TierStatus"), + }, + }, }, Required: []string{"metadata", "spec"}, }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.TierSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.TierSpec", "github.com/tigera/api/pkg/apis/projectcalico/v3.TierStatus", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -14085,7 +14437,7 @@ func schema_pkg_apis_projectcalico_v3_TierList(ref common.ReferenceCallback) com "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -14106,7 +14458,7 @@ func schema_pkg_apis_projectcalico_v3_TierList(ref common.ReferenceCallback) com }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.Tier", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.Tier", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -14137,6 +14489,35 @@ func schema_pkg_apis_projectcalico_v3_TierSpec(ref common.ReferenceCallback) com } } +func schema_pkg_apis_projectcalico_v3_TierStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "TierStatus contains the status of a Tier resource.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "conditions": { + SchemaProps: spec.SchemaProps{ + Description: "Conditions represents the latest observed set of conditions for the resource. A tier with a \"Ready\" condition set to \"True\" is operating as expected.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref(metav1.Condition{}.OpenAPIModelName()), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + metav1.Condition{}.OpenAPIModelName()}, + } +} + func schema_pkg_apis_projectcalico_v3_UIDashboard(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -14472,7 +14853,7 @@ func schema_pkg_apis_projectcalico_v3_UISettings(ref common.ReferenceCallback) c "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -14486,7 +14867,7 @@ func schema_pkg_apis_projectcalico_v3_UISettings(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.UISettingsSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.UISettingsSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -14514,7 +14895,7 @@ func schema_pkg_apis_projectcalico_v3_UISettingsGroup(ref common.ReferenceCallba "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { @@ -14528,7 +14909,7 @@ func schema_pkg_apis_projectcalico_v3_UISettingsGroup(ref common.ReferenceCallba }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.UISettingsGroupSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.UISettingsGroupSpec", metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -14556,7 +14937,7 @@ func schema_pkg_apis_projectcalico_v3_UISettingsGroupList(ref common.ReferenceCa "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -14577,7 +14958,7 @@ func schema_pkg_apis_projectcalico_v3_UISettingsGroupList(ref common.ReferenceCa }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.UISettingsGroup", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.UISettingsGroup", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -14634,7 +15015,7 @@ func schema_pkg_apis_projectcalico_v3_UISettingsList(ref common.ReferenceCallbac "metadata": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -14655,7 +15036,7 @@ func schema_pkg_apis_projectcalico_v3_UISettingsList(ref common.ReferenceCallbac }, }, Dependencies: []string{ - "github.com/tigera/api/pkg/apis/projectcalico/v3.UISettings", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/tigera/api/pkg/apis/projectcalico/v3.UISettings", metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -14726,14 +15107,14 @@ func schema_pkg_apis_projectcalico_v3_WorkloadEndpointControllerConfig(ref commo "reconcilerPeriod": { SchemaProps: spec.SchemaProps{ Description: "ReconcilerPeriod is the period to perform reconciliation with the Calico datastore. [Default: 5m]", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + Ref: ref(metav1.Duration{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + metav1.Duration{}.OpenAPIModelName()}, } } @@ -14836,26 +15217,26 @@ func schema_k8sio_api_core_v1_Affinity(ref common.ReferenceCallback) common.Open "nodeAffinity": { SchemaProps: spec.SchemaProps{ Description: "Describes node affinity scheduling rules for the pod.", - Ref: ref("k8s.io/api/core/v1.NodeAffinity"), + Ref: ref(v1.NodeAffinity{}.OpenAPIModelName()), }, }, "podAffinity": { SchemaProps: spec.SchemaProps{ Description: "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).", - Ref: ref("k8s.io/api/core/v1.PodAffinity"), + Ref: ref(v1.PodAffinity{}.OpenAPIModelName()), }, }, "podAntiAffinity": { SchemaProps: spec.SchemaProps{ Description: "Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).", - Ref: ref("k8s.io/api/core/v1.PodAntiAffinity"), + Ref: ref(v1.PodAntiAffinity{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NodeAffinity", "k8s.io/api/core/v1.PodAffinity", "k8s.io/api/core/v1.PodAntiAffinity"}, + v1.NodeAffinity{}.OpenAPIModelName(), v1.PodAffinity{}.OpenAPIModelName(), v1.PodAntiAffinity{}.OpenAPIModelName()}, } } @@ -14951,7 +15332,7 @@ func schema_k8sio_api_core_v1_AvoidPods(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PreferAvoidPodsEntry"), + Ref: ref(v1.PreferAvoidPodsEntry{}.OpenAPIModelName()), }, }, }, @@ -14961,7 +15342,7 @@ func schema_k8sio_api_core_v1_AvoidPods(ref common.ReferenceCallback) common.Ope }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PreferAvoidPodsEntry"}, + v1.PreferAvoidPodsEntry{}.OpenAPIModelName()}, } } @@ -15135,14 +15516,14 @@ func schema_k8sio_api_core_v1_Binding(ref common.ReferenceCallback) common.OpenA SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "target": { SchemaProps: spec.SchemaProps{ Description: "The target object that you want to bind to the standard object.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ObjectReference"), + Ref: ref(v1.ObjectReference{}.OpenAPIModelName()), }, }, }, @@ -15150,7 +15531,7 @@ func schema_k8sio_api_core_v1_Binding(ref common.ReferenceCallback) common.OpenA }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.ObjectReference{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -15210,31 +15591,31 @@ func schema_k8sio_api_core_v1_CSIPersistentVolumeSource(ref common.ReferenceCall "controllerPublishSecretRef": { SchemaProps: spec.SchemaProps{ Description: "controllerPublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI ControllerPublishVolume and ControllerUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", - Ref: ref("k8s.io/api/core/v1.SecretReference"), + Ref: ref(v1.SecretReference{}.OpenAPIModelName()), }, }, "nodeStageSecretRef": { SchemaProps: spec.SchemaProps{ Description: "nodeStageSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodeStageVolume and NodeStageVolume and NodeUnstageVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", - Ref: ref("k8s.io/api/core/v1.SecretReference"), + Ref: ref(v1.SecretReference{}.OpenAPIModelName()), }, }, "nodePublishSecretRef": { SchemaProps: spec.SchemaProps{ Description: "nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", - Ref: ref("k8s.io/api/core/v1.SecretReference"), + Ref: ref(v1.SecretReference{}.OpenAPIModelName()), }, }, "controllerExpandSecretRef": { SchemaProps: spec.SchemaProps{ Description: "controllerExpandSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI ControllerExpandVolume call. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", - Ref: ref("k8s.io/api/core/v1.SecretReference"), + Ref: ref(v1.SecretReference{}.OpenAPIModelName()), }, }, "nodeExpandSecretRef": { SchemaProps: spec.SchemaProps{ Description: "nodeExpandSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodeExpandVolume call. This field is optional, may be omitted if no secret is required. If the secret object contains more than one secret, all secrets are passed.", - Ref: ref("k8s.io/api/core/v1.SecretReference"), + Ref: ref(v1.SecretReference{}.OpenAPIModelName()), }, }, }, @@ -15242,7 +15623,7 @@ func schema_k8sio_api_core_v1_CSIPersistentVolumeSource(ref common.ReferenceCall }, }, Dependencies: []string{ - "k8s.io/api/core/v1.SecretReference"}, + v1.SecretReference{}.OpenAPIModelName()}, } } @@ -15294,7 +15675,7 @@ func schema_k8sio_api_core_v1_CSIVolumeSource(ref common.ReferenceCallback) comm "nodePublishSecretRef": { SchemaProps: spec.SchemaProps{ Description: "nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.", - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Ref: ref(v1.LocalObjectReference{}.OpenAPIModelName()), }, }, }, @@ -15302,7 +15683,7 @@ func schema_k8sio_api_core_v1_CSIVolumeSource(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference"}, + v1.LocalObjectReference{}.OpenAPIModelName()}, } } @@ -15410,7 +15791,7 @@ func schema_k8sio_api_core_v1_CephFSPersistentVolumeSource(ref common.ReferenceC "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it", - Ref: ref("k8s.io/api/core/v1.SecretReference"), + Ref: ref(v1.SecretReference{}.OpenAPIModelName()), }, }, "readOnly": { @@ -15425,7 +15806,7 @@ func schema_k8sio_api_core_v1_CephFSPersistentVolumeSource(ref common.ReferenceC }, }, Dependencies: []string{ - "k8s.io/api/core/v1.SecretReference"}, + v1.SecretReference{}.OpenAPIModelName()}, } } @@ -15480,7 +15861,7 @@ func schema_k8sio_api_core_v1_CephFSVolumeSource(ref common.ReferenceCallback) c "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it", - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Ref: ref(v1.LocalObjectReference{}.OpenAPIModelName()), }, }, "readOnly": { @@ -15495,7 +15876,7 @@ func schema_k8sio_api_core_v1_CephFSVolumeSource(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference"}, + v1.LocalObjectReference{}.OpenAPIModelName()}, } } @@ -15531,7 +15912,7 @@ func schema_k8sio_api_core_v1_CinderPersistentVolumeSource(ref common.ReferenceC "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef is Optional: points to a secret object containing parameters used to connect to OpenStack.", - Ref: ref("k8s.io/api/core/v1.SecretReference"), + Ref: ref(v1.SecretReference{}.OpenAPIModelName()), }, }, }, @@ -15539,7 +15920,7 @@ func schema_k8sio_api_core_v1_CinderPersistentVolumeSource(ref common.ReferenceC }, }, Dependencies: []string{ - "k8s.io/api/core/v1.SecretReference"}, + v1.SecretReference{}.OpenAPIModelName()}, } } @@ -15575,7 +15956,7 @@ func schema_k8sio_api_core_v1_CinderVolumeSource(ref common.ReferenceCallback) c "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef is optional: points to a secret object containing parameters used to connect to OpenStack.", - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Ref: ref(v1.LocalObjectReference{}.OpenAPIModelName()), }, }, }, @@ -15583,7 +15964,7 @@ func schema_k8sio_api_core_v1_CinderVolumeSource(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference"}, + v1.LocalObjectReference{}.OpenAPIModelName()}, } } @@ -15631,7 +16012,7 @@ func schema_k8sio_api_core_v1_ClusterTrustBundleProjection(ref common.ReferenceC "labelSelector": { SchemaProps: spec.SchemaProps{ Description: "Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as \"match nothing\". If set but empty, interpreted as \"match everything\".", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), + Ref: ref(metav1.LabelSelector{}.OpenAPIModelName()), }, }, "optional": { @@ -15654,7 +16035,7 @@ func schema_k8sio_api_core_v1_ClusterTrustBundleProjection(ref common.ReferenceC }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"}, + metav1.LabelSelector{}.OpenAPIModelName()}, } } @@ -15727,7 +16108,7 @@ func schema_k8sio_api_core_v1_ComponentStatus(ref common.ReferenceCallback) comm SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "conditions": { @@ -15748,7 +16129,7 @@ func schema_k8sio_api_core_v1_ComponentStatus(ref common.ReferenceCallback) comm Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ComponentCondition"), + Ref: ref(v1.ComponentCondition{}.OpenAPIModelName()), }, }, }, @@ -15758,7 +16139,7 @@ func schema_k8sio_api_core_v1_ComponentStatus(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ComponentCondition", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.ComponentCondition{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -15787,7 +16168,7 @@ func schema_k8sio_api_core_v1_ComponentStatusList(ref common.ReferenceCallback) SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -15798,7 +16179,7 @@ func schema_k8sio_api_core_v1_ComponentStatusList(ref common.ReferenceCallback) Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ComponentStatus"), + Ref: ref(v1.ComponentStatus{}.OpenAPIModelName()), }, }, }, @@ -15809,7 +16190,7 @@ func schema_k8sio_api_core_v1_ComponentStatusList(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ComponentStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.ComponentStatus{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -15838,7 +16219,7 @@ func schema_k8sio_api_core_v1_ConfigMap(ref common.ReferenceCallback) common.Ope SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "immutable": { @@ -15883,7 +16264,7 @@ func schema_k8sio_api_core_v1_ConfigMap(ref common.ReferenceCallback) common.Ope }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -15982,7 +16363,7 @@ func schema_k8sio_api_core_v1_ConfigMapList(ref common.ReferenceCallback) common SchemaProps: spec.SchemaProps{ Description: "More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -15993,7 +16374,7 @@ func schema_k8sio_api_core_v1_ConfigMapList(ref common.ReferenceCallback) common Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ConfigMap"), + Ref: ref(v1.ConfigMap{}.OpenAPIModelName()), }, }, }, @@ -16004,7 +16385,7 @@ func schema_k8sio_api_core_v1_ConfigMapList(ref common.ReferenceCallback) common }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ConfigMap", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.ConfigMap{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -16088,7 +16469,7 @@ func schema_k8sio_api_core_v1_ConfigMapProjection(ref common.ReferenceCallback) Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.KeyToPath"), + Ref: ref(v1.KeyToPath{}.OpenAPIModelName()), }, }, }, @@ -16105,7 +16486,7 @@ func schema_k8sio_api_core_v1_ConfigMapProjection(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/core/v1.KeyToPath"}, + v1.KeyToPath{}.OpenAPIModelName()}, } } @@ -16137,7 +16518,7 @@ func schema_k8sio_api_core_v1_ConfigMapVolumeSource(ref common.ReferenceCallback Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.KeyToPath"), + Ref: ref(v1.KeyToPath{}.OpenAPIModelName()), }, }, }, @@ -16161,7 +16542,7 @@ func schema_k8sio_api_core_v1_ConfigMapVolumeSource(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.KeyToPath"}, + v1.KeyToPath{}.OpenAPIModelName()}, } } @@ -16253,7 +16634,7 @@ func schema_k8sio_api_core_v1_Container(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerPort"), + Ref: ref(v1.ContainerPort{}.OpenAPIModelName()), }, }, }, @@ -16272,7 +16653,7 @@ func schema_k8sio_api_core_v1_Container(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EnvFromSource"), + Ref: ref(v1.EnvFromSource{}.OpenAPIModelName()), }, }, }, @@ -16296,7 +16677,7 @@ func schema_k8sio_api_core_v1_Container(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EnvVar"), + Ref: ref(v1.EnvVar{}.OpenAPIModelName()), }, }, }, @@ -16306,7 +16687,7 @@ func schema_k8sio_api_core_v1_Container(ref common.ReferenceCallback) common.Ope SchemaProps: spec.SchemaProps{ Description: "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ResourceRequirements"), + Ref: ref(v1.ResourceRequirements{}.OpenAPIModelName()), }, }, "resizePolicy": { @@ -16316,13 +16697,13 @@ func schema_k8sio_api_core_v1_Container(ref common.ReferenceCallback) common.Ope }, }, SchemaProps: spec.SchemaProps{ - Description: "Resources resize policy for the container.", + Description: "Resources resize policy for the container. This field cannot be set on ephemeral containers.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerResizePolicy"), + Ref: ref(v1.ContainerResizePolicy{}.OpenAPIModelName()), }, }, }, @@ -16348,7 +16729,7 @@ func schema_k8sio_api_core_v1_Container(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerRestartRule"), + Ref: ref(v1.ContainerRestartRule{}.OpenAPIModelName()), }, }, }, @@ -16372,7 +16753,7 @@ func schema_k8sio_api_core_v1_Container(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.VolumeMount"), + Ref: ref(v1.VolumeMount{}.OpenAPIModelName()), }, }, }, @@ -16396,7 +16777,7 @@ func schema_k8sio_api_core_v1_Container(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.VolumeDevice"), + Ref: ref(v1.VolumeDevice{}.OpenAPIModelName()), }, }, }, @@ -16405,25 +16786,25 @@ func schema_k8sio_api_core_v1_Container(ref common.ReferenceCallback) common.Ope "livenessProbe": { SchemaProps: spec.SchemaProps{ Description: "Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - Ref: ref("k8s.io/api/core/v1.Probe"), + Ref: ref(v1.Probe{}.OpenAPIModelName()), }, }, "readinessProbe": { SchemaProps: spec.SchemaProps{ Description: "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - Ref: ref("k8s.io/api/core/v1.Probe"), + Ref: ref(v1.Probe{}.OpenAPIModelName()), }, }, "startupProbe": { SchemaProps: spec.SchemaProps{ Description: "StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", - Ref: ref("k8s.io/api/core/v1.Probe"), + Ref: ref(v1.Probe{}.OpenAPIModelName()), }, }, "lifecycle": { SchemaProps: spec.SchemaProps{ Description: "Actions that the management system should take in response to container lifecycle events. Cannot be updated.", - Ref: ref("k8s.io/api/core/v1.Lifecycle"), + Ref: ref(v1.Lifecycle{}.OpenAPIModelName()), }, }, "terminationMessagePath": { @@ -16452,7 +16833,7 @@ func schema_k8sio_api_core_v1_Container(ref common.ReferenceCallback) common.Ope "securityContext": { SchemaProps: spec.SchemaProps{ Description: "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/", - Ref: ref("k8s.io/api/core/v1.SecurityContext"), + Ref: ref(v1.SecurityContext{}.OpenAPIModelName()), }, }, "stdin": { @@ -16481,7 +16862,7 @@ func schema_k8sio_api_core_v1_Container(ref common.ReferenceCallback) common.Ope }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.ContainerResizePolicy", "k8s.io/api/core/v1.ContainerRestartRule", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + v1.ContainerPort{}.OpenAPIModelName(), v1.ContainerResizePolicy{}.OpenAPIModelName(), v1.ContainerRestartRule{}.OpenAPIModelName(), v1.EnvFromSource{}.OpenAPIModelName(), v1.EnvVar{}.OpenAPIModelName(), v1.Lifecycle{}.OpenAPIModelName(), v1.Probe{}.OpenAPIModelName(), v1.ResourceRequirements{}.OpenAPIModelName(), v1.SecurityContext{}.OpenAPIModelName(), v1.VolumeDevice{}.OpenAPIModelName(), v1.VolumeMount{}.OpenAPIModelName()}, } } @@ -16662,7 +17043,7 @@ func schema_k8sio_api_core_v1_ContainerRestartRule(ref common.ReferenceCallback) "exitCodes": { SchemaProps: spec.SchemaProps{ Description: "Represents the exit codes to check on container exits.", - Ref: ref("k8s.io/api/core/v1.ContainerRestartRuleOnExitCodes"), + Ref: ref(v1.ContainerRestartRuleOnExitCodes{}.OpenAPIModelName()), }, }, }, @@ -16670,7 +17051,7 @@ func schema_k8sio_api_core_v1_ContainerRestartRule(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ContainerRestartRuleOnExitCodes"}, + v1.ContainerRestartRuleOnExitCodes{}.OpenAPIModelName()}, } } @@ -16725,26 +17106,26 @@ func schema_k8sio_api_core_v1_ContainerState(ref common.ReferenceCallback) commo "waiting": { SchemaProps: spec.SchemaProps{ Description: "Details about a waiting container", - Ref: ref("k8s.io/api/core/v1.ContainerStateWaiting"), + Ref: ref(v1.ContainerStateWaiting{}.OpenAPIModelName()), }, }, "running": { SchemaProps: spec.SchemaProps{ Description: "Details about a running container", - Ref: ref("k8s.io/api/core/v1.ContainerStateRunning"), + Ref: ref(v1.ContainerStateRunning{}.OpenAPIModelName()), }, }, "terminated": { SchemaProps: spec.SchemaProps{ Description: "Details about a terminated container", - Ref: ref("k8s.io/api/core/v1.ContainerStateTerminated"), + Ref: ref(v1.ContainerStateTerminated{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ContainerStateRunning", "k8s.io/api/core/v1.ContainerStateTerminated", "k8s.io/api/core/v1.ContainerStateWaiting"}, + v1.ContainerStateRunning{}.OpenAPIModelName(), v1.ContainerStateTerminated{}.OpenAPIModelName(), v1.ContainerStateWaiting{}.OpenAPIModelName()}, } } @@ -16758,14 +17139,14 @@ func schema_k8sio_api_core_v1_ContainerStateRunning(ref common.ReferenceCallback "startedAt": { SchemaProps: spec.SchemaProps{ Description: "Time at which the container was last (re-)started", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -16808,13 +17189,13 @@ func schema_k8sio_api_core_v1_ContainerStateTerminated(ref common.ReferenceCallb "startedAt": { SchemaProps: spec.SchemaProps{ Description: "Time at which previous execution of the container started", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "finishedAt": { SchemaProps: spec.SchemaProps{ Description: "Time at which the container last terminated", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "containerID": { @@ -16829,7 +17210,7 @@ func schema_k8sio_api_core_v1_ContainerStateTerminated(ref common.ReferenceCallb }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -16879,14 +17260,14 @@ func schema_k8sio_api_core_v1_ContainerStatus(ref common.ReferenceCallback) comm SchemaProps: spec.SchemaProps{ Description: "State holds details about the container's current condition.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerState"), + Ref: ref(v1.ContainerState{}.OpenAPIModelName()), }, }, "lastState": { SchemaProps: spec.SchemaProps{ Description: "LastTerminationState holds the last termination state of the container to help debug container crashes and restarts. This field is not populated if the container is still running and RestartCount is 0.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerState"), + Ref: ref(v1.ContainerState{}.OpenAPIModelName()), }, }, "ready": { @@ -16952,7 +17333,7 @@ func schema_k8sio_api_core_v1_ContainerStatus(ref common.ReferenceCallback) comm "resources": { SchemaProps: spec.SchemaProps{ Description: "Resources represents the compute resource requests and limits that have been successfully enacted on the running container after it has been started or has been successfully resized.", - Ref: ref("k8s.io/api/core/v1.ResourceRequirements"), + Ref: ref(v1.ResourceRequirements{}.OpenAPIModelName()), }, }, "volumeMounts": { @@ -16973,7 +17354,7 @@ func schema_k8sio_api_core_v1_ContainerStatus(ref common.ReferenceCallback) comm Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.VolumeMountStatus"), + Ref: ref(v1.VolumeMountStatus{}.OpenAPIModelName()), }, }, }, @@ -16982,7 +17363,7 @@ func schema_k8sio_api_core_v1_ContainerStatus(ref common.ReferenceCallback) comm "user": { SchemaProps: spec.SchemaProps{ Description: "User represents user identity information initially attached to the first process of the container", - Ref: ref("k8s.io/api/core/v1.ContainerUser"), + Ref: ref(v1.ContainerUser{}.OpenAPIModelName()), }, }, "allocatedResourcesStatus": { @@ -17003,7 +17384,7 @@ func schema_k8sio_api_core_v1_ContainerStatus(ref common.ReferenceCallback) comm Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ResourceStatus"), + Ref: ref(v1.ResourceStatus{}.OpenAPIModelName()), }, }, }, @@ -17022,7 +17403,7 @@ func schema_k8sio_api_core_v1_ContainerStatus(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ContainerState", "k8s.io/api/core/v1.ContainerUser", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.ResourceStatus", "k8s.io/api/core/v1.VolumeMountStatus", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + v1.ContainerState{}.OpenAPIModelName(), v1.ContainerUser{}.OpenAPIModelName(), v1.ResourceRequirements{}.OpenAPIModelName(), v1.ResourceStatus{}.OpenAPIModelName(), v1.VolumeMountStatus{}.OpenAPIModelName(), "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } @@ -17036,14 +17417,14 @@ func schema_k8sio_api_core_v1_ContainerUser(ref common.ReferenceCallback) common "linux": { SchemaProps: spec.SchemaProps{ Description: "Linux holds user identity information initially attached to the first process of the containers in Linux. Note that the actual running identity can be changed if the process has enough privilege to do so.", - Ref: ref("k8s.io/api/core/v1.LinuxContainerUser"), + Ref: ref(v1.LinuxContainerUser{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LinuxContainerUser"}, + v1.LinuxContainerUser{}.OpenAPIModelName()}, } } @@ -17089,7 +17470,7 @@ func schema_k8sio_api_core_v1_DownwardAPIProjection(ref common.ReferenceCallback Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.DownwardAPIVolumeFile"), + Ref: ref(v1.DownwardAPIVolumeFile{}.OpenAPIModelName()), }, }, }, @@ -17099,7 +17480,7 @@ func schema_k8sio_api_core_v1_DownwardAPIProjection(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.DownwardAPIVolumeFile"}, + v1.DownwardAPIVolumeFile{}.OpenAPIModelName()}, } } @@ -17121,13 +17502,13 @@ func schema_k8sio_api_core_v1_DownwardAPIVolumeFile(ref common.ReferenceCallback "fieldRef": { SchemaProps: spec.SchemaProps{ Description: "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.", - Ref: ref("k8s.io/api/core/v1.ObjectFieldSelector"), + Ref: ref(v1.ObjectFieldSelector{}.OpenAPIModelName()), }, }, "resourceFieldRef": { SchemaProps: spec.SchemaProps{ Description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.", - Ref: ref("k8s.io/api/core/v1.ResourceFieldSelector"), + Ref: ref(v1.ResourceFieldSelector{}.OpenAPIModelName()), }, }, "mode": { @@ -17142,7 +17523,7 @@ func schema_k8sio_api_core_v1_DownwardAPIVolumeFile(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ObjectFieldSelector", "k8s.io/api/core/v1.ResourceFieldSelector"}, + v1.ObjectFieldSelector{}.OpenAPIModelName(), v1.ResourceFieldSelector{}.OpenAPIModelName()}, } } @@ -17166,7 +17547,7 @@ func schema_k8sio_api_core_v1_DownwardAPIVolumeSource(ref common.ReferenceCallba Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.DownwardAPIVolumeFile"), + Ref: ref(v1.DownwardAPIVolumeFile{}.OpenAPIModelName()), }, }, }, @@ -17183,7 +17564,7 @@ func schema_k8sio_api_core_v1_DownwardAPIVolumeSource(ref common.ReferenceCallba }, }, Dependencies: []string{ - "k8s.io/api/core/v1.DownwardAPIVolumeFile"}, + v1.DownwardAPIVolumeFile{}.OpenAPIModelName()}, } } @@ -17247,7 +17628,7 @@ func schema_k8sio_api_core_v1_EndpointAddress(ref common.ReferenceCallback) comm "targetRef": { SchemaProps: spec.SchemaProps{ Description: "Reference to object providing the endpoint.", - Ref: ref("k8s.io/api/core/v1.ObjectReference"), + Ref: ref(v1.ObjectReference{}.OpenAPIModelName()), }, }, }, @@ -17260,7 +17641,7 @@ func schema_k8sio_api_core_v1_EndpointAddress(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ObjectReference"}, + v1.ObjectReference{}.OpenAPIModelName()}, } } @@ -17333,7 +17714,7 @@ func schema_k8sio_api_core_v1_EndpointSubset(ref common.ReferenceCallback) commo Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EndpointAddress"), + Ref: ref(v1.EndpointAddress{}.OpenAPIModelName()), }, }, }, @@ -17352,7 +17733,7 @@ func schema_k8sio_api_core_v1_EndpointSubset(ref common.ReferenceCallback) commo Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EndpointAddress"), + Ref: ref(v1.EndpointAddress{}.OpenAPIModelName()), }, }, }, @@ -17371,7 +17752,7 @@ func schema_k8sio_api_core_v1_EndpointSubset(ref common.ReferenceCallback) commo Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EndpointPort"), + Ref: ref(v1.EndpointPort{}.OpenAPIModelName()), }, }, }, @@ -17381,7 +17762,7 @@ func schema_k8sio_api_core_v1_EndpointSubset(ref common.ReferenceCallback) commo }, }, Dependencies: []string{ - "k8s.io/api/core/v1.EndpointAddress", "k8s.io/api/core/v1.EndpointPort"}, + v1.EndpointAddress{}.OpenAPIModelName(), v1.EndpointPort{}.OpenAPIModelName()}, } } @@ -17410,7 +17791,7 @@ func schema_k8sio_api_core_v1_Endpoints(ref common.ReferenceCallback) common.Ope SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "subsets": { @@ -17426,7 +17807,7 @@ func schema_k8sio_api_core_v1_Endpoints(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EndpointSubset"), + Ref: ref(v1.EndpointSubset{}.OpenAPIModelName()), }, }, }, @@ -17436,7 +17817,7 @@ func schema_k8sio_api_core_v1_Endpoints(ref common.ReferenceCallback) common.Ope }, }, Dependencies: []string{ - "k8s.io/api/core/v1.EndpointSubset", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.EndpointSubset{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -17465,7 +17846,7 @@ func schema_k8sio_api_core_v1_EndpointsList(ref common.ReferenceCallback) common SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -17476,7 +17857,7 @@ func schema_k8sio_api_core_v1_EndpointsList(ref common.ReferenceCallback) common Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Endpoints"), + Ref: ref(v1.Endpoints{}.OpenAPIModelName()), }, }, }, @@ -17487,7 +17868,7 @@ func schema_k8sio_api_core_v1_EndpointsList(ref common.ReferenceCallback) common }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Endpoints", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.Endpoints{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -17508,20 +17889,20 @@ func schema_k8sio_api_core_v1_EnvFromSource(ref common.ReferenceCallback) common "configMapRef": { SchemaProps: spec.SchemaProps{ Description: "The ConfigMap to select from", - Ref: ref("k8s.io/api/core/v1.ConfigMapEnvSource"), + Ref: ref(v1.ConfigMapEnvSource{}.OpenAPIModelName()), }, }, "secretRef": { SchemaProps: spec.SchemaProps{ Description: "The Secret to select from", - Ref: ref("k8s.io/api/core/v1.SecretEnvSource"), + Ref: ref(v1.SecretEnvSource{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ConfigMapEnvSource", "k8s.io/api/core/v1.SecretEnvSource"}, + v1.ConfigMapEnvSource{}.OpenAPIModelName(), v1.SecretEnvSource{}.OpenAPIModelName()}, } } @@ -17550,7 +17931,7 @@ func schema_k8sio_api_core_v1_EnvVar(ref common.ReferenceCallback) common.OpenAP "valueFrom": { SchemaProps: spec.SchemaProps{ Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - Ref: ref("k8s.io/api/core/v1.EnvVarSource"), + Ref: ref(v1.EnvVarSource{}.OpenAPIModelName()), }, }, }, @@ -17558,7 +17939,7 @@ func schema_k8sio_api_core_v1_EnvVar(ref common.ReferenceCallback) common.OpenAP }, }, Dependencies: []string{ - "k8s.io/api/core/v1.EnvVarSource"}, + v1.EnvVarSource{}.OpenAPIModelName()}, } } @@ -17572,38 +17953,38 @@ func schema_k8sio_api_core_v1_EnvVarSource(ref common.ReferenceCallback) common. "fieldRef": { SchemaProps: spec.SchemaProps{ Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Ref: ref("k8s.io/api/core/v1.ObjectFieldSelector"), + Ref: ref(v1.ObjectFieldSelector{}.OpenAPIModelName()), }, }, "resourceFieldRef": { SchemaProps: spec.SchemaProps{ Description: "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Ref: ref("k8s.io/api/core/v1.ResourceFieldSelector"), + Ref: ref(v1.ResourceFieldSelector{}.OpenAPIModelName()), }, }, "configMapKeyRef": { SchemaProps: spec.SchemaProps{ Description: "Selects a key of a ConfigMap.", - Ref: ref("k8s.io/api/core/v1.ConfigMapKeySelector"), + Ref: ref(v1.ConfigMapKeySelector{}.OpenAPIModelName()), }, }, "secretKeyRef": { SchemaProps: spec.SchemaProps{ Description: "Selects a key of a secret in the pod's namespace", - Ref: ref("k8s.io/api/core/v1.SecretKeySelector"), + Ref: ref(v1.SecretKeySelector{}.OpenAPIModelName()), }, }, "fileKeyRef": { SchemaProps: spec.SchemaProps{ Description: "FileKeyRef selects a key of the env file. Requires the EnvFiles feature gate to be enabled.", - Ref: ref("k8s.io/api/core/v1.FileKeySelector"), + Ref: ref(v1.FileKeySelector{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ConfigMapKeySelector", "k8s.io/api/core/v1.FileKeySelector", "k8s.io/api/core/v1.ObjectFieldSelector", "k8s.io/api/core/v1.ResourceFieldSelector", "k8s.io/api/core/v1.SecretKeySelector"}, + v1.ConfigMapKeySelector{}.OpenAPIModelName(), v1.FileKeySelector{}.OpenAPIModelName(), v1.ObjectFieldSelector{}.OpenAPIModelName(), v1.ResourceFieldSelector{}.OpenAPIModelName(), v1.SecretKeySelector{}.OpenAPIModelName()}, } } @@ -17695,7 +18076,7 @@ func schema_k8sio_api_core_v1_EphemeralContainer(ref common.ReferenceCallback) c Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerPort"), + Ref: ref(v1.ContainerPort{}.OpenAPIModelName()), }, }, }, @@ -17714,7 +18095,7 @@ func schema_k8sio_api_core_v1_EphemeralContainer(ref common.ReferenceCallback) c Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EnvFromSource"), + Ref: ref(v1.EnvFromSource{}.OpenAPIModelName()), }, }, }, @@ -17738,7 +18119,7 @@ func schema_k8sio_api_core_v1_EphemeralContainer(ref common.ReferenceCallback) c Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EnvVar"), + Ref: ref(v1.EnvVar{}.OpenAPIModelName()), }, }, }, @@ -17748,7 +18129,7 @@ func schema_k8sio_api_core_v1_EphemeralContainer(ref common.ReferenceCallback) c SchemaProps: spec.SchemaProps{ Description: "Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ResourceRequirements"), + Ref: ref(v1.ResourceRequirements{}.OpenAPIModelName()), }, }, "resizePolicy": { @@ -17764,7 +18145,7 @@ func schema_k8sio_api_core_v1_EphemeralContainer(ref common.ReferenceCallback) c Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerResizePolicy"), + Ref: ref(v1.ContainerResizePolicy{}.OpenAPIModelName()), }, }, }, @@ -17790,7 +18171,7 @@ func schema_k8sio_api_core_v1_EphemeralContainer(ref common.ReferenceCallback) c Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerRestartRule"), + Ref: ref(v1.ContainerRestartRule{}.OpenAPIModelName()), }, }, }, @@ -17814,7 +18195,7 @@ func schema_k8sio_api_core_v1_EphemeralContainer(ref common.ReferenceCallback) c Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.VolumeMount"), + Ref: ref(v1.VolumeMount{}.OpenAPIModelName()), }, }, }, @@ -17838,7 +18219,7 @@ func schema_k8sio_api_core_v1_EphemeralContainer(ref common.ReferenceCallback) c Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.VolumeDevice"), + Ref: ref(v1.VolumeDevice{}.OpenAPIModelName()), }, }, }, @@ -17847,25 +18228,25 @@ func schema_k8sio_api_core_v1_EphemeralContainer(ref common.ReferenceCallback) c "livenessProbe": { SchemaProps: spec.SchemaProps{ Description: "Probes are not allowed for ephemeral containers.", - Ref: ref("k8s.io/api/core/v1.Probe"), + Ref: ref(v1.Probe{}.OpenAPIModelName()), }, }, "readinessProbe": { SchemaProps: spec.SchemaProps{ Description: "Probes are not allowed for ephemeral containers.", - Ref: ref("k8s.io/api/core/v1.Probe"), + Ref: ref(v1.Probe{}.OpenAPIModelName()), }, }, "startupProbe": { SchemaProps: spec.SchemaProps{ Description: "Probes are not allowed for ephemeral containers.", - Ref: ref("k8s.io/api/core/v1.Probe"), + Ref: ref(v1.Probe{}.OpenAPIModelName()), }, }, "lifecycle": { SchemaProps: spec.SchemaProps{ Description: "Lifecycle is not allowed for ephemeral containers.", - Ref: ref("k8s.io/api/core/v1.Lifecycle"), + Ref: ref(v1.Lifecycle{}.OpenAPIModelName()), }, }, "terminationMessagePath": { @@ -17894,7 +18275,7 @@ func schema_k8sio_api_core_v1_EphemeralContainer(ref common.ReferenceCallback) c "securityContext": { SchemaProps: spec.SchemaProps{ Description: "Optional: SecurityContext defines the security options the ephemeral container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.", - Ref: ref("k8s.io/api/core/v1.SecurityContext"), + Ref: ref(v1.SecurityContext{}.OpenAPIModelName()), }, }, "stdin": { @@ -17930,7 +18311,7 @@ func schema_k8sio_api_core_v1_EphemeralContainer(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.ContainerResizePolicy", "k8s.io/api/core/v1.ContainerRestartRule", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + v1.ContainerPort{}.OpenAPIModelName(), v1.ContainerResizePolicy{}.OpenAPIModelName(), v1.ContainerRestartRule{}.OpenAPIModelName(), v1.EnvFromSource{}.OpenAPIModelName(), v1.EnvVar{}.OpenAPIModelName(), v1.Lifecycle{}.OpenAPIModelName(), v1.Probe{}.OpenAPIModelName(), v1.ResourceRequirements{}.OpenAPIModelName(), v1.SecurityContext{}.OpenAPIModelName(), v1.VolumeDevice{}.OpenAPIModelName(), v1.VolumeMount{}.OpenAPIModelName()}, } } @@ -18022,7 +18403,7 @@ func schema_k8sio_api_core_v1_EphemeralContainerCommon(ref common.ReferenceCallb Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerPort"), + Ref: ref(v1.ContainerPort{}.OpenAPIModelName()), }, }, }, @@ -18041,7 +18422,7 @@ func schema_k8sio_api_core_v1_EphemeralContainerCommon(ref common.ReferenceCallb Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EnvFromSource"), + Ref: ref(v1.EnvFromSource{}.OpenAPIModelName()), }, }, }, @@ -18065,7 +18446,7 @@ func schema_k8sio_api_core_v1_EphemeralContainerCommon(ref common.ReferenceCallb Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EnvVar"), + Ref: ref(v1.EnvVar{}.OpenAPIModelName()), }, }, }, @@ -18075,7 +18456,7 @@ func schema_k8sio_api_core_v1_EphemeralContainerCommon(ref common.ReferenceCallb SchemaProps: spec.SchemaProps{ Description: "Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ResourceRequirements"), + Ref: ref(v1.ResourceRequirements{}.OpenAPIModelName()), }, }, "resizePolicy": { @@ -18091,7 +18472,7 @@ func schema_k8sio_api_core_v1_EphemeralContainerCommon(ref common.ReferenceCallb Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerResizePolicy"), + Ref: ref(v1.ContainerResizePolicy{}.OpenAPIModelName()), }, }, }, @@ -18117,7 +18498,7 @@ func schema_k8sio_api_core_v1_EphemeralContainerCommon(ref common.ReferenceCallb Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerRestartRule"), + Ref: ref(v1.ContainerRestartRule{}.OpenAPIModelName()), }, }, }, @@ -18141,7 +18522,7 @@ func schema_k8sio_api_core_v1_EphemeralContainerCommon(ref common.ReferenceCallb Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.VolumeMount"), + Ref: ref(v1.VolumeMount{}.OpenAPIModelName()), }, }, }, @@ -18165,7 +18546,7 @@ func schema_k8sio_api_core_v1_EphemeralContainerCommon(ref common.ReferenceCallb Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.VolumeDevice"), + Ref: ref(v1.VolumeDevice{}.OpenAPIModelName()), }, }, }, @@ -18174,25 +18555,25 @@ func schema_k8sio_api_core_v1_EphemeralContainerCommon(ref common.ReferenceCallb "livenessProbe": { SchemaProps: spec.SchemaProps{ Description: "Probes are not allowed for ephemeral containers.", - Ref: ref("k8s.io/api/core/v1.Probe"), + Ref: ref(v1.Probe{}.OpenAPIModelName()), }, }, "readinessProbe": { SchemaProps: spec.SchemaProps{ Description: "Probes are not allowed for ephemeral containers.", - Ref: ref("k8s.io/api/core/v1.Probe"), + Ref: ref(v1.Probe{}.OpenAPIModelName()), }, }, "startupProbe": { SchemaProps: spec.SchemaProps{ Description: "Probes are not allowed for ephemeral containers.", - Ref: ref("k8s.io/api/core/v1.Probe"), + Ref: ref(v1.Probe{}.OpenAPIModelName()), }, }, "lifecycle": { SchemaProps: spec.SchemaProps{ Description: "Lifecycle is not allowed for ephemeral containers.", - Ref: ref("k8s.io/api/core/v1.Lifecycle"), + Ref: ref(v1.Lifecycle{}.OpenAPIModelName()), }, }, "terminationMessagePath": { @@ -18221,7 +18602,7 @@ func schema_k8sio_api_core_v1_EphemeralContainerCommon(ref common.ReferenceCallb "securityContext": { SchemaProps: spec.SchemaProps{ Description: "Optional: SecurityContext defines the security options the ephemeral container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.", - Ref: ref("k8s.io/api/core/v1.SecurityContext"), + Ref: ref(v1.SecurityContext{}.OpenAPIModelName()), }, }, "stdin": { @@ -18250,7 +18631,7 @@ func schema_k8sio_api_core_v1_EphemeralContainerCommon(ref common.ReferenceCallb }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.ContainerResizePolicy", "k8s.io/api/core/v1.ContainerRestartRule", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + v1.ContainerPort{}.OpenAPIModelName(), v1.ContainerResizePolicy{}.OpenAPIModelName(), v1.ContainerRestartRule{}.OpenAPIModelName(), v1.EnvFromSource{}.OpenAPIModelName(), v1.EnvVar{}.OpenAPIModelName(), v1.Lifecycle{}.OpenAPIModelName(), v1.Probe{}.OpenAPIModelName(), v1.ResourceRequirements{}.OpenAPIModelName(), v1.SecurityContext{}.OpenAPIModelName(), v1.VolumeDevice{}.OpenAPIModelName(), v1.VolumeMount{}.OpenAPIModelName()}, } } @@ -18264,14 +18645,14 @@ func schema_k8sio_api_core_v1_EphemeralVolumeSource(ref common.ReferenceCallback "volumeClaimTemplate": { SchemaProps: spec.SchemaProps{ Description: "Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long).\n\nAn existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster.\n\nThis field is read-only and no changes will be made by Kubernetes to the PVC after it has been created.\n\nRequired, must not be nil.", - Ref: ref("k8s.io/api/core/v1.PersistentVolumeClaimTemplate"), + Ref: ref(v1.PersistentVolumeClaimTemplate{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PersistentVolumeClaimTemplate"}, + v1.PersistentVolumeClaimTemplate{}.OpenAPIModelName()}, } } @@ -18300,14 +18681,14 @@ func schema_k8sio_api_core_v1_Event(ref common.ReferenceCallback) common.OpenAPI SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "involvedObject": { SchemaProps: spec.SchemaProps{ Description: "The object that this event is about.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ObjectReference"), + Ref: ref(v1.ObjectReference{}.OpenAPIModelName()), }, }, "reason": { @@ -18328,19 +18709,19 @@ func schema_k8sio_api_core_v1_Event(ref common.ReferenceCallback) common.OpenAPI SchemaProps: spec.SchemaProps{ Description: "The component reporting this event. Should be a short machine understandable string.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EventSource"), + Ref: ref(v1.EventSource{}.OpenAPIModelName()), }, }, "firstTimestamp": { SchemaProps: spec.SchemaProps{ Description: "The time at which the event was first recorded. (Time of server receipt is in TypeMeta.)", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "lastTimestamp": { SchemaProps: spec.SchemaProps{ Description: "The time at which the most recent occurrence of this event was recorded.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "count": { @@ -18360,13 +18741,13 @@ func schema_k8sio_api_core_v1_Event(ref common.ReferenceCallback) common.OpenAPI "eventTime": { SchemaProps: spec.SchemaProps{ Description: "Time when this Event was first observed.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.MicroTime"), + Ref: ref(metav1.MicroTime{}.OpenAPIModelName()), }, }, "series": { SchemaProps: spec.SchemaProps{ Description: "Data about the Event series this event represents or nil if it's a singleton Event.", - Ref: ref("k8s.io/api/core/v1.EventSeries"), + Ref: ref(v1.EventSeries{}.OpenAPIModelName()), }, }, "action": { @@ -18379,7 +18760,7 @@ func schema_k8sio_api_core_v1_Event(ref common.ReferenceCallback) common.OpenAPI "related": { SchemaProps: spec.SchemaProps{ Description: "Optional secondary object for more complex actions.", - Ref: ref("k8s.io/api/core/v1.ObjectReference"), + Ref: ref(v1.ObjectReference{}.OpenAPIModelName()), }, }, "reportingComponent": { @@ -18403,7 +18784,7 @@ func schema_k8sio_api_core_v1_Event(ref common.ReferenceCallback) common.OpenAPI }, }, Dependencies: []string{ - "k8s.io/api/core/v1.EventSeries", "k8s.io/api/core/v1.EventSource", "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.MicroTime", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + v1.EventSeries{}.OpenAPIModelName(), v1.EventSource{}.OpenAPIModelName(), v1.ObjectReference{}.OpenAPIModelName(), metav1.MicroTime{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName(), metav1.Time{}.OpenAPIModelName()}, } } @@ -18432,7 +18813,7 @@ func schema_k8sio_api_core_v1_EventList(ref common.ReferenceCallback) common.Ope SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -18443,7 +18824,7 @@ func schema_k8sio_api_core_v1_EventList(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Event"), + Ref: ref(v1.Event{}.OpenAPIModelName()), }, }, }, @@ -18454,7 +18835,7 @@ func schema_k8sio_api_core_v1_EventList(ref common.ReferenceCallback) common.Ope }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Event", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.Event{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -18475,14 +18856,14 @@ func schema_k8sio_api_core_v1_EventSeries(ref common.ReferenceCallback) common.O "lastObservedTime": { SchemaProps: spec.SchemaProps{ Description: "Time of the last occurrence observed", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.MicroTime"), + Ref: ref(metav1.MicroTime{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.MicroTime"}, + metav1.MicroTime{}.OpenAPIModelName()}, } } @@ -18696,7 +19077,7 @@ func schema_k8sio_api_core_v1_FlexPersistentVolumeSource(ref common.ReferenceCal "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef is Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.", - Ref: ref("k8s.io/api/core/v1.SecretReference"), + Ref: ref(v1.SecretReference{}.OpenAPIModelName()), }, }, "readOnly": { @@ -18727,7 +19108,7 @@ func schema_k8sio_api_core_v1_FlexPersistentVolumeSource(ref common.ReferenceCal }, }, Dependencies: []string{ - "k8s.io/api/core/v1.SecretReference"}, + v1.SecretReference{}.OpenAPIModelName()}, } } @@ -18756,7 +19137,7 @@ func schema_k8sio_api_core_v1_FlexVolumeSource(ref common.ReferenceCallback) com "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.", - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Ref: ref(v1.LocalObjectReference{}.OpenAPIModelName()), }, }, "readOnly": { @@ -18787,7 +19168,7 @@ func schema_k8sio_api_core_v1_FlexVolumeSource(ref common.ReferenceCallback) com }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference"}, + v1.LocalObjectReference{}.OpenAPIModelName()}, } } @@ -19025,7 +19406,7 @@ func schema_k8sio_api_core_v1_HTTPGetAction(ref common.ReferenceCallback) common "port": { SchemaProps: spec.SchemaProps{ Description: "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", - Ref: ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"), + Ref: ref(intstr.IntOrString{}.OpenAPIModelName()), }, }, "host": { @@ -19056,7 +19437,7 @@ func schema_k8sio_api_core_v1_HTTPGetAction(ref common.ReferenceCallback) common Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.HTTPHeader"), + Ref: ref(v1.HTTPHeader{}.OpenAPIModelName()), }, }, }, @@ -19067,7 +19448,7 @@ func schema_k8sio_api_core_v1_HTTPGetAction(ref common.ReferenceCallback) common }, }, Dependencies: []string{ - "k8s.io/api/core/v1.HTTPHeader", "k8s.io/apimachinery/pkg/util/intstr.IntOrString"}, + v1.HTTPHeader{}.OpenAPIModelName(), intstr.IntOrString{}.OpenAPIModelName()}, } } @@ -19285,7 +19666,7 @@ func schema_k8sio_api_core_v1_ISCSIPersistentVolumeSource(ref common.ReferenceCa "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef is the CHAP Secret for iSCSI target and initiator authentication", - Ref: ref("k8s.io/api/core/v1.SecretReference"), + Ref: ref(v1.SecretReference{}.OpenAPIModelName()), }, }, "initiatorName": { @@ -19300,7 +19681,7 @@ func schema_k8sio_api_core_v1_ISCSIPersistentVolumeSource(ref common.ReferenceCa }, }, Dependencies: []string{ - "k8s.io/api/core/v1.SecretReference"}, + v1.SecretReference{}.OpenAPIModelName()}, } } @@ -19394,7 +19775,7 @@ func schema_k8sio_api_core_v1_ISCSIVolumeSource(ref common.ReferenceCallback) co "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef is the CHAP Secret for iSCSI target and initiator authentication", - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Ref: ref(v1.LocalObjectReference{}.OpenAPIModelName()), }, }, "initiatorName": { @@ -19409,7 +19790,7 @@ func schema_k8sio_api_core_v1_ISCSIVolumeSource(ref common.ReferenceCallback) co }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference"}, + v1.LocalObjectReference{}.OpenAPIModelName()}, } } @@ -19488,13 +19869,13 @@ func schema_k8sio_api_core_v1_Lifecycle(ref common.ReferenceCallback) common.Ope "postStart": { SchemaProps: spec.SchemaProps{ Description: "PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks", - Ref: ref("k8s.io/api/core/v1.LifecycleHandler"), + Ref: ref(v1.LifecycleHandler{}.OpenAPIModelName()), }, }, "preStop": { SchemaProps: spec.SchemaProps{ Description: "PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks", - Ref: ref("k8s.io/api/core/v1.LifecycleHandler"), + Ref: ref(v1.LifecycleHandler{}.OpenAPIModelName()), }, }, "stopSignal": { @@ -19509,7 +19890,7 @@ func schema_k8sio_api_core_v1_Lifecycle(ref common.ReferenceCallback) common.Ope }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LifecycleHandler"}, + v1.LifecycleHandler{}.OpenAPIModelName()}, } } @@ -19523,32 +19904,32 @@ func schema_k8sio_api_core_v1_LifecycleHandler(ref common.ReferenceCallback) com "exec": { SchemaProps: spec.SchemaProps{ Description: "Exec specifies a command to execute in the container.", - Ref: ref("k8s.io/api/core/v1.ExecAction"), + Ref: ref(v1.ExecAction{}.OpenAPIModelName()), }, }, "httpGet": { SchemaProps: spec.SchemaProps{ Description: "HTTPGet specifies an HTTP GET request to perform.", - Ref: ref("k8s.io/api/core/v1.HTTPGetAction"), + Ref: ref(v1.HTTPGetAction{}.OpenAPIModelName()), }, }, "tcpSocket": { SchemaProps: spec.SchemaProps{ Description: "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for backward compatibility. There is no validation of this field and lifecycle hooks will fail at runtime when it is specified.", - Ref: ref("k8s.io/api/core/v1.TCPSocketAction"), + Ref: ref(v1.TCPSocketAction{}.OpenAPIModelName()), }, }, "sleep": { SchemaProps: spec.SchemaProps{ Description: "Sleep represents a duration that the container should sleep.", - Ref: ref("k8s.io/api/core/v1.SleepAction"), + Ref: ref(v1.SleepAction{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ExecAction", "k8s.io/api/core/v1.HTTPGetAction", "k8s.io/api/core/v1.SleepAction", "k8s.io/api/core/v1.TCPSocketAction"}, + v1.ExecAction{}.OpenAPIModelName(), v1.HTTPGetAction{}.OpenAPIModelName(), v1.SleepAction{}.OpenAPIModelName(), v1.TCPSocketAction{}.OpenAPIModelName()}, } } @@ -19577,21 +19958,21 @@ func schema_k8sio_api_core_v1_LimitRange(ref common.ReferenceCallback) common.Op SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "Spec defines the limits enforced. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.LimitRangeSpec"), + Ref: ref(v1.LimitRangeSpec{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LimitRangeSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.LimitRangeSpec{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -19714,7 +20095,7 @@ func schema_k8sio_api_core_v1_LimitRangeList(ref common.ReferenceCallback) commo SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -19725,7 +20106,7 @@ func schema_k8sio_api_core_v1_LimitRangeList(ref common.ReferenceCallback) commo Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.LimitRange"), + Ref: ref(v1.LimitRange{}.OpenAPIModelName()), }, }, }, @@ -19736,7 +20117,7 @@ func schema_k8sio_api_core_v1_LimitRangeList(ref common.ReferenceCallback) commo }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LimitRange", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.LimitRange{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -19760,7 +20141,7 @@ func schema_k8sio_api_core_v1_LimitRangeSpec(ref common.ReferenceCallback) commo Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.LimitRangeItem"), + Ref: ref(v1.LimitRangeItem{}.OpenAPIModelName()), }, }, }, @@ -19771,7 +20152,7 @@ func schema_k8sio_api_core_v1_LimitRangeSpec(ref common.ReferenceCallback) commo }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LimitRangeItem"}, + v1.LimitRangeItem{}.OpenAPIModelName()}, } } @@ -19850,7 +20231,7 @@ func schema_k8sio_api_core_v1_List(ref common.ReferenceCallback) common.OpenAPID SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -19860,7 +20241,7 @@ func schema_k8sio_api_core_v1_List(ref common.ReferenceCallback) common.OpenAPID Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + Ref: ref(runtime.RawExtension{}.OpenAPIModelName()), }, }, }, @@ -19871,7 +20252,7 @@ func schema_k8sio_api_core_v1_List(ref common.ReferenceCallback) common.OpenAPID }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "k8s.io/apimachinery/pkg/runtime.RawExtension"}, + metav1.ListMeta{}.OpenAPIModelName(), runtime.RawExtension{}.OpenAPIModelName()}, } } @@ -19916,7 +20297,7 @@ func schema_k8sio_api_core_v1_LoadBalancerIngress(ref common.ReferenceCallback) Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PortStatus"), + Ref: ref(v1.PortStatus{}.OpenAPIModelName()), }, }, }, @@ -19926,7 +20307,7 @@ func schema_k8sio_api_core_v1_LoadBalancerIngress(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PortStatus"}, + v1.PortStatus{}.OpenAPIModelName()}, } } @@ -19950,7 +20331,7 @@ func schema_k8sio_api_core_v1_LoadBalancerStatus(ref common.ReferenceCallback) c Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.LoadBalancerIngress"), + Ref: ref(v1.LoadBalancerIngress{}.OpenAPIModelName()), }, }, }, @@ -19960,7 +20341,7 @@ func schema_k8sio_api_core_v1_LoadBalancerStatus(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LoadBalancerIngress"}, + v1.LoadBalancerIngress{}.OpenAPIModelName()}, } } @@ -20111,28 +20492,28 @@ func schema_k8sio_api_core_v1_Namespace(ref common.ReferenceCallback) common.Ope SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "Spec defines the behavior of the Namespace. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NamespaceSpec"), + Ref: ref(v1.NamespaceSpec{}.OpenAPIModelName()), }, }, "status": { SchemaProps: spec.SchemaProps{ Description: "Status describes the current status of a Namespace. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NamespaceStatus"), + Ref: ref(v1.NamespaceStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NamespaceSpec", "k8s.io/api/core/v1.NamespaceStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.NamespaceSpec{}.OpenAPIModelName(), v1.NamespaceStatus{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -20162,7 +20543,7 @@ func schema_k8sio_api_core_v1_NamespaceCondition(ref common.ReferenceCallback) c "lastTransitionTime": { SchemaProps: spec.SchemaProps{ Description: "Last time the condition transitioned from one status to another.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "reason": { @@ -20184,7 +20565,7 @@ func schema_k8sio_api_core_v1_NamespaceCondition(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -20213,7 +20594,7 @@ func schema_k8sio_api_core_v1_NamespaceList(ref common.ReferenceCallback) common SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -20224,7 +20605,7 @@ func schema_k8sio_api_core_v1_NamespaceList(ref common.ReferenceCallback) common Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Namespace"), + Ref: ref(v1.Namespace{}.OpenAPIModelName()), }, }, }, @@ -20235,7 +20616,7 @@ func schema_k8sio_api_core_v1_NamespaceList(ref common.ReferenceCallback) common }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Namespace", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.Namespace{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -20305,7 +20686,7 @@ func schema_k8sio_api_core_v1_NamespaceStatus(ref common.ReferenceCallback) comm Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NamespaceCondition"), + Ref: ref(v1.NamespaceCondition{}.OpenAPIModelName()), }, }, }, @@ -20315,7 +20696,7 @@ func schema_k8sio_api_core_v1_NamespaceStatus(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NamespaceCondition"}, + v1.NamespaceCondition{}.OpenAPIModelName()}, } } @@ -20344,28 +20725,28 @@ func schema_k8sio_api_core_v1_Node(ref common.ReferenceCallback) common.OpenAPID SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "Spec defines the behavior of a node. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NodeSpec"), + Ref: ref(v1.NodeSpec{}.OpenAPIModelName()), }, }, "status": { SchemaProps: spec.SchemaProps{ Description: "Most recently observed status of the node. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NodeStatus"), + Ref: ref(v1.NodeStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NodeSpec", "k8s.io/api/core/v1.NodeStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.NodeSpec{}.OpenAPIModelName(), v1.NodeStatus{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -20409,7 +20790,7 @@ func schema_k8sio_api_core_v1_NodeAffinity(ref common.ReferenceCallback) common. "requiredDuringSchedulingIgnoredDuringExecution": { SchemaProps: spec.SchemaProps{ Description: "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.", - Ref: ref("k8s.io/api/core/v1.NodeSelector"), + Ref: ref(v1.NodeSelector{}.OpenAPIModelName()), }, }, "preferredDuringSchedulingIgnoredDuringExecution": { @@ -20425,7 +20806,7 @@ func schema_k8sio_api_core_v1_NodeAffinity(ref common.ReferenceCallback) common. Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PreferredSchedulingTerm"), + Ref: ref(v1.PreferredSchedulingTerm{}.OpenAPIModelName()), }, }, }, @@ -20435,7 +20816,7 @@ func schema_k8sio_api_core_v1_NodeAffinity(ref common.ReferenceCallback) common. }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NodeSelector", "k8s.io/api/core/v1.PreferredSchedulingTerm"}, + v1.NodeSelector{}.OpenAPIModelName(), v1.PreferredSchedulingTerm{}.OpenAPIModelName()}, } } @@ -20465,13 +20846,13 @@ func schema_k8sio_api_core_v1_NodeCondition(ref common.ReferenceCallback) common "lastHeartbeatTime": { SchemaProps: spec.SchemaProps{ Description: "Last time we got an update on a given condition.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "lastTransitionTime": { SchemaProps: spec.SchemaProps{ Description: "Last time the condition transit from one status to another.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "reason": { @@ -20493,7 +20874,7 @@ func schema_k8sio_api_core_v1_NodeCondition(ref common.ReferenceCallback) common }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -20507,14 +20888,14 @@ func schema_k8sio_api_core_v1_NodeConfigSource(ref common.ReferenceCallback) com "configMap": { SchemaProps: spec.SchemaProps{ Description: "ConfigMap is a reference to a Node's ConfigMap", - Ref: ref("k8s.io/api/core/v1.ConfigMapNodeConfigSource"), + Ref: ref(v1.ConfigMapNodeConfigSource{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ConfigMapNodeConfigSource"}, + v1.ConfigMapNodeConfigSource{}.OpenAPIModelName()}, } } @@ -20528,19 +20909,19 @@ func schema_k8sio_api_core_v1_NodeConfigStatus(ref common.ReferenceCallback) com "assigned": { SchemaProps: spec.SchemaProps{ Description: "Assigned reports the checkpointed config the node will try to use. When Node.Spec.ConfigSource is updated, the node checkpoints the associated config payload to local disk, along with a record indicating intended config. The node refers to this record to choose its config checkpoint, and reports this record in Assigned. Assigned only updates in the status after the record has been checkpointed to disk. When the Kubelet is restarted, it tries to make the Assigned config the Active config by loading and validating the checkpointed payload identified by Assigned.", - Ref: ref("k8s.io/api/core/v1.NodeConfigSource"), + Ref: ref(v1.NodeConfigSource{}.OpenAPIModelName()), }, }, "active": { SchemaProps: spec.SchemaProps{ Description: "Active reports the checkpointed config the node is actively using. Active will represent either the current version of the Assigned config, or the current LastKnownGood config, depending on whether attempting to use the Assigned config results in an error.", - Ref: ref("k8s.io/api/core/v1.NodeConfigSource"), + Ref: ref(v1.NodeConfigSource{}.OpenAPIModelName()), }, }, "lastKnownGood": { SchemaProps: spec.SchemaProps{ Description: "LastKnownGood reports the checkpointed config the node will fall back to when it encounters an error attempting to use the Assigned config. The Assigned config becomes the LastKnownGood config when the node determines that the Assigned config is stable and correct. This is currently implemented as a 10-minute soak period starting when the local record of Assigned config is updated. If the Assigned config is Active at the end of this period, it becomes the LastKnownGood. Note that if Spec.ConfigSource is reset to nil (use local defaults), the LastKnownGood is also immediately reset to nil, because the local default config is always assumed good. You should not make assumptions about the node's method of determining config stability and correctness, as this may change or become configurable in the future.", - Ref: ref("k8s.io/api/core/v1.NodeConfigSource"), + Ref: ref(v1.NodeConfigSource{}.OpenAPIModelName()), }, }, "error": { @@ -20554,7 +20935,7 @@ func schema_k8sio_api_core_v1_NodeConfigStatus(ref common.ReferenceCallback) com }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NodeConfigSource"}, + v1.NodeConfigSource{}.OpenAPIModelName()}, } } @@ -20569,14 +20950,14 @@ func schema_k8sio_api_core_v1_NodeDaemonEndpoints(ref common.ReferenceCallback) SchemaProps: spec.SchemaProps{ Description: "Endpoint on which Kubelet is listening.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.DaemonEndpoint"), + Ref: ref(v1.DaemonEndpoint{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.DaemonEndpoint"}, + v1.DaemonEndpoint{}.OpenAPIModelName()}, } } @@ -20625,7 +21006,7 @@ func schema_k8sio_api_core_v1_NodeList(ref common.ReferenceCallback) common.Open SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -20636,7 +21017,7 @@ func schema_k8sio_api_core_v1_NodeList(ref common.ReferenceCallback) common.Open Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Node"), + Ref: ref(v1.Node{}.OpenAPIModelName()), }, }, }, @@ -20647,7 +21028,7 @@ func schema_k8sio_api_core_v1_NodeList(ref common.ReferenceCallback) common.Open }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Node", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.Node{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -20703,14 +21084,14 @@ func schema_k8sio_api_core_v1_NodeRuntimeHandler(ref common.ReferenceCallback) c "features": { SchemaProps: spec.SchemaProps{ Description: "Supported features.", - Ref: ref("k8s.io/api/core/v1.NodeRuntimeHandlerFeatures"), + Ref: ref(v1.NodeRuntimeHandlerFeatures{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NodeRuntimeHandlerFeatures"}, + v1.NodeRuntimeHandlerFeatures{}.OpenAPIModelName()}, } } @@ -20761,7 +21142,7 @@ func schema_k8sio_api_core_v1_NodeSelector(ref common.ReferenceCallback) common. Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NodeSelectorTerm"), + Ref: ref(v1.NodeSelectorTerm{}.OpenAPIModelName()), }, }, }, @@ -20777,7 +21158,7 @@ func schema_k8sio_api_core_v1_NodeSelector(ref common.ReferenceCallback) common. }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NodeSelectorTerm"}, + v1.NodeSelectorTerm{}.OpenAPIModelName()}, } } @@ -20852,7 +21233,7 @@ func schema_k8sio_api_core_v1_NodeSelectorTerm(ref common.ReferenceCallback) com Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NodeSelectorRequirement"), + Ref: ref(v1.NodeSelectorRequirement{}.OpenAPIModelName()), }, }, }, @@ -20871,7 +21252,7 @@ func schema_k8sio_api_core_v1_NodeSelectorTerm(ref common.ReferenceCallback) com Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NodeSelectorRequirement"), + Ref: ref(v1.NodeSelectorRequirement{}.OpenAPIModelName()), }, }, }, @@ -20886,7 +21267,7 @@ func schema_k8sio_api_core_v1_NodeSelectorTerm(ref common.ReferenceCallback) com }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NodeSelectorRequirement"}, + v1.NodeSelectorRequirement{}.OpenAPIModelName()}, } } @@ -20952,7 +21333,7 @@ func schema_k8sio_api_core_v1_NodeSpec(ref common.ReferenceCallback) common.Open Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Taint"), + Ref: ref(v1.Taint{}.OpenAPIModelName()), }, }, }, @@ -20961,7 +21342,7 @@ func schema_k8sio_api_core_v1_NodeSpec(ref common.ReferenceCallback) common.Open "configSource": { SchemaProps: spec.SchemaProps{ Description: "Deprecated: Previously used to specify the source of the node's configuration for the DynamicKubeletConfig feature. This feature is removed.", - Ref: ref("k8s.io/api/core/v1.NodeConfigSource"), + Ref: ref(v1.NodeConfigSource{}.OpenAPIModelName()), }, }, "externalID": { @@ -20975,7 +21356,7 @@ func schema_k8sio_api_core_v1_NodeSpec(ref common.ReferenceCallback) common.Open }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NodeConfigSource", "k8s.io/api/core/v1.Taint"}, + v1.NodeConfigSource{}.OpenAPIModelName(), v1.Taint{}.OpenAPIModelName()}, } } @@ -21040,7 +21421,7 @@ func schema_k8sio_api_core_v1_NodeStatus(ref common.ReferenceCallback) common.Op Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NodeCondition"), + Ref: ref(v1.NodeCondition{}.OpenAPIModelName()), }, }, }, @@ -21064,7 +21445,7 @@ func schema_k8sio_api_core_v1_NodeStatus(ref common.ReferenceCallback) common.Op Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NodeAddress"), + Ref: ref(v1.NodeAddress{}.OpenAPIModelName()), }, }, }, @@ -21074,14 +21455,14 @@ func schema_k8sio_api_core_v1_NodeStatus(ref common.ReferenceCallback) common.Op SchemaProps: spec.SchemaProps{ Description: "Endpoints of daemons running on the Node.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NodeDaemonEndpoints"), + Ref: ref(v1.NodeDaemonEndpoints{}.OpenAPIModelName()), }, }, "nodeInfo": { SchemaProps: spec.SchemaProps{ Description: "Set of ids/uuids to uniquely identify the node. More info: https://kubernetes.io/docs/reference/node/node-status/#info", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NodeSystemInfo"), + Ref: ref(v1.NodeSystemInfo{}.OpenAPIModelName()), }, }, "images": { @@ -21097,7 +21478,7 @@ func schema_k8sio_api_core_v1_NodeStatus(ref common.ReferenceCallback) common.Op Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerImage"), + Ref: ref(v1.ContainerImage{}.OpenAPIModelName()), }, }, }, @@ -21136,7 +21517,7 @@ func schema_k8sio_api_core_v1_NodeStatus(ref common.ReferenceCallback) common.Op Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.AttachedVolume"), + Ref: ref(v1.AttachedVolume{}.OpenAPIModelName()), }, }, }, @@ -21145,7 +21526,7 @@ func schema_k8sio_api_core_v1_NodeStatus(ref common.ReferenceCallback) common.Op "config": { SchemaProps: spec.SchemaProps{ Description: "Status of the config assigned to the node via the dynamic Kubelet config feature.", - Ref: ref("k8s.io/api/core/v1.NodeConfigStatus"), + Ref: ref(v1.NodeConfigStatus{}.OpenAPIModelName()), }, }, "runtimeHandlers": { @@ -21161,7 +21542,7 @@ func schema_k8sio_api_core_v1_NodeStatus(ref common.ReferenceCallback) common.Op Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NodeRuntimeHandler"), + Ref: ref(v1.NodeRuntimeHandler{}.OpenAPIModelName()), }, }, }, @@ -21170,14 +21551,34 @@ func schema_k8sio_api_core_v1_NodeStatus(ref common.ReferenceCallback) common.Op "features": { SchemaProps: spec.SchemaProps{ Description: "Features describes the set of features implemented by the CRI implementation.", - Ref: ref("k8s.io/api/core/v1.NodeFeatures"), + Ref: ref(v1.NodeFeatures{}.OpenAPIModelName()), + }, + }, + "declaredFeatures": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-type": "atomic", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "DeclaredFeatures represents the features related to feature gates that are declared by the node.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.AttachedVolume", "k8s.io/api/core/v1.ContainerImage", "k8s.io/api/core/v1.NodeAddress", "k8s.io/api/core/v1.NodeCondition", "k8s.io/api/core/v1.NodeConfigStatus", "k8s.io/api/core/v1.NodeDaemonEndpoints", "k8s.io/api/core/v1.NodeFeatures", "k8s.io/api/core/v1.NodeRuntimeHandler", "k8s.io/api/core/v1.NodeSystemInfo", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + v1.AttachedVolume{}.OpenAPIModelName(), v1.ContainerImage{}.OpenAPIModelName(), v1.NodeAddress{}.OpenAPIModelName(), v1.NodeCondition{}.OpenAPIModelName(), v1.NodeConfigStatus{}.OpenAPIModelName(), v1.NodeDaemonEndpoints{}.OpenAPIModelName(), v1.NodeFeatures{}.OpenAPIModelName(), v1.NodeRuntimeHandler{}.OpenAPIModelName(), v1.NodeSystemInfo{}.OpenAPIModelName(), "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } @@ -21291,7 +21692,7 @@ func schema_k8sio_api_core_v1_NodeSystemInfo(ref common.ReferenceCallback) commo "swap": { SchemaProps: spec.SchemaProps{ Description: "Swap Info reported by the node.", - Ref: ref("k8s.io/api/core/v1.NodeSwapStatus"), + Ref: ref(v1.NodeSwapStatus{}.OpenAPIModelName()), }, }, }, @@ -21299,7 +21700,7 @@ func schema_k8sio_api_core_v1_NodeSystemInfo(ref common.ReferenceCallback) commo }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NodeSwapStatus"}, + v1.NodeSwapStatus{}.OpenAPIModelName()}, } } @@ -21429,28 +21830,28 @@ func schema_k8sio_api_core_v1_PersistentVolume(ref common.ReferenceCallback) com SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "spec defines a specification of a persistent volume owned by the cluster. Provisioned by an administrator. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistent-volumes", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PersistentVolumeSpec"), + Ref: ref(v1.PersistentVolumeSpec{}.OpenAPIModelName()), }, }, "status": { SchemaProps: spec.SchemaProps{ Description: "status represents the current information/status for the persistent volume. Populated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistent-volumes", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PersistentVolumeStatus"), + Ref: ref(v1.PersistentVolumeStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PersistentVolumeSpec", "k8s.io/api/core/v1.PersistentVolumeStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.PersistentVolumeSpec{}.OpenAPIModelName(), v1.PersistentVolumeStatus{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -21479,28 +21880,28 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaim(ref common.ReferenceCallback SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PersistentVolumeClaimSpec"), + Ref: ref(v1.PersistentVolumeClaimSpec{}.OpenAPIModelName()), }, }, "status": { SchemaProps: spec.SchemaProps{ Description: "status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PersistentVolumeClaimStatus"), + Ref: ref(v1.PersistentVolumeClaimStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "k8s.io/api/core/v1.PersistentVolumeClaimStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.PersistentVolumeClaimSpec{}.OpenAPIModelName(), v1.PersistentVolumeClaimStatus{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -21530,13 +21931,13 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimCondition(ref common.Referenc "lastProbeTime": { SchemaProps: spec.SchemaProps{ Description: "lastProbeTime is the time we probed the condition.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "lastTransitionTime": { SchemaProps: spec.SchemaProps{ Description: "lastTransitionTime is the time the condition transitioned from one status to another.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "reason": { @@ -21558,7 +21959,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimCondition(ref common.Referenc }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -21587,7 +21988,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimList(ref common.ReferenceCall SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -21598,7 +21999,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimList(ref common.ReferenceCall Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PersistentVolumeClaim"), + Ref: ref(v1.PersistentVolumeClaim{}.OpenAPIModelName()), }, }, }, @@ -21609,7 +22010,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimList(ref common.ReferenceCall }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PersistentVolumeClaim", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.PersistentVolumeClaim{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -21644,14 +22045,14 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimSpec(ref common.ReferenceCall "selector": { SchemaProps: spec.SchemaProps{ Description: "selector is a label query over volumes to consider for binding.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), + Ref: ref(metav1.LabelSelector{}.OpenAPIModelName()), }, }, "resources": { SchemaProps: spec.SchemaProps{ - Description: "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources", + Description: "resources represents the minimum resources the volume should have. Users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.VolumeResourceRequirements"), + Ref: ref(v1.VolumeResourceRequirements{}.OpenAPIModelName()), }, }, "volumeName": { @@ -21679,13 +22080,13 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimSpec(ref common.ReferenceCall "dataSource": { SchemaProps: spec.SchemaProps{ Description: "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.", - Ref: ref("k8s.io/api/core/v1.TypedLocalObjectReference"), + Ref: ref(v1.TypedLocalObjectReference{}.OpenAPIModelName()), }, }, "dataSourceRef": { SchemaProps: spec.SchemaProps{ Description: "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.", - Ref: ref("k8s.io/api/core/v1.TypedObjectReference"), + Ref: ref(v1.TypedObjectReference{}.OpenAPIModelName()), }, }, "volumeAttributesClassName": { @@ -21699,7 +22100,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimSpec(ref common.ReferenceCall }, }, Dependencies: []string{ - "k8s.io/api/core/v1.TypedLocalObjectReference", "k8s.io/api/core/v1.TypedObjectReference", "k8s.io/api/core/v1.VolumeResourceRequirements", "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"}, + v1.TypedLocalObjectReference{}.OpenAPIModelName(), v1.TypedObjectReference{}.OpenAPIModelName(), v1.VolumeResourceRequirements{}.OpenAPIModelName(), metav1.LabelSelector{}.OpenAPIModelName()}, } } @@ -21771,7 +22172,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimStatus(ref common.ReferenceCa Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PersistentVolumeClaimCondition"), + Ref: ref(v1.PersistentVolumeClaimCondition{}.OpenAPIModelName()), }, }, }, @@ -21779,7 +22180,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimStatus(ref common.ReferenceCa }, "allocatedResources": { SchemaProps: spec.SchemaProps{ - Description: "allocatedResources tracks the resources allocated to a PVC including its capacity. Key names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used.\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity.\n\nA controller that receives PVC update with previously unknown resourceName should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.", + Description: "allocatedResources tracks the resources allocated to a PVC including its capacity. Key names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used.\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity.\n\nA controller that receives PVC update with previously unknown resourceName should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC.", Type: []string{"object"}, AdditionalProperties: &spec.SchemaOrBool{ Allows: true, @@ -21798,7 +22199,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimStatus(ref common.ReferenceCa }, }, SchemaProps: spec.SchemaProps{ - Description: "allocatedResourceStatuses stores status of resource being resized for the given PVC. Key names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used.\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.", + Description: "allocatedResourceStatuses stores status of resource being resized for the given PVC. Key names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used.\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC.", Type: []string{"object"}, AdditionalProperties: &spec.SchemaOrBool{ Allows: true, @@ -21823,14 +22224,14 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimStatus(ref common.ReferenceCa "modifyVolumeStatus": { SchemaProps: spec.SchemaProps{ Description: "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted.", - Ref: ref("k8s.io/api/core/v1.ModifyVolumeStatus"), + Ref: ref(v1.ModifyVolumeStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ModifyVolumeStatus", "k8s.io/api/core/v1.PersistentVolumeClaimCondition", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + v1.ModifyVolumeStatus{}.OpenAPIModelName(), v1.PersistentVolumeClaimCondition{}.OpenAPIModelName(), "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } @@ -21845,14 +22246,14 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimTemplate(ref common.Reference SchemaProps: spec.SchemaProps{ Description: "May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PersistentVolumeClaimSpec"), + Ref: ref(v1.PersistentVolumeClaimSpec{}.OpenAPIModelName()), }, }, }, @@ -21860,7 +22261,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeClaimTemplate(ref common.Reference }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.PersistentVolumeClaimSpec{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -21918,7 +22319,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeList(ref common.ReferenceCallback) SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -21929,7 +22330,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeList(ref common.ReferenceCallback) Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PersistentVolume"), + Ref: ref(v1.PersistentVolume{}.OpenAPIModelName()), }, }, }, @@ -21940,7 +22341,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeList(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PersistentVolume", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.PersistentVolume{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -21954,140 +22355,140 @@ func schema_k8sio_api_core_v1_PersistentVolumeSource(ref common.ReferenceCallbac "gcePersistentDisk": { SchemaProps: spec.SchemaProps{ Description: "gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk", - Ref: ref("k8s.io/api/core/v1.GCEPersistentDiskVolumeSource"), + Ref: ref(v1.GCEPersistentDiskVolumeSource{}.OpenAPIModelName()), }, }, "awsElasticBlockStore": { SchemaProps: spec.SchemaProps{ Description: "awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore", - Ref: ref("k8s.io/api/core/v1.AWSElasticBlockStoreVolumeSource"), + Ref: ref(v1.AWSElasticBlockStoreVolumeSource{}.OpenAPIModelName()), }, }, "hostPath": { SchemaProps: spec.SchemaProps{ Description: "hostPath represents a directory on the host. Provisioned by a developer or tester. This is useful for single-node development and testing only! On-host storage is not supported in any way and WILL NOT WORK in a multi-node cluster. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath", - Ref: ref("k8s.io/api/core/v1.HostPathVolumeSource"), + Ref: ref(v1.HostPathVolumeSource{}.OpenAPIModelName()), }, }, "glusterfs": { SchemaProps: spec.SchemaProps{ Description: "glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported. More info: https://examples.k8s.io/volumes/glusterfs/README.md", - Ref: ref("k8s.io/api/core/v1.GlusterfsPersistentVolumeSource"), + Ref: ref(v1.GlusterfsPersistentVolumeSource{}.OpenAPIModelName()), }, }, "nfs": { SchemaProps: spec.SchemaProps{ Description: "nfs represents an NFS mount on the host. Provisioned by an admin. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs", - Ref: ref("k8s.io/api/core/v1.NFSVolumeSource"), + Ref: ref(v1.NFSVolumeSource{}.OpenAPIModelName()), }, }, "rbd": { SchemaProps: spec.SchemaProps{ Description: "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported. More info: https://examples.k8s.io/volumes/rbd/README.md", - Ref: ref("k8s.io/api/core/v1.RBDPersistentVolumeSource"), + Ref: ref(v1.RBDPersistentVolumeSource{}.OpenAPIModelName()), }, }, "iscsi": { SchemaProps: spec.SchemaProps{ Description: "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin.", - Ref: ref("k8s.io/api/core/v1.ISCSIPersistentVolumeSource"), + Ref: ref(v1.ISCSIPersistentVolumeSource{}.OpenAPIModelName()), }, }, "cinder": { SchemaProps: spec.SchemaProps{ Description: "cinder represents a cinder volume attached and mounted on kubelets host machine. Deprecated: Cinder is deprecated. All operations for the in-tree cinder type are redirected to the cinder.csi.openstack.org CSI driver. More info: https://examples.k8s.io/mysql-cinder-pd/README.md", - Ref: ref("k8s.io/api/core/v1.CinderPersistentVolumeSource"), + Ref: ref(v1.CinderPersistentVolumeSource{}.OpenAPIModelName()), }, }, "cephfs": { SchemaProps: spec.SchemaProps{ Description: "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime. Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.CephFSPersistentVolumeSource"), + Ref: ref(v1.CephFSPersistentVolumeSource{}.OpenAPIModelName()), }, }, "fc": { SchemaProps: spec.SchemaProps{ Description: "fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.", - Ref: ref("k8s.io/api/core/v1.FCVolumeSource"), + Ref: ref(v1.FCVolumeSource{}.OpenAPIModelName()), }, }, "flocker": { SchemaProps: spec.SchemaProps{ Description: "flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running. Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.FlockerVolumeSource"), + Ref: ref(v1.FlockerVolumeSource{}.OpenAPIModelName()), }, }, "flexVolume": { SchemaProps: spec.SchemaProps{ Description: "flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.", - Ref: ref("k8s.io/api/core/v1.FlexPersistentVolumeSource"), + Ref: ref(v1.FlexPersistentVolumeSource{}.OpenAPIModelName()), }, }, "azureFile": { SchemaProps: spec.SchemaProps{ Description: "azureFile represents an Azure File Service mount on the host and bind mount to the pod. Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type are redirected to the file.csi.azure.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.AzureFilePersistentVolumeSource"), + Ref: ref(v1.AzureFilePersistentVolumeSource{}.OpenAPIModelName()), }, }, "vsphereVolume": { SchemaProps: spec.SchemaProps{ Description: "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine. Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type are redirected to the csi.vsphere.vmware.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.VsphereVirtualDiskVolumeSource"), + Ref: ref(v1.VsphereVirtualDiskVolumeSource{}.OpenAPIModelName()), }, }, "quobyte": { SchemaProps: spec.SchemaProps{ Description: "quobyte represents a Quobyte mount on the host that shares a pod's lifetime. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.QuobyteVolumeSource"), + Ref: ref(v1.QuobyteVolumeSource{}.OpenAPIModelName()), }, }, "azureDisk": { SchemaProps: spec.SchemaProps{ Description: "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type are redirected to the disk.csi.azure.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.AzureDiskVolumeSource"), + Ref: ref(v1.AzureDiskVolumeSource{}.OpenAPIModelName()), }, }, "photonPersistentDisk": { SchemaProps: spec.SchemaProps{ Description: "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.PhotonPersistentDiskVolumeSource"), + Ref: ref(v1.PhotonPersistentDiskVolumeSource{}.OpenAPIModelName()), }, }, "portworxVolume": { SchemaProps: spec.SchemaProps{ Description: "portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate is on.", - Ref: ref("k8s.io/api/core/v1.PortworxVolumeSource"), + Ref: ref(v1.PortworxVolumeSource{}.OpenAPIModelName()), }, }, "scaleIO": { SchemaProps: spec.SchemaProps{ Description: "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.ScaleIOPersistentVolumeSource"), + Ref: ref(v1.ScaleIOPersistentVolumeSource{}.OpenAPIModelName()), }, }, "local": { SchemaProps: spec.SchemaProps{ Description: "local represents directly-attached storage with node affinity", - Ref: ref("k8s.io/api/core/v1.LocalVolumeSource"), + Ref: ref(v1.LocalVolumeSource{}.OpenAPIModelName()), }, }, "storageos": { SchemaProps: spec.SchemaProps{ Description: "storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported. More info: https://examples.k8s.io/volumes/storageos/README.md", - Ref: ref("k8s.io/api/core/v1.StorageOSPersistentVolumeSource"), + Ref: ref(v1.StorageOSPersistentVolumeSource{}.OpenAPIModelName()), }, }, "csi": { SchemaProps: spec.SchemaProps{ Description: "csi represents storage that is handled by an external CSI driver.", - Ref: ref("k8s.io/api/core/v1.CSIPersistentVolumeSource"), + Ref: ref(v1.CSIPersistentVolumeSource{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.AWSElasticBlockStoreVolumeSource", "k8s.io/api/core/v1.AzureDiskVolumeSource", "k8s.io/api/core/v1.AzureFilePersistentVolumeSource", "k8s.io/api/core/v1.CSIPersistentVolumeSource", "k8s.io/api/core/v1.CephFSPersistentVolumeSource", "k8s.io/api/core/v1.CinderPersistentVolumeSource", "k8s.io/api/core/v1.FCVolumeSource", "k8s.io/api/core/v1.FlexPersistentVolumeSource", "k8s.io/api/core/v1.FlockerVolumeSource", "k8s.io/api/core/v1.GCEPersistentDiskVolumeSource", "k8s.io/api/core/v1.GlusterfsPersistentVolumeSource", "k8s.io/api/core/v1.HostPathVolumeSource", "k8s.io/api/core/v1.ISCSIPersistentVolumeSource", "k8s.io/api/core/v1.LocalVolumeSource", "k8s.io/api/core/v1.NFSVolumeSource", "k8s.io/api/core/v1.PhotonPersistentDiskVolumeSource", "k8s.io/api/core/v1.PortworxVolumeSource", "k8s.io/api/core/v1.QuobyteVolumeSource", "k8s.io/api/core/v1.RBDPersistentVolumeSource", "k8s.io/api/core/v1.ScaleIOPersistentVolumeSource", "k8s.io/api/core/v1.StorageOSPersistentVolumeSource", "k8s.io/api/core/v1.VsphereVirtualDiskVolumeSource"}, + v1.AWSElasticBlockStoreVolumeSource{}.OpenAPIModelName(), v1.AzureDiskVolumeSource{}.OpenAPIModelName(), v1.AzureFilePersistentVolumeSource{}.OpenAPIModelName(), v1.CSIPersistentVolumeSource{}.OpenAPIModelName(), v1.CephFSPersistentVolumeSource{}.OpenAPIModelName(), v1.CinderPersistentVolumeSource{}.OpenAPIModelName(), v1.FCVolumeSource{}.OpenAPIModelName(), v1.FlexPersistentVolumeSource{}.OpenAPIModelName(), v1.FlockerVolumeSource{}.OpenAPIModelName(), v1.GCEPersistentDiskVolumeSource{}.OpenAPIModelName(), v1.GlusterfsPersistentVolumeSource{}.OpenAPIModelName(), v1.HostPathVolumeSource{}.OpenAPIModelName(), v1.ISCSIPersistentVolumeSource{}.OpenAPIModelName(), v1.LocalVolumeSource{}.OpenAPIModelName(), v1.NFSVolumeSource{}.OpenAPIModelName(), v1.PhotonPersistentDiskVolumeSource{}.OpenAPIModelName(), v1.PortworxVolumeSource{}.OpenAPIModelName(), v1.QuobyteVolumeSource{}.OpenAPIModelName(), v1.RBDPersistentVolumeSource{}.OpenAPIModelName(), v1.ScaleIOPersistentVolumeSource{}.OpenAPIModelName(), v1.StorageOSPersistentVolumeSource{}.OpenAPIModelName(), v1.VsphereVirtualDiskVolumeSource{}.OpenAPIModelName()}, } } @@ -22115,133 +22516,133 @@ func schema_k8sio_api_core_v1_PersistentVolumeSpec(ref common.ReferenceCallback) "gcePersistentDisk": { SchemaProps: spec.SchemaProps{ Description: "gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk", - Ref: ref("k8s.io/api/core/v1.GCEPersistentDiskVolumeSource"), + Ref: ref(v1.GCEPersistentDiskVolumeSource{}.OpenAPIModelName()), }, }, "awsElasticBlockStore": { SchemaProps: spec.SchemaProps{ Description: "awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore", - Ref: ref("k8s.io/api/core/v1.AWSElasticBlockStoreVolumeSource"), + Ref: ref(v1.AWSElasticBlockStoreVolumeSource{}.OpenAPIModelName()), }, }, "hostPath": { SchemaProps: spec.SchemaProps{ Description: "hostPath represents a directory on the host. Provisioned by a developer or tester. This is useful for single-node development and testing only! On-host storage is not supported in any way and WILL NOT WORK in a multi-node cluster. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath", - Ref: ref("k8s.io/api/core/v1.HostPathVolumeSource"), + Ref: ref(v1.HostPathVolumeSource{}.OpenAPIModelName()), }, }, "glusterfs": { SchemaProps: spec.SchemaProps{ Description: "glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported. More info: https://examples.k8s.io/volumes/glusterfs/README.md", - Ref: ref("k8s.io/api/core/v1.GlusterfsPersistentVolumeSource"), + Ref: ref(v1.GlusterfsPersistentVolumeSource{}.OpenAPIModelName()), }, }, "nfs": { SchemaProps: spec.SchemaProps{ Description: "nfs represents an NFS mount on the host. Provisioned by an admin. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs", - Ref: ref("k8s.io/api/core/v1.NFSVolumeSource"), + Ref: ref(v1.NFSVolumeSource{}.OpenAPIModelName()), }, }, "rbd": { SchemaProps: spec.SchemaProps{ Description: "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported. More info: https://examples.k8s.io/volumes/rbd/README.md", - Ref: ref("k8s.io/api/core/v1.RBDPersistentVolumeSource"), + Ref: ref(v1.RBDPersistentVolumeSource{}.OpenAPIModelName()), }, }, "iscsi": { SchemaProps: spec.SchemaProps{ Description: "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin.", - Ref: ref("k8s.io/api/core/v1.ISCSIPersistentVolumeSource"), + Ref: ref(v1.ISCSIPersistentVolumeSource{}.OpenAPIModelName()), }, }, "cinder": { SchemaProps: spec.SchemaProps{ Description: "cinder represents a cinder volume attached and mounted on kubelets host machine. Deprecated: Cinder is deprecated. All operations for the in-tree cinder type are redirected to the cinder.csi.openstack.org CSI driver. More info: https://examples.k8s.io/mysql-cinder-pd/README.md", - Ref: ref("k8s.io/api/core/v1.CinderPersistentVolumeSource"), + Ref: ref(v1.CinderPersistentVolumeSource{}.OpenAPIModelName()), }, }, "cephfs": { SchemaProps: spec.SchemaProps{ Description: "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime. Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.CephFSPersistentVolumeSource"), + Ref: ref(v1.CephFSPersistentVolumeSource{}.OpenAPIModelName()), }, }, "fc": { SchemaProps: spec.SchemaProps{ Description: "fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.", - Ref: ref("k8s.io/api/core/v1.FCVolumeSource"), + Ref: ref(v1.FCVolumeSource{}.OpenAPIModelName()), }, }, "flocker": { SchemaProps: spec.SchemaProps{ Description: "flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running. Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.FlockerVolumeSource"), + Ref: ref(v1.FlockerVolumeSource{}.OpenAPIModelName()), }, }, "flexVolume": { SchemaProps: spec.SchemaProps{ Description: "flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.", - Ref: ref("k8s.io/api/core/v1.FlexPersistentVolumeSource"), + Ref: ref(v1.FlexPersistentVolumeSource{}.OpenAPIModelName()), }, }, "azureFile": { SchemaProps: spec.SchemaProps{ Description: "azureFile represents an Azure File Service mount on the host and bind mount to the pod. Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type are redirected to the file.csi.azure.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.AzureFilePersistentVolumeSource"), + Ref: ref(v1.AzureFilePersistentVolumeSource{}.OpenAPIModelName()), }, }, "vsphereVolume": { SchemaProps: spec.SchemaProps{ Description: "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine. Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type are redirected to the csi.vsphere.vmware.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.VsphereVirtualDiskVolumeSource"), + Ref: ref(v1.VsphereVirtualDiskVolumeSource{}.OpenAPIModelName()), }, }, "quobyte": { SchemaProps: spec.SchemaProps{ Description: "quobyte represents a Quobyte mount on the host that shares a pod's lifetime. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.QuobyteVolumeSource"), + Ref: ref(v1.QuobyteVolumeSource{}.OpenAPIModelName()), }, }, "azureDisk": { SchemaProps: spec.SchemaProps{ Description: "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type are redirected to the disk.csi.azure.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.AzureDiskVolumeSource"), + Ref: ref(v1.AzureDiskVolumeSource{}.OpenAPIModelName()), }, }, "photonPersistentDisk": { SchemaProps: spec.SchemaProps{ Description: "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.PhotonPersistentDiskVolumeSource"), + Ref: ref(v1.PhotonPersistentDiskVolumeSource{}.OpenAPIModelName()), }, }, "portworxVolume": { SchemaProps: spec.SchemaProps{ Description: "portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate is on.", - Ref: ref("k8s.io/api/core/v1.PortworxVolumeSource"), + Ref: ref(v1.PortworxVolumeSource{}.OpenAPIModelName()), }, }, "scaleIO": { SchemaProps: spec.SchemaProps{ Description: "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.ScaleIOPersistentVolumeSource"), + Ref: ref(v1.ScaleIOPersistentVolumeSource{}.OpenAPIModelName()), }, }, "local": { SchemaProps: spec.SchemaProps{ Description: "local represents directly-attached storage with node affinity", - Ref: ref("k8s.io/api/core/v1.LocalVolumeSource"), + Ref: ref(v1.LocalVolumeSource{}.OpenAPIModelName()), }, }, "storageos": { SchemaProps: spec.SchemaProps{ Description: "storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported. More info: https://examples.k8s.io/volumes/storageos/README.md", - Ref: ref("k8s.io/api/core/v1.StorageOSPersistentVolumeSource"), + Ref: ref(v1.StorageOSPersistentVolumeSource{}.OpenAPIModelName()), }, }, "csi": { SchemaProps: spec.SchemaProps{ Description: "csi represents storage that is handled by an external CSI driver.", - Ref: ref("k8s.io/api/core/v1.CSIPersistentVolumeSource"), + Ref: ref(v1.CSIPersistentVolumeSource{}.OpenAPIModelName()), }, }, "accessModes": { @@ -22273,7 +22674,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeSpec(ref common.ReferenceCallback) }, SchemaProps: spec.SchemaProps{ Description: "claimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName is the authoritative bind between PV and PVC. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#binding", - Ref: ref("k8s.io/api/core/v1.ObjectReference"), + Ref: ref(v1.ObjectReference{}.OpenAPIModelName()), }, }, "persistentVolumeReclaimPolicy": { @@ -22321,8 +22722,8 @@ func schema_k8sio_api_core_v1_PersistentVolumeSpec(ref common.ReferenceCallback) }, "nodeAffinity": { SchemaProps: spec.SchemaProps{ - Description: "nodeAffinity defines constraints that limit what nodes this volume can be accessed from. This field influences the scheduling of pods that use this volume.", - Ref: ref("k8s.io/api/core/v1.VolumeNodeAffinity"), + Description: "nodeAffinity defines constraints that limit what nodes this volume can be accessed from. This field influences the scheduling of pods that use this volume. This field is mutable if MutablePVNodeAffinity feature gate is enabled.", + Ref: ref(v1.VolumeNodeAffinity{}.OpenAPIModelName()), }, }, "volumeAttributesClassName": { @@ -22336,7 +22737,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeSpec(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/core/v1.AWSElasticBlockStoreVolumeSource", "k8s.io/api/core/v1.AzureDiskVolumeSource", "k8s.io/api/core/v1.AzureFilePersistentVolumeSource", "k8s.io/api/core/v1.CSIPersistentVolumeSource", "k8s.io/api/core/v1.CephFSPersistentVolumeSource", "k8s.io/api/core/v1.CinderPersistentVolumeSource", "k8s.io/api/core/v1.FCVolumeSource", "k8s.io/api/core/v1.FlexPersistentVolumeSource", "k8s.io/api/core/v1.FlockerVolumeSource", "k8s.io/api/core/v1.GCEPersistentDiskVolumeSource", "k8s.io/api/core/v1.GlusterfsPersistentVolumeSource", "k8s.io/api/core/v1.HostPathVolumeSource", "k8s.io/api/core/v1.ISCSIPersistentVolumeSource", "k8s.io/api/core/v1.LocalVolumeSource", "k8s.io/api/core/v1.NFSVolumeSource", "k8s.io/api/core/v1.ObjectReference", "k8s.io/api/core/v1.PhotonPersistentDiskVolumeSource", "k8s.io/api/core/v1.PortworxVolumeSource", "k8s.io/api/core/v1.QuobyteVolumeSource", "k8s.io/api/core/v1.RBDPersistentVolumeSource", "k8s.io/api/core/v1.ScaleIOPersistentVolumeSource", "k8s.io/api/core/v1.StorageOSPersistentVolumeSource", "k8s.io/api/core/v1.VolumeNodeAffinity", "k8s.io/api/core/v1.VsphereVirtualDiskVolumeSource", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + v1.AWSElasticBlockStoreVolumeSource{}.OpenAPIModelName(), v1.AzureDiskVolumeSource{}.OpenAPIModelName(), v1.AzureFilePersistentVolumeSource{}.OpenAPIModelName(), v1.CSIPersistentVolumeSource{}.OpenAPIModelName(), v1.CephFSPersistentVolumeSource{}.OpenAPIModelName(), v1.CinderPersistentVolumeSource{}.OpenAPIModelName(), v1.FCVolumeSource{}.OpenAPIModelName(), v1.FlexPersistentVolumeSource{}.OpenAPIModelName(), v1.FlockerVolumeSource{}.OpenAPIModelName(), v1.GCEPersistentDiskVolumeSource{}.OpenAPIModelName(), v1.GlusterfsPersistentVolumeSource{}.OpenAPIModelName(), v1.HostPathVolumeSource{}.OpenAPIModelName(), v1.ISCSIPersistentVolumeSource{}.OpenAPIModelName(), v1.LocalVolumeSource{}.OpenAPIModelName(), v1.NFSVolumeSource{}.OpenAPIModelName(), v1.ObjectReference{}.OpenAPIModelName(), v1.PhotonPersistentDiskVolumeSource{}.OpenAPIModelName(), v1.PortworxVolumeSource{}.OpenAPIModelName(), v1.QuobyteVolumeSource{}.OpenAPIModelName(), v1.RBDPersistentVolumeSource{}.OpenAPIModelName(), v1.ScaleIOPersistentVolumeSource{}.OpenAPIModelName(), v1.StorageOSPersistentVolumeSource{}.OpenAPIModelName(), v1.VolumeNodeAffinity{}.OpenAPIModelName(), v1.VsphereVirtualDiskVolumeSource{}.OpenAPIModelName(), "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } @@ -22372,14 +22773,14 @@ func schema_k8sio_api_core_v1_PersistentVolumeStatus(ref common.ReferenceCallbac "lastPhaseTransitionTime": { SchemaProps: spec.SchemaProps{ Description: "lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -22437,28 +22838,28 @@ func schema_k8sio_api_core_v1_Pod(ref common.ReferenceCallback) common.OpenAPIDe SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodSpec"), + Ref: ref(v1.PodSpec{}.OpenAPIModelName()), }, }, "status": { SchemaProps: spec.SchemaProps{ Description: "Most recently observed status of the pod. This data may not be up to date. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodStatus"), + Ref: ref(v1.PodStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PodSpec", "k8s.io/api/core/v1.PodStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.PodSpec{}.OpenAPIModelName(), v1.PodStatus{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -22482,7 +22883,7 @@ func schema_k8sio_api_core_v1_PodAffinity(ref common.ReferenceCallback) common.O Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodAffinityTerm"), + Ref: ref(v1.PodAffinityTerm{}.OpenAPIModelName()), }, }, }, @@ -22501,7 +22902,7 @@ func schema_k8sio_api_core_v1_PodAffinity(ref common.ReferenceCallback) common.O Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.WeightedPodAffinityTerm"), + Ref: ref(v1.WeightedPodAffinityTerm{}.OpenAPIModelName()), }, }, }, @@ -22511,7 +22912,7 @@ func schema_k8sio_api_core_v1_PodAffinity(ref common.ReferenceCallback) common.O }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PodAffinityTerm", "k8s.io/api/core/v1.WeightedPodAffinityTerm"}, + v1.PodAffinityTerm{}.OpenAPIModelName(), v1.WeightedPodAffinityTerm{}.OpenAPIModelName()}, } } @@ -22525,7 +22926,7 @@ func schema_k8sio_api_core_v1_PodAffinityTerm(ref common.ReferenceCallback) comm "labelSelector": { SchemaProps: spec.SchemaProps{ Description: "A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), + Ref: ref(metav1.LabelSelector{}.OpenAPIModelName()), }, }, "namespaces": { @@ -22559,7 +22960,7 @@ func schema_k8sio_api_core_v1_PodAffinityTerm(ref common.ReferenceCallback) comm "namespaceSelector": { SchemaProps: spec.SchemaProps{ Description: "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), + Ref: ref(metav1.LabelSelector{}.OpenAPIModelName()), }, }, "matchLabelKeys": { @@ -22607,7 +23008,7 @@ func schema_k8sio_api_core_v1_PodAffinityTerm(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"}, + metav1.LabelSelector{}.OpenAPIModelName()}, } } @@ -22631,7 +23032,7 @@ func schema_k8sio_api_core_v1_PodAntiAffinity(ref common.ReferenceCallback) comm Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodAffinityTerm"), + Ref: ref(v1.PodAffinityTerm{}.OpenAPIModelName()), }, }, }, @@ -22650,7 +23051,7 @@ func schema_k8sio_api_core_v1_PodAntiAffinity(ref common.ReferenceCallback) comm Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.WeightedPodAffinityTerm"), + Ref: ref(v1.WeightedPodAffinityTerm{}.OpenAPIModelName()), }, }, }, @@ -22660,7 +23061,7 @@ func schema_k8sio_api_core_v1_PodAntiAffinity(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PodAffinityTerm", "k8s.io/api/core/v1.WeightedPodAffinityTerm"}, + v1.PodAffinityTerm{}.OpenAPIModelName(), v1.WeightedPodAffinityTerm{}.OpenAPIModelName()}, } } @@ -22775,6 +23176,22 @@ func schema_k8sio_api_core_v1_PodCertificateProjection(ref common.ReferenceCallb Format: "", }, }, + "userAnnotations": { + SchemaProps: spec.SchemaProps{ + Description: "userAnnotations allow pod authors to pass additional information to the signer implementation. Kubernetes does not restrict or validate this metadata in any way.\n\nThese values are copied verbatim into the `spec.unverifiedUserAnnotations` field of the PodCertificateRequest objects that Kubelet creates.\n\nEntries are subject to the same validation as object metadata annotations, with the addition that all keys must be domain-prefixed. No restrictions are placed on values, except an overall size limitation on the entire field.\n\nSigners should document the keys and values they support. Signers should deny requests that contain keys they do not recognize.", + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, }, Required: []string{"signerName", "keyType"}, }, @@ -22799,7 +23216,7 @@ func schema_k8sio_api_core_v1_PodCondition(ref common.ReferenceCallback) common. }, "observedGeneration": { SchemaProps: spec.SchemaProps{ - Description: "If set, this represents the .metadata.generation that the pod condition was set based upon. This is an alpha field. Enable PodObservedGenerationTracking to be able to use this field.", + Description: "If set, this represents the .metadata.generation that the pod condition was set based upon. The PodObservedGenerationTracking feature gate must be enabled to use this field.", Type: []string{"integer"}, Format: "int64", }, @@ -22815,13 +23232,13 @@ func schema_k8sio_api_core_v1_PodCondition(ref common.ReferenceCallback) common. "lastProbeTime": { SchemaProps: spec.SchemaProps{ Description: "Last time we probed the condition.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "lastTransitionTime": { SchemaProps: spec.SchemaProps{ Description: "Last time the condition transitioned from one status to another.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "reason": { @@ -22843,7 +23260,7 @@ func schema_k8sio_api_core_v1_PodCondition(ref common.ReferenceCallback) common. }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -22907,7 +23324,7 @@ func schema_k8sio_api_core_v1_PodDNSConfig(ref common.ReferenceCallback) common. Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodDNSConfigOption"), + Ref: ref(v1.PodDNSConfigOption{}.OpenAPIModelName()), }, }, }, @@ -22917,7 +23334,7 @@ func schema_k8sio_api_core_v1_PodDNSConfig(ref common.ReferenceCallback) common. }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PodDNSConfigOption"}, + v1.PodDNSConfigOption{}.OpenAPIModelName()}, } } @@ -23051,7 +23468,7 @@ func schema_k8sio_api_core_v1_PodExtendedResourceClaimStatus(ref common.Referenc Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerExtendedResourceRequest"), + Ref: ref(v1.ContainerExtendedResourceRequest{}.OpenAPIModelName()), }, }, }, @@ -23070,7 +23487,7 @@ func schema_k8sio_api_core_v1_PodExtendedResourceClaimStatus(ref common.Referenc }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ContainerExtendedResourceRequest"}, + v1.ContainerExtendedResourceRequest{}.OpenAPIModelName()}, } } @@ -23121,7 +23538,7 @@ func schema_k8sio_api_core_v1_PodList(ref common.ReferenceCallback) common.OpenA SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -23132,7 +23549,7 @@ func schema_k8sio_api_core_v1_PodList(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Pod"), + Ref: ref(v1.Pod{}.OpenAPIModelName()), }, }, }, @@ -23143,7 +23560,7 @@ func schema_k8sio_api_core_v1_PodList(ref common.ReferenceCallback) common.OpenA }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Pod", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.Pod{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -23199,7 +23616,7 @@ func schema_k8sio_api_core_v1_PodLogOptions(ref common.ReferenceCallback) common "sinceTime": { SchemaProps: spec.SchemaProps{ Description: "An RFC3339 timestamp from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "timestamps": { @@ -23241,7 +23658,7 @@ func schema_k8sio_api_core_v1_PodLogOptions(ref common.ReferenceCallback) common }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -23467,13 +23884,13 @@ func schema_k8sio_api_core_v1_PodSecurityContext(ref common.ReferenceCallback) c "seLinuxOptions": { SchemaProps: spec.SchemaProps{ Description: "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.", - Ref: ref("k8s.io/api/core/v1.SELinuxOptions"), + Ref: ref(v1.SELinuxOptions{}.OpenAPIModelName()), }, }, "windowsOptions": { SchemaProps: spec.SchemaProps{ Description: "The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux.", - Ref: ref("k8s.io/api/core/v1.WindowsSecurityContextOptions"), + Ref: ref(v1.WindowsSecurityContextOptions{}.OpenAPIModelName()), }, }, "runAsUser": { @@ -23545,7 +23962,7 @@ func schema_k8sio_api_core_v1_PodSecurityContext(ref common.ReferenceCallback) c Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Sysctl"), + Ref: ref(v1.Sysctl{}.OpenAPIModelName()), }, }, }, @@ -23562,13 +23979,13 @@ func schema_k8sio_api_core_v1_PodSecurityContext(ref common.ReferenceCallback) c "seccompProfile": { SchemaProps: spec.SchemaProps{ Description: "The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows.", - Ref: ref("k8s.io/api/core/v1.SeccompProfile"), + Ref: ref(v1.SeccompProfile{}.OpenAPIModelName()), }, }, "appArmorProfile": { SchemaProps: spec.SchemaProps{ Description: "appArmorProfile is the AppArmor options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows.", - Ref: ref("k8s.io/api/core/v1.AppArmorProfile"), + Ref: ref(v1.AppArmorProfile{}.OpenAPIModelName()), }, }, "seLinuxChangePolicy": { @@ -23582,7 +23999,7 @@ func schema_k8sio_api_core_v1_PodSecurityContext(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "k8s.io/api/core/v1.AppArmorProfile", "k8s.io/api/core/v1.SELinuxOptions", "k8s.io/api/core/v1.SeccompProfile", "k8s.io/api/core/v1.Sysctl", "k8s.io/api/core/v1.WindowsSecurityContextOptions"}, + v1.AppArmorProfile{}.OpenAPIModelName(), v1.SELinuxOptions{}.OpenAPIModelName(), v1.SeccompProfile{}.OpenAPIModelName(), v1.Sysctl{}.OpenAPIModelName(), v1.WindowsSecurityContextOptions{}.OpenAPIModelName()}, } } @@ -23596,14 +24013,14 @@ func schema_k8sio_api_core_v1_PodSignature(ref common.ReferenceCallback) common. "podController": { SchemaProps: spec.SchemaProps{ Description: "Reference to controller whose pods should avoid this node.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.OwnerReference"), + Ref: ref(metav1.OwnerReference{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.OwnerReference"}, + metav1.OwnerReference{}.OpenAPIModelName()}, } } @@ -23632,7 +24049,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Volume"), + Ref: ref(v1.Volume{}.OpenAPIModelName()), }, }, }, @@ -23656,7 +24073,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Container"), + Ref: ref(v1.Container{}.OpenAPIModelName()), }, }, }, @@ -23680,7 +24097,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Container"), + Ref: ref(v1.Container{}.OpenAPIModelName()), }, }, }, @@ -23704,7 +24121,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.EphemeralContainer"), + Ref: ref(v1.EphemeralContainer{}.OpenAPIModelName()), }, }, }, @@ -23820,7 +24237,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA "securityContext": { SchemaProps: spec.SchemaProps{ Description: "SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.", - Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), + Ref: ref(v1.PodSecurityContext{}.OpenAPIModelName()), }, }, "imagePullSecrets": { @@ -23841,7 +24258,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Ref: ref(v1.LocalObjectReference{}.OpenAPIModelName()), }, }, }, @@ -23864,7 +24281,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA "affinity": { SchemaProps: spec.SchemaProps{ Description: "If specified, the pod's scheduling constraints", - Ref: ref("k8s.io/api/core/v1.Affinity"), + Ref: ref(v1.Affinity{}.OpenAPIModelName()), }, }, "schedulerName": { @@ -23887,7 +24304,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Toleration"), + Ref: ref(v1.Toleration{}.OpenAPIModelName()), }, }, }, @@ -23911,7 +24328,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.HostAlias"), + Ref: ref(v1.HostAlias{}.OpenAPIModelName()), }, }, }, @@ -23934,7 +24351,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA "dnsConfig": { SchemaProps: spec.SchemaProps{ Description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.", - Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), + Ref: ref(v1.PodDNSConfig{}.OpenAPIModelName()), }, }, "readinessGates": { @@ -23950,7 +24367,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodReadinessGate"), + Ref: ref(v1.PodReadinessGate{}.OpenAPIModelName()), }, }, }, @@ -24011,7 +24428,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref(v1.TopologySpreadConstraint{}.OpenAPIModelName()), }, }, }, @@ -24027,7 +24444,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA "os": { SchemaProps: spec.SchemaProps{ Description: "Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set.\n\nIf the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions\n\nIf the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.resources - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.securityContext.supplementalGroupsPolicy - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup", - Ref: ref("k8s.io/api/core/v1.PodOS"), + Ref: ref(v1.PodOS{}.OpenAPIModelName()), }, }, "hostUsers": { @@ -24055,7 +24472,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodSchedulingGate"), + Ref: ref(v1.PodSchedulingGate{}.OpenAPIModelName()), }, }, }, @@ -24073,13 +24490,13 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA }, }, SchemaProps: spec.SchemaProps{ - Description: "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable.", + Description: "ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name.\n\nThis is a stable field but requires that the DynamicResourceAllocation feature gate is enabled.\n\nThis field is immutable.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodResourceClaim"), + Ref: ref(v1.PodResourceClaim{}.OpenAPIModelName()), }, }, }, @@ -24088,7 +24505,7 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA "resources": { SchemaProps: spec.SchemaProps{ Description: "Resources is the total amount of CPU and Memory resources required by all containers in the pod. It supports specifying Requests and Limits for \"cpu\", \"memory\" and \"hugepages-\" resource names only. ResourceClaims are not supported.\n\nThis field enables fine-grained control over resource allocation for the entire pod, allowing resource sharing among containers in a pod.\n\nThis is an alpha field and requires enabling the PodLevelResources feature gate.", - Ref: ref("k8s.io/api/core/v1.ResourceRequirements"), + Ref: ref(v1.ResourceRequirements{}.OpenAPIModelName()), }, }, "hostnameOverride": { @@ -24098,12 +24515,18 @@ func schema_k8sio_api_core_v1_PodSpec(ref common.ReferenceCallback) common.OpenA Format: "", }, }, + "workloadRef": { + SchemaProps: spec.SchemaProps{ + Description: "WorkloadRef provides a reference to the Workload object that this Pod belongs to. This field is used by the scheduler to identify the PodGroup and apply the correct group scheduling policies. The Workload object referenced by this field may not exist at the time the Pod is created. This field is immutable, but a Workload object with the same name may be recreated with different policies. Doing this during pod scheduling may result in the placement not conforming to the expected policies.", + Ref: ref(v1.WorkloadReference{}.OpenAPIModelName()), + }, + }, }, Required: []string{"containers"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EphemeralContainer", "k8s.io/api/core/v1.HostAlias", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodOS", "k8s.io/api/core/v1.PodReadinessGate", "k8s.io/api/core/v1.PodResourceClaim", "k8s.io/api/core/v1.PodSchedulingGate", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + v1.Affinity{}.OpenAPIModelName(), v1.Container{}.OpenAPIModelName(), v1.EphemeralContainer{}.OpenAPIModelName(), v1.HostAlias{}.OpenAPIModelName(), v1.LocalObjectReference{}.OpenAPIModelName(), v1.PodDNSConfig{}.OpenAPIModelName(), v1.PodOS{}.OpenAPIModelName(), v1.PodReadinessGate{}.OpenAPIModelName(), v1.PodResourceClaim{}.OpenAPIModelName(), v1.PodSchedulingGate{}.OpenAPIModelName(), v1.PodSecurityContext{}.OpenAPIModelName(), v1.ResourceRequirements{}.OpenAPIModelName(), v1.Toleration{}.OpenAPIModelName(), v1.TopologySpreadConstraint{}.OpenAPIModelName(), v1.Volume{}.OpenAPIModelName(), v1.WorkloadReference{}.OpenAPIModelName(), "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } @@ -24116,7 +24539,7 @@ func schema_k8sio_api_core_v1_PodStatus(ref common.ReferenceCallback) common.Ope Properties: map[string]spec.Schema{ "observedGeneration": { SchemaProps: spec.SchemaProps{ - Description: "If set, this represents the .metadata.generation that the pod status was set based upon. This is an alpha field. Enable PodObservedGenerationTracking to be able to use this field.", + Description: "If set, this represents the .metadata.generation that the pod status was set based upon. The PodObservedGenerationTracking feature gate must be enabled to use this field.", Type: []string{"integer"}, Format: "int64", }, @@ -24147,7 +24570,7 @@ func schema_k8sio_api_core_v1_PodStatus(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodCondition"), + Ref: ref(v1.PodCondition{}.OpenAPIModelName()), }, }, }, @@ -24196,7 +24619,7 @@ func schema_k8sio_api_core_v1_PodStatus(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.HostIP"), + Ref: ref(v1.HostIP{}.OpenAPIModelName()), }, }, }, @@ -24227,7 +24650,7 @@ func schema_k8sio_api_core_v1_PodStatus(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodIP"), + Ref: ref(v1.PodIP{}.OpenAPIModelName()), }, }, }, @@ -24236,7 +24659,7 @@ func schema_k8sio_api_core_v1_PodStatus(ref common.ReferenceCallback) common.Ope "startTime": { SchemaProps: spec.SchemaProps{ Description: "RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "initContainerStatuses": { @@ -24252,7 +24675,7 @@ func schema_k8sio_api_core_v1_PodStatus(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerStatus"), + Ref: ref(v1.ContainerStatus{}.OpenAPIModelName()), }, }, }, @@ -24271,7 +24694,7 @@ func schema_k8sio_api_core_v1_PodStatus(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerStatus"), + Ref: ref(v1.ContainerStatus{}.OpenAPIModelName()), }, }, }, @@ -24298,7 +24721,7 @@ func schema_k8sio_api_core_v1_PodStatus(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ContainerStatus"), + Ref: ref(v1.ContainerStatus{}.OpenAPIModelName()), }, }, }, @@ -24329,7 +24752,7 @@ func schema_k8sio_api_core_v1_PodStatus(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodResourceClaimStatus"), + Ref: ref(v1.PodResourceClaimStatus{}.OpenAPIModelName()), }, }, }, @@ -24338,14 +24761,34 @@ func schema_k8sio_api_core_v1_PodStatus(ref common.ReferenceCallback) common.Ope "extendedResourceClaimStatus": { SchemaProps: spec.SchemaProps{ Description: "Status of extended resource claim backed by DRA.", - Ref: ref("k8s.io/api/core/v1.PodExtendedResourceClaimStatus"), + Ref: ref(v1.PodExtendedResourceClaimStatus{}.OpenAPIModelName()), + }, + }, + "allocatedResources": { + SchemaProps: spec.SchemaProps{ + Description: "AllocatedResources is the total requests allocated for this pod by the node. If pod-level requests are not set, this will be the total requests aggregated across containers in the pod.", + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + }, + }, + }, + }, + }, + "resources": { + SchemaProps: spec.SchemaProps{ + Description: "Resources represents the compute resource requests and limits that have been applied at the pod level if pod-level requests or limits are set in PodSpec.Resources", + Ref: ref(v1.ResourceRequirements{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ContainerStatus", "k8s.io/api/core/v1.HostIP", "k8s.io/api/core/v1.PodCondition", "k8s.io/api/core/v1.PodExtendedResourceClaimStatus", "k8s.io/api/core/v1.PodIP", "k8s.io/api/core/v1.PodResourceClaimStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + v1.ContainerStatus{}.OpenAPIModelName(), v1.HostIP{}.OpenAPIModelName(), v1.PodCondition{}.OpenAPIModelName(), v1.PodExtendedResourceClaimStatus{}.OpenAPIModelName(), v1.PodIP{}.OpenAPIModelName(), v1.PodResourceClaimStatus{}.OpenAPIModelName(), v1.ResourceRequirements{}.OpenAPIModelName(), "k8s.io/apimachinery/pkg/api/resource.Quantity", metav1.Time{}.OpenAPIModelName()}, } } @@ -24374,21 +24817,21 @@ func schema_k8sio_api_core_v1_PodStatusResult(ref common.ReferenceCallback) comm SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "status": { SchemaProps: spec.SchemaProps{ Description: "Most recently observed status of the pod. This data may not be up to date. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodStatus"), + Ref: ref(v1.PodStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PodStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.PodStatus{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -24417,21 +24860,21 @@ func schema_k8sio_api_core_v1_PodTemplate(ref common.ReferenceCallback) common.O SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "template": { SchemaProps: spec.SchemaProps{ Description: "Template defines the pods that will be created from this pod template. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodTemplateSpec"), + Ref: ref(v1.PodTemplateSpec{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PodTemplateSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.PodTemplateSpec{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -24460,7 +24903,7 @@ func schema_k8sio_api_core_v1_PodTemplateList(ref common.ReferenceCallback) comm SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -24471,7 +24914,7 @@ func schema_k8sio_api_core_v1_PodTemplateList(ref common.ReferenceCallback) comm Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodTemplate"), + Ref: ref(v1.PodTemplate{}.OpenAPIModelName()), }, }, }, @@ -24482,7 +24925,7 @@ func schema_k8sio_api_core_v1_PodTemplateList(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PodTemplate", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.PodTemplate{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -24497,21 +24940,21 @@ func schema_k8sio_api_core_v1_PodTemplateSpec(ref common.ReferenceCallback) comm SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodSpec"), + Ref: ref(v1.PodSpec{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PodSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.PodSpec{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -24600,13 +25043,13 @@ func schema_k8sio_api_core_v1_PreferAvoidPodsEntry(ref common.ReferenceCallback) SchemaProps: spec.SchemaProps{ Description: "The class of pods.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodSignature"), + Ref: ref(v1.PodSignature{}.OpenAPIModelName()), }, }, "evictionTime": { SchemaProps: spec.SchemaProps{ Description: "Time at which this entry was added to the list.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "reason": { @@ -24628,7 +25071,7 @@ func schema_k8sio_api_core_v1_PreferAvoidPodsEntry(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PodSignature", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + v1.PodSignature{}.OpenAPIModelName(), metav1.Time{}.OpenAPIModelName()}, } } @@ -24651,7 +25094,7 @@ func schema_k8sio_api_core_v1_PreferredSchedulingTerm(ref common.ReferenceCallba SchemaProps: spec.SchemaProps{ Description: "A node selector term, associated with the corresponding weight.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.NodeSelectorTerm"), + Ref: ref(v1.NodeSelectorTerm{}.OpenAPIModelName()), }, }, }, @@ -24659,7 +25102,7 @@ func schema_k8sio_api_core_v1_PreferredSchedulingTerm(ref common.ReferenceCallba }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NodeSelectorTerm"}, + v1.NodeSelectorTerm{}.OpenAPIModelName()}, } } @@ -24673,25 +25116,25 @@ func schema_k8sio_api_core_v1_Probe(ref common.ReferenceCallback) common.OpenAPI "exec": { SchemaProps: spec.SchemaProps{ Description: "Exec specifies a command to execute in the container.", - Ref: ref("k8s.io/api/core/v1.ExecAction"), + Ref: ref(v1.ExecAction{}.OpenAPIModelName()), }, }, "httpGet": { SchemaProps: spec.SchemaProps{ Description: "HTTPGet specifies an HTTP GET request to perform.", - Ref: ref("k8s.io/api/core/v1.HTTPGetAction"), + Ref: ref(v1.HTTPGetAction{}.OpenAPIModelName()), }, }, "tcpSocket": { SchemaProps: spec.SchemaProps{ Description: "TCPSocket specifies a connection to a TCP port.", - Ref: ref("k8s.io/api/core/v1.TCPSocketAction"), + Ref: ref(v1.TCPSocketAction{}.OpenAPIModelName()), }, }, "grpc": { SchemaProps: spec.SchemaProps{ Description: "GRPC specifies a GRPC HealthCheckRequest.", - Ref: ref("k8s.io/api/core/v1.GRPCAction"), + Ref: ref(v1.GRPCAction{}.OpenAPIModelName()), }, }, "initialDelaySeconds": { @@ -24740,7 +25183,7 @@ func schema_k8sio_api_core_v1_Probe(ref common.ReferenceCallback) common.OpenAPI }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ExecAction", "k8s.io/api/core/v1.GRPCAction", "k8s.io/api/core/v1.HTTPGetAction", "k8s.io/api/core/v1.TCPSocketAction"}, + v1.ExecAction{}.OpenAPIModelName(), v1.GRPCAction{}.OpenAPIModelName(), v1.HTTPGetAction{}.OpenAPIModelName(), v1.TCPSocketAction{}.OpenAPIModelName()}, } } @@ -24754,32 +25197,32 @@ func schema_k8sio_api_core_v1_ProbeHandler(ref common.ReferenceCallback) common. "exec": { SchemaProps: spec.SchemaProps{ Description: "Exec specifies a command to execute in the container.", - Ref: ref("k8s.io/api/core/v1.ExecAction"), + Ref: ref(v1.ExecAction{}.OpenAPIModelName()), }, }, "httpGet": { SchemaProps: spec.SchemaProps{ Description: "HTTPGet specifies an HTTP GET request to perform.", - Ref: ref("k8s.io/api/core/v1.HTTPGetAction"), + Ref: ref(v1.HTTPGetAction{}.OpenAPIModelName()), }, }, "tcpSocket": { SchemaProps: spec.SchemaProps{ Description: "TCPSocket specifies a connection to a TCP port.", - Ref: ref("k8s.io/api/core/v1.TCPSocketAction"), + Ref: ref(v1.TCPSocketAction{}.OpenAPIModelName()), }, }, "grpc": { SchemaProps: spec.SchemaProps{ Description: "GRPC specifies a GRPC HealthCheckRequest.", - Ref: ref("k8s.io/api/core/v1.GRPCAction"), + Ref: ref(v1.GRPCAction{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ExecAction", "k8s.io/api/core/v1.GRPCAction", "k8s.io/api/core/v1.HTTPGetAction", "k8s.io/api/core/v1.TCPSocketAction"}, + v1.ExecAction{}.OpenAPIModelName(), v1.GRPCAction{}.OpenAPIModelName(), v1.HTTPGetAction{}.OpenAPIModelName(), v1.TCPSocketAction{}.OpenAPIModelName()}, } } @@ -24803,7 +25246,7 @@ func schema_k8sio_api_core_v1_ProjectedVolumeSource(ref common.ReferenceCallback Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.VolumeProjection"), + Ref: ref(v1.VolumeProjection{}.OpenAPIModelName()), }, }, }, @@ -24820,7 +25263,7 @@ func schema_k8sio_api_core_v1_ProjectedVolumeSource(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.VolumeProjection"}, + v1.VolumeProjection{}.OpenAPIModelName()}, } } @@ -24951,7 +25394,7 @@ func schema_k8sio_api_core_v1_RBDPersistentVolumeSource(ref common.ReferenceCall "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", - Ref: ref("k8s.io/api/core/v1.SecretReference"), + Ref: ref(v1.SecretReference{}.OpenAPIModelName()), }, }, "readOnly": { @@ -24966,7 +25409,7 @@ func schema_k8sio_api_core_v1_RBDPersistentVolumeSource(ref common.ReferenceCall }, }, Dependencies: []string{ - "k8s.io/api/core/v1.SecretReference"}, + v1.SecretReference{}.OpenAPIModelName()}, } } @@ -25039,7 +25482,7 @@ func schema_k8sio_api_core_v1_RBDVolumeSource(ref common.ReferenceCallback) comm "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Ref: ref(v1.LocalObjectReference{}.OpenAPIModelName()), }, }, "readOnly": { @@ -25054,7 +25497,7 @@ func schema_k8sio_api_core_v1_RBDVolumeSource(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference"}, + v1.LocalObjectReference{}.OpenAPIModelName()}, } } @@ -25083,7 +25526,7 @@ func schema_k8sio_api_core_v1_RangeAllocation(ref common.ReferenceCallback) comm SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "range": { @@ -25106,7 +25549,7 @@ func schema_k8sio_api_core_v1_RangeAllocation(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -25135,28 +25578,28 @@ func schema_k8sio_api_core_v1_ReplicationController(ref common.ReferenceCallback SchemaProps: spec.SchemaProps{ Description: "If the Labels of a ReplicationController are empty, they are defaulted to be the same as the Pod(s) that the replication controller manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "Spec defines the specification of the desired behavior of the replication controller. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ReplicationControllerSpec"), + Ref: ref(v1.ReplicationControllerSpec{}.OpenAPIModelName()), }, }, "status": { SchemaProps: spec.SchemaProps{ Description: "Status is the most recently observed status of the replication controller. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ReplicationControllerStatus"), + Ref: ref(v1.ReplicationControllerStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ReplicationControllerSpec", "k8s.io/api/core/v1.ReplicationControllerStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.ReplicationControllerSpec{}.OpenAPIModelName(), v1.ReplicationControllerStatus{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -25186,7 +25629,7 @@ func schema_k8sio_api_core_v1_ReplicationControllerCondition(ref common.Referenc "lastTransitionTime": { SchemaProps: spec.SchemaProps{ Description: "The last time the condition transitioned from one status to another.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "reason": { @@ -25208,7 +25651,7 @@ func schema_k8sio_api_core_v1_ReplicationControllerCondition(ref common.Referenc }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -25237,7 +25680,7 @@ func schema_k8sio_api_core_v1_ReplicationControllerList(ref common.ReferenceCall SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -25248,7 +25691,7 @@ func schema_k8sio_api_core_v1_ReplicationControllerList(ref common.ReferenceCall Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ReplicationController"), + Ref: ref(v1.ReplicationController{}.OpenAPIModelName()), }, }, }, @@ -25259,7 +25702,7 @@ func schema_k8sio_api_core_v1_ReplicationControllerList(ref common.ReferenceCall }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ReplicationController", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.ReplicationController{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -25310,14 +25753,14 @@ func schema_k8sio_api_core_v1_ReplicationControllerSpec(ref common.ReferenceCall "template": { SchemaProps: spec.SchemaProps{ Description: "Template is the object that describes the pod that will be created if insufficient replicas are detected. This takes precedence over a TemplateRef. The only allowed template.spec.restartPolicy value is \"Always\". More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template", - Ref: ref("k8s.io/api/core/v1.PodTemplateSpec"), + Ref: ref(v1.PodTemplateSpec{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PodTemplateSpec"}, + v1.PodTemplateSpec{}.OpenAPIModelName()}, } } @@ -25382,7 +25825,7 @@ func schema_k8sio_api_core_v1_ReplicationControllerStatus(ref common.ReferenceCa Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ReplicationControllerCondition"), + Ref: ref(v1.ReplicationControllerCondition{}.OpenAPIModelName()), }, }, }, @@ -25393,7 +25836,7 @@ func schema_k8sio_api_core_v1_ReplicationControllerStatus(ref common.ReferenceCa }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ReplicationControllerCondition"}, + v1.ReplicationControllerCondition{}.OpenAPIModelName()}, } } @@ -25522,28 +25965,28 @@ func schema_k8sio_api_core_v1_ResourceQuota(ref common.ReferenceCallback) common SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "Spec defines the desired quota. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ResourceQuotaSpec"), + Ref: ref(v1.ResourceQuotaSpec{}.OpenAPIModelName()), }, }, "status": { SchemaProps: spec.SchemaProps{ Description: "Status defines the actual enforced quota and its current usage. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ResourceQuotaStatus"), + Ref: ref(v1.ResourceQuotaStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ResourceQuotaSpec", "k8s.io/api/core/v1.ResourceQuotaStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.ResourceQuotaSpec{}.OpenAPIModelName(), v1.ResourceQuotaStatus{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -25572,7 +26015,7 @@ func schema_k8sio_api_core_v1_ResourceQuotaList(ref common.ReferenceCallback) co SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -25583,7 +26026,7 @@ func schema_k8sio_api_core_v1_ResourceQuotaList(ref common.ReferenceCallback) co Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ResourceQuota"), + Ref: ref(v1.ResourceQuota{}.OpenAPIModelName()), }, }, }, @@ -25594,7 +26037,7 @@ func schema_k8sio_api_core_v1_ResourceQuotaList(ref common.ReferenceCallback) co }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ResourceQuota", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.ResourceQuota{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -25643,14 +26086,14 @@ func schema_k8sio_api_core_v1_ResourceQuotaSpec(ref common.ReferenceCallback) co "scopeSelector": { SchemaProps: spec.SchemaProps{ Description: "scopeSelector is also a collection of filters like scopes that must match each object tracked by a quota but expressed using ScopeSelectorOperator in combination with possible values. For a resource to match, both scopes AND scopeSelector (if specified in spec), must be matched.", - Ref: ref("k8s.io/api/core/v1.ScopeSelector"), + Ref: ref(v1.ScopeSelector{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ScopeSelector", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + v1.ScopeSelector{}.OpenAPIModelName(), "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } @@ -25748,7 +26191,7 @@ func schema_k8sio_api_core_v1_ResourceRequirements(ref common.ReferenceCallback) Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ResourceClaim"), + Ref: ref(v1.ResourceClaim{}.OpenAPIModelName()), }, }, }, @@ -25758,7 +26201,7 @@ func schema_k8sio_api_core_v1_ResourceRequirements(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ResourceClaim", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + v1.ResourceClaim{}.OpenAPIModelName(), "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } @@ -25793,7 +26236,7 @@ func schema_k8sio_api_core_v1_ResourceStatus(ref common.ReferenceCallback) commo Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ResourceHealth"), + Ref: ref(v1.ResourceHealth{}.OpenAPIModelName()), }, }, }, @@ -25804,7 +26247,7 @@ func schema_k8sio_api_core_v1_ResourceStatus(ref common.ReferenceCallback) commo }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ResourceHealth"}, + v1.ResourceHealth{}.OpenAPIModelName()}, } } @@ -25875,7 +26318,7 @@ func schema_k8sio_api_core_v1_ScaleIOPersistentVolumeSource(ref common.Reference "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.", - Ref: ref("k8s.io/api/core/v1.SecretReference"), + Ref: ref(v1.SecretReference{}.OpenAPIModelName()), }, }, "sslEnabled": { @@ -25934,7 +26377,7 @@ func schema_k8sio_api_core_v1_ScaleIOPersistentVolumeSource(ref common.Reference }, }, Dependencies: []string{ - "k8s.io/api/core/v1.SecretReference"}, + v1.SecretReference{}.OpenAPIModelName()}, } } @@ -25964,7 +26407,7 @@ func schema_k8sio_api_core_v1_ScaleIOVolumeSource(ref common.ReferenceCallback) "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.", - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Ref: ref(v1.LocalObjectReference{}.OpenAPIModelName()), }, }, "sslEnabled": { @@ -26023,7 +26466,7 @@ func schema_k8sio_api_core_v1_ScaleIOVolumeSource(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference"}, + v1.LocalObjectReference{}.OpenAPIModelName()}, } } @@ -26047,7 +26490,7 @@ func schema_k8sio_api_core_v1_ScopeSelector(ref common.ReferenceCallback) common Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ScopedResourceSelectorRequirement"), + Ref: ref(v1.ScopedResourceSelectorRequirement{}.OpenAPIModelName()), }, }, }, @@ -26062,7 +26505,7 @@ func schema_k8sio_api_core_v1_ScopeSelector(ref common.ReferenceCallback) common }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ScopedResourceSelectorRequirement"}, + v1.ScopedResourceSelectorRequirement{}.OpenAPIModelName()}, } } @@ -26185,7 +26628,7 @@ func schema_k8sio_api_core_v1_Secret(ref common.ReferenceCallback) common.OpenAP SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "immutable": { @@ -26237,7 +26680,7 @@ func schema_k8sio_api_core_v1_Secret(ref common.ReferenceCallback) common.OpenAP }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -26336,7 +26779,7 @@ func schema_k8sio_api_core_v1_SecretList(ref common.ReferenceCallback) common.Op SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -26347,7 +26790,7 @@ func schema_k8sio_api_core_v1_SecretList(ref common.ReferenceCallback) common.Op Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Secret"), + Ref: ref(v1.Secret{}.OpenAPIModelName()), }, }, }, @@ -26358,7 +26801,7 @@ func schema_k8sio_api_core_v1_SecretList(ref common.ReferenceCallback) common.Op }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Secret", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.Secret{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -26390,7 +26833,7 @@ func schema_k8sio_api_core_v1_SecretProjection(ref common.ReferenceCallback) com Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.KeyToPath"), + Ref: ref(v1.KeyToPath{}.OpenAPIModelName()), }, }, }, @@ -26407,7 +26850,7 @@ func schema_k8sio_api_core_v1_SecretProjection(ref common.ReferenceCallback) com }, }, Dependencies: []string{ - "k8s.io/api/core/v1.KeyToPath"}, + v1.KeyToPath{}.OpenAPIModelName()}, } } @@ -26470,7 +26913,7 @@ func schema_k8sio_api_core_v1_SecretVolumeSource(ref common.ReferenceCallback) c Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.KeyToPath"), + Ref: ref(v1.KeyToPath{}.OpenAPIModelName()), }, }, }, @@ -26494,7 +26937,7 @@ func schema_k8sio_api_core_v1_SecretVolumeSource(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "k8s.io/api/core/v1.KeyToPath"}, + v1.KeyToPath{}.OpenAPIModelName()}, } } @@ -26508,7 +26951,7 @@ func schema_k8sio_api_core_v1_SecurityContext(ref common.ReferenceCallback) comm "capabilities": { SchemaProps: spec.SchemaProps{ Description: "The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows.", - Ref: ref("k8s.io/api/core/v1.Capabilities"), + Ref: ref(v1.Capabilities{}.OpenAPIModelName()), }, }, "privileged": { @@ -26521,13 +26964,13 @@ func schema_k8sio_api_core_v1_SecurityContext(ref common.ReferenceCallback) comm "seLinuxOptions": { SchemaProps: spec.SchemaProps{ Description: "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.", - Ref: ref("k8s.io/api/core/v1.SELinuxOptions"), + Ref: ref(v1.SELinuxOptions{}.OpenAPIModelName()), }, }, "windowsOptions": { SchemaProps: spec.SchemaProps{ Description: "The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux.", - Ref: ref("k8s.io/api/core/v1.WindowsSecurityContextOptions"), + Ref: ref(v1.WindowsSecurityContextOptions{}.OpenAPIModelName()), }, }, "runAsUser": { @@ -26576,20 +27019,20 @@ func schema_k8sio_api_core_v1_SecurityContext(ref common.ReferenceCallback) comm "seccompProfile": { SchemaProps: spec.SchemaProps{ Description: "The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options. Note that this field cannot be set when spec.os.name is windows.", - Ref: ref("k8s.io/api/core/v1.SeccompProfile"), + Ref: ref(v1.SeccompProfile{}.OpenAPIModelName()), }, }, "appArmorProfile": { SchemaProps: spec.SchemaProps{ Description: "appArmorProfile is the AppArmor options to use by this container. If set, this profile overrides the pod's appArmorProfile. Note that this field cannot be set when spec.os.name is windows.", - Ref: ref("k8s.io/api/core/v1.AppArmorProfile"), + Ref: ref(v1.AppArmorProfile{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.AppArmorProfile", "k8s.io/api/core/v1.Capabilities", "k8s.io/api/core/v1.SELinuxOptions", "k8s.io/api/core/v1.SeccompProfile", "k8s.io/api/core/v1.WindowsSecurityContextOptions"}, + v1.AppArmorProfile{}.OpenAPIModelName(), v1.Capabilities{}.OpenAPIModelName(), v1.SELinuxOptions{}.OpenAPIModelName(), v1.SeccompProfile{}.OpenAPIModelName(), v1.WindowsSecurityContextOptions{}.OpenAPIModelName()}, } } @@ -26618,14 +27061,14 @@ func schema_k8sio_api_core_v1_SerializedReference(ref common.ReferenceCallback) SchemaProps: spec.SchemaProps{ Description: "The reference to an object in the system.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ObjectReference"), + Ref: ref(v1.ObjectReference{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ObjectReference"}, + v1.ObjectReference{}.OpenAPIModelName()}, } } @@ -26654,28 +27097,28 @@ func schema_k8sio_api_core_v1_Service(ref common.ReferenceCallback) common.OpenA SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "Spec defines the behavior of a service. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ServiceSpec"), + Ref: ref(v1.ServiceSpec{}.OpenAPIModelName()), }, }, "status": { SchemaProps: spec.SchemaProps{ Description: "Most recently observed status of the service. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ServiceStatus"), + Ref: ref(v1.ServiceStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ServiceSpec", "k8s.io/api/core/v1.ServiceStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.ServiceSpec{}.OpenAPIModelName(), v1.ServiceStatus{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -26704,7 +27147,7 @@ func schema_k8sio_api_core_v1_ServiceAccount(ref common.ReferenceCallback) commo SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "secrets": { @@ -26725,7 +27168,7 @@ func schema_k8sio_api_core_v1_ServiceAccount(ref common.ReferenceCallback) commo Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ObjectReference"), + Ref: ref(v1.ObjectReference{}.OpenAPIModelName()), }, }, }, @@ -26744,7 +27187,7 @@ func schema_k8sio_api_core_v1_ServiceAccount(ref common.ReferenceCallback) commo Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Ref: ref(v1.LocalObjectReference{}.OpenAPIModelName()), }, }, }, @@ -26761,7 +27204,7 @@ func schema_k8sio_api_core_v1_ServiceAccount(ref common.ReferenceCallback) commo }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.ObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + v1.LocalObjectReference{}.OpenAPIModelName(), v1.ObjectReference{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -26790,7 +27233,7 @@ func schema_k8sio_api_core_v1_ServiceAccountList(ref common.ReferenceCallback) c SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -26801,7 +27244,7 @@ func schema_k8sio_api_core_v1_ServiceAccountList(ref common.ReferenceCallback) c Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ServiceAccount"), + Ref: ref(v1.ServiceAccount{}.OpenAPIModelName()), }, }, }, @@ -26812,7 +27255,7 @@ func schema_k8sio_api_core_v1_ServiceAccountList(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ServiceAccount", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.ServiceAccount{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -26877,7 +27320,7 @@ func schema_k8sio_api_core_v1_ServiceList(ref common.ReferenceCallback) common.O SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -26888,7 +27331,7 @@ func schema_k8sio_api_core_v1_ServiceList(ref common.ReferenceCallback) common.O Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.Service"), + Ref: ref(v1.Service{}.OpenAPIModelName()), }, }, }, @@ -26899,7 +27342,7 @@ func schema_k8sio_api_core_v1_ServiceList(ref common.ReferenceCallback) common.O }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Service", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + v1.Service{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -26944,7 +27387,7 @@ func schema_k8sio_api_core_v1_ServicePort(ref common.ReferenceCallback) common.O "targetPort": { SchemaProps: spec.SchemaProps{ Description: "Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service", - Ref: ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"), + Ref: ref(intstr.IntOrString{}.OpenAPIModelName()), }, }, "nodePort": { @@ -26959,7 +27402,7 @@ func schema_k8sio_api_core_v1_ServicePort(ref common.ReferenceCallback) common.O }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/util/intstr.IntOrString"}, + intstr.IntOrString{}.OpenAPIModelName()}, } } @@ -27023,7 +27466,7 @@ func schema_k8sio_api_core_v1_ServiceSpec(ref common.ReferenceCallback) common.O Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.ServicePort"), + Ref: ref(v1.ServicePort{}.OpenAPIModelName()), }, }, }, @@ -27172,7 +27615,7 @@ func schema_k8sio_api_core_v1_ServiceSpec(ref common.ReferenceCallback) common.O "sessionAffinityConfig": { SchemaProps: spec.SchemaProps{ Description: "sessionAffinityConfig contains the configurations of session affinity.", - Ref: ref("k8s.io/api/core/v1.SessionAffinityConfig"), + Ref: ref(v1.SessionAffinityConfig{}.OpenAPIModelName()), }, }, "ipFamilies": { @@ -27237,7 +27680,7 @@ func schema_k8sio_api_core_v1_ServiceSpec(ref common.ReferenceCallback) common.O }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ServicePort", "k8s.io/api/core/v1.SessionAffinityConfig"}, + v1.ServicePort{}.OpenAPIModelName(), v1.SessionAffinityConfig{}.OpenAPIModelName()}, } } @@ -27252,7 +27695,7 @@ func schema_k8sio_api_core_v1_ServiceStatus(ref common.ReferenceCallback) common SchemaProps: spec.SchemaProps{ Description: "LoadBalancer contains the current status of the load-balancer, if one is present.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.LoadBalancerStatus"), + Ref: ref(v1.LoadBalancerStatus{}.OpenAPIModelName()), }, }, "conditions": { @@ -27273,7 +27716,7 @@ func schema_k8sio_api_core_v1_ServiceStatus(ref common.ReferenceCallback) common Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + Ref: ref(metav1.Condition{}.OpenAPIModelName()), }, }, }, @@ -27283,7 +27726,7 @@ func schema_k8sio_api_core_v1_ServiceStatus(ref common.ReferenceCallback) common }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LoadBalancerStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.Condition"}, + v1.LoadBalancerStatus{}.OpenAPIModelName(), metav1.Condition{}.OpenAPIModelName()}, } } @@ -27297,14 +27740,14 @@ func schema_k8sio_api_core_v1_SessionAffinityConfig(ref common.ReferenceCallback "clientIP": { SchemaProps: spec.SchemaProps{ Description: "clientIP contains the configurations of Client IP based session affinity.", - Ref: ref("k8s.io/api/core/v1.ClientIPConfig"), + Ref: ref(v1.ClientIPConfig{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ClientIPConfig"}, + v1.ClientIPConfig{}.OpenAPIModelName()}, } } @@ -27368,14 +27811,14 @@ func schema_k8sio_api_core_v1_StorageOSPersistentVolumeSource(ref common.Referen "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.", - Ref: ref("k8s.io/api/core/v1.ObjectReference"), + Ref: ref(v1.ObjectReference{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ObjectReference"}, + v1.ObjectReference{}.OpenAPIModelName()}, } } @@ -27417,14 +27860,14 @@ func schema_k8sio_api_core_v1_StorageOSVolumeSource(ref common.ReferenceCallback "secretRef": { SchemaProps: spec.SchemaProps{ Description: "secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.", - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Ref: ref(v1.LocalObjectReference{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference"}, + v1.LocalObjectReference{}.OpenAPIModelName()}, } } @@ -27468,7 +27911,7 @@ func schema_k8sio_api_core_v1_TCPSocketAction(ref common.ReferenceCallback) comm "port": { SchemaProps: spec.SchemaProps{ Description: "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", - Ref: ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"), + Ref: ref(intstr.IntOrString{}.OpenAPIModelName()), }, }, "host": { @@ -27483,7 +27926,7 @@ func schema_k8sio_api_core_v1_TCPSocketAction(ref common.ReferenceCallback) comm }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/util/intstr.IntOrString"}, + intstr.IntOrString{}.OpenAPIModelName()}, } } @@ -27521,7 +27964,7 @@ func schema_k8sio_api_core_v1_Taint(ref common.ReferenceCallback) common.OpenAPI "timeAdded": { SchemaProps: spec.SchemaProps{ Description: "TimeAdded represents the time at which the taint was added.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, }, @@ -27529,7 +27972,7 @@ func schema_k8sio_api_core_v1_Taint(ref common.ReferenceCallback) common.OpenAPI }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -27549,10 +27992,10 @@ func schema_k8sio_api_core_v1_Toleration(ref common.ReferenceCallback) common.Op }, "operator": { SchemaProps: spec.SchemaProps{ - Description: "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.\n\nPossible enum values:\n - `\"Equal\"`\n - `\"Exists\"`", + Description: "Operator represents a key's relationship to the value. Valid operators are Exists, Equal, Lt, and Gt. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. Lt and Gt perform numeric comparisons (requires feature gate TaintTolerationComparisonOperators).\n\nPossible enum values:\n - `\"Equal\"`\n - `\"Exists\"`\n - `\"Gt\"`\n - `\"Lt\"`", Type: []string{"string"}, Format: "", - Enum: []interface{}{"Equal", "Exists"}, + Enum: []interface{}{"Equal", "Exists", "Gt", "Lt"}, }, }, "value": { @@ -27645,7 +28088,7 @@ func schema_k8sio_api_core_v1_TopologySelectorTerm(ref common.ReferenceCallback) Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySelectorLabelRequirement"), + Ref: ref(v1.TopologySelectorLabelRequirement{}.OpenAPIModelName()), }, }, }, @@ -27660,7 +28103,7 @@ func schema_k8sio_api_core_v1_TopologySelectorTerm(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/core/v1.TopologySelectorLabelRequirement"}, + v1.TopologySelectorLabelRequirement{}.OpenAPIModelName()}, } } @@ -27699,7 +28142,7 @@ func schema_k8sio_api_core_v1_TopologySpreadConstraint(ref common.ReferenceCallb "labelSelector": { SchemaProps: spec.SchemaProps{ Description: "LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), + Ref: ref(metav1.LabelSelector{}.OpenAPIModelName()), }, }, "minDomains": { @@ -27750,7 +28193,7 @@ func schema_k8sio_api_core_v1_TopologySpreadConstraint(ref common.ReferenceCallb }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"}, + metav1.LabelSelector{}.OpenAPIModelName()}, } } @@ -27858,181 +28301,181 @@ func schema_k8sio_api_core_v1_Volume(ref common.ReferenceCallback) common.OpenAP "hostPath": { SchemaProps: spec.SchemaProps{ Description: "hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath", - Ref: ref("k8s.io/api/core/v1.HostPathVolumeSource"), + Ref: ref(v1.HostPathVolumeSource{}.OpenAPIModelName()), }, }, "emptyDir": { SchemaProps: spec.SchemaProps{ Description: "emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir", - Ref: ref("k8s.io/api/core/v1.EmptyDirVolumeSource"), + Ref: ref(v1.EmptyDirVolumeSource{}.OpenAPIModelName()), }, }, "gcePersistentDisk": { SchemaProps: spec.SchemaProps{ Description: "gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk", - Ref: ref("k8s.io/api/core/v1.GCEPersistentDiskVolumeSource"), + Ref: ref(v1.GCEPersistentDiskVolumeSource{}.OpenAPIModelName()), }, }, "awsElasticBlockStore": { SchemaProps: spec.SchemaProps{ Description: "awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore", - Ref: ref("k8s.io/api/core/v1.AWSElasticBlockStoreVolumeSource"), + Ref: ref(v1.AWSElasticBlockStoreVolumeSource{}.OpenAPIModelName()), }, }, "gitRepo": { SchemaProps: spec.SchemaProps{ Description: "gitRepo represents a git repository at a particular revision. Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.", - Ref: ref("k8s.io/api/core/v1.GitRepoVolumeSource"), + Ref: ref(v1.GitRepoVolumeSource{}.OpenAPIModelName()), }, }, "secret": { SchemaProps: spec.SchemaProps{ Description: "secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret", - Ref: ref("k8s.io/api/core/v1.SecretVolumeSource"), + Ref: ref(v1.SecretVolumeSource{}.OpenAPIModelName()), }, }, "nfs": { SchemaProps: spec.SchemaProps{ Description: "nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs", - Ref: ref("k8s.io/api/core/v1.NFSVolumeSource"), + Ref: ref(v1.NFSVolumeSource{}.OpenAPIModelName()), }, }, "iscsi": { SchemaProps: spec.SchemaProps{ Description: "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes/#iscsi", - Ref: ref("k8s.io/api/core/v1.ISCSIVolumeSource"), + Ref: ref(v1.ISCSIVolumeSource{}.OpenAPIModelName()), }, }, "glusterfs": { SchemaProps: spec.SchemaProps{ Description: "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.GlusterfsVolumeSource"), + Ref: ref(v1.GlusterfsVolumeSource{}.OpenAPIModelName()), }, }, "persistentVolumeClaim": { SchemaProps: spec.SchemaProps{ Description: "persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims", - Ref: ref("k8s.io/api/core/v1.PersistentVolumeClaimVolumeSource"), + Ref: ref(v1.PersistentVolumeClaimVolumeSource{}.OpenAPIModelName()), }, }, "rbd": { SchemaProps: spec.SchemaProps{ Description: "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.RBDVolumeSource"), + Ref: ref(v1.RBDVolumeSource{}.OpenAPIModelName()), }, }, "flexVolume": { SchemaProps: spec.SchemaProps{ Description: "flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.", - Ref: ref("k8s.io/api/core/v1.FlexVolumeSource"), + Ref: ref(v1.FlexVolumeSource{}.OpenAPIModelName()), }, }, "cinder": { SchemaProps: spec.SchemaProps{ Description: "cinder represents a cinder volume attached and mounted on kubelets host machine. Deprecated: Cinder is deprecated. All operations for the in-tree cinder type are redirected to the cinder.csi.openstack.org CSI driver. More info: https://examples.k8s.io/mysql-cinder-pd/README.md", - Ref: ref("k8s.io/api/core/v1.CinderVolumeSource"), + Ref: ref(v1.CinderVolumeSource{}.OpenAPIModelName()), }, }, "cephfs": { SchemaProps: spec.SchemaProps{ Description: "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime. Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.CephFSVolumeSource"), + Ref: ref(v1.CephFSVolumeSource{}.OpenAPIModelName()), }, }, "flocker": { SchemaProps: spec.SchemaProps{ Description: "flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running. Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.FlockerVolumeSource"), + Ref: ref(v1.FlockerVolumeSource{}.OpenAPIModelName()), }, }, "downwardAPI": { SchemaProps: spec.SchemaProps{ Description: "downwardAPI represents downward API about the pod that should populate this volume", - Ref: ref("k8s.io/api/core/v1.DownwardAPIVolumeSource"), + Ref: ref(v1.DownwardAPIVolumeSource{}.OpenAPIModelName()), }, }, "fc": { SchemaProps: spec.SchemaProps{ Description: "fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.", - Ref: ref("k8s.io/api/core/v1.FCVolumeSource"), + Ref: ref(v1.FCVolumeSource{}.OpenAPIModelName()), }, }, "azureFile": { SchemaProps: spec.SchemaProps{ Description: "azureFile represents an Azure File Service mount on the host and bind mount to the pod. Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type are redirected to the file.csi.azure.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.AzureFileVolumeSource"), + Ref: ref(v1.AzureFileVolumeSource{}.OpenAPIModelName()), }, }, "configMap": { SchemaProps: spec.SchemaProps{ Description: "configMap represents a configMap that should populate this volume", - Ref: ref("k8s.io/api/core/v1.ConfigMapVolumeSource"), + Ref: ref(v1.ConfigMapVolumeSource{}.OpenAPIModelName()), }, }, "vsphereVolume": { SchemaProps: spec.SchemaProps{ Description: "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine. Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type are redirected to the csi.vsphere.vmware.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.VsphereVirtualDiskVolumeSource"), + Ref: ref(v1.VsphereVirtualDiskVolumeSource{}.OpenAPIModelName()), }, }, "quobyte": { SchemaProps: spec.SchemaProps{ Description: "quobyte represents a Quobyte mount on the host that shares a pod's lifetime. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.QuobyteVolumeSource"), + Ref: ref(v1.QuobyteVolumeSource{}.OpenAPIModelName()), }, }, "azureDisk": { SchemaProps: spec.SchemaProps{ Description: "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type are redirected to the disk.csi.azure.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.AzureDiskVolumeSource"), + Ref: ref(v1.AzureDiskVolumeSource{}.OpenAPIModelName()), }, }, "photonPersistentDisk": { SchemaProps: spec.SchemaProps{ Description: "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.PhotonPersistentDiskVolumeSource"), + Ref: ref(v1.PhotonPersistentDiskVolumeSource{}.OpenAPIModelName()), }, }, "projected": { SchemaProps: spec.SchemaProps{ Description: "projected items for all in one resources secrets, configmaps, and downward API", - Ref: ref("k8s.io/api/core/v1.ProjectedVolumeSource"), + Ref: ref(v1.ProjectedVolumeSource{}.OpenAPIModelName()), }, }, "portworxVolume": { SchemaProps: spec.SchemaProps{ Description: "portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate is on.", - Ref: ref("k8s.io/api/core/v1.PortworxVolumeSource"), + Ref: ref(v1.PortworxVolumeSource{}.OpenAPIModelName()), }, }, "scaleIO": { SchemaProps: spec.SchemaProps{ Description: "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.ScaleIOVolumeSource"), + Ref: ref(v1.ScaleIOVolumeSource{}.OpenAPIModelName()), }, }, "storageos": { SchemaProps: spec.SchemaProps{ Description: "storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.StorageOSVolumeSource"), + Ref: ref(v1.StorageOSVolumeSource{}.OpenAPIModelName()), }, }, "csi": { SchemaProps: spec.SchemaProps{ Description: "csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.", - Ref: ref("k8s.io/api/core/v1.CSIVolumeSource"), + Ref: ref(v1.CSIVolumeSource{}.OpenAPIModelName()), }, }, "ephemeral": { SchemaProps: spec.SchemaProps{ Description: "ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed.\n\nUse this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity\n tracking are needed,\nc) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through\n a PersistentVolumeClaim (see EphemeralVolumeSource for more\n information on the connection between this volume type\n and PersistentVolumeClaim).\n\nUse PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod.\n\nUse CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information.\n\nA pod can use both types of ephemeral volumes and persistent volumes at the same time.", - Ref: ref("k8s.io/api/core/v1.EphemeralVolumeSource"), + Ref: ref(v1.EphemeralVolumeSource{}.OpenAPIModelName()), }, }, "image": { SchemaProps: spec.SchemaProps{ Description: "image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided:\n\n- Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.\n\nThe volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.", - Ref: ref("k8s.io/api/core/v1.ImageVolumeSource"), + Ref: ref(v1.ImageVolumeSource{}.OpenAPIModelName()), }, }, }, @@ -28040,7 +28483,7 @@ func schema_k8sio_api_core_v1_Volume(ref common.ReferenceCallback) common.OpenAP }, }, Dependencies: []string{ - "k8s.io/api/core/v1.AWSElasticBlockStoreVolumeSource", "k8s.io/api/core/v1.AzureDiskVolumeSource", "k8s.io/api/core/v1.AzureFileVolumeSource", "k8s.io/api/core/v1.CSIVolumeSource", "k8s.io/api/core/v1.CephFSVolumeSource", "k8s.io/api/core/v1.CinderVolumeSource", "k8s.io/api/core/v1.ConfigMapVolumeSource", "k8s.io/api/core/v1.DownwardAPIVolumeSource", "k8s.io/api/core/v1.EmptyDirVolumeSource", "k8s.io/api/core/v1.EphemeralVolumeSource", "k8s.io/api/core/v1.FCVolumeSource", "k8s.io/api/core/v1.FlexVolumeSource", "k8s.io/api/core/v1.FlockerVolumeSource", "k8s.io/api/core/v1.GCEPersistentDiskVolumeSource", "k8s.io/api/core/v1.GitRepoVolumeSource", "k8s.io/api/core/v1.GlusterfsVolumeSource", "k8s.io/api/core/v1.HostPathVolumeSource", "k8s.io/api/core/v1.ISCSIVolumeSource", "k8s.io/api/core/v1.ImageVolumeSource", "k8s.io/api/core/v1.NFSVolumeSource", "k8s.io/api/core/v1.PersistentVolumeClaimVolumeSource", "k8s.io/api/core/v1.PhotonPersistentDiskVolumeSource", "k8s.io/api/core/v1.PortworxVolumeSource", "k8s.io/api/core/v1.ProjectedVolumeSource", "k8s.io/api/core/v1.QuobyteVolumeSource", "k8s.io/api/core/v1.RBDVolumeSource", "k8s.io/api/core/v1.ScaleIOVolumeSource", "k8s.io/api/core/v1.SecretVolumeSource", "k8s.io/api/core/v1.StorageOSVolumeSource", "k8s.io/api/core/v1.VsphereVirtualDiskVolumeSource"}, + v1.AWSElasticBlockStoreVolumeSource{}.OpenAPIModelName(), v1.AzureDiskVolumeSource{}.OpenAPIModelName(), v1.AzureFileVolumeSource{}.OpenAPIModelName(), v1.CSIVolumeSource{}.OpenAPIModelName(), v1.CephFSVolumeSource{}.OpenAPIModelName(), v1.CinderVolumeSource{}.OpenAPIModelName(), v1.ConfigMapVolumeSource{}.OpenAPIModelName(), v1.DownwardAPIVolumeSource{}.OpenAPIModelName(), v1.EmptyDirVolumeSource{}.OpenAPIModelName(), v1.EphemeralVolumeSource{}.OpenAPIModelName(), v1.FCVolumeSource{}.OpenAPIModelName(), v1.FlexVolumeSource{}.OpenAPIModelName(), v1.FlockerVolumeSource{}.OpenAPIModelName(), v1.GCEPersistentDiskVolumeSource{}.OpenAPIModelName(), v1.GitRepoVolumeSource{}.OpenAPIModelName(), v1.GlusterfsVolumeSource{}.OpenAPIModelName(), v1.HostPathVolumeSource{}.OpenAPIModelName(), v1.ISCSIVolumeSource{}.OpenAPIModelName(), v1.ImageVolumeSource{}.OpenAPIModelName(), v1.NFSVolumeSource{}.OpenAPIModelName(), v1.PersistentVolumeClaimVolumeSource{}.OpenAPIModelName(), v1.PhotonPersistentDiskVolumeSource{}.OpenAPIModelName(), v1.PortworxVolumeSource{}.OpenAPIModelName(), v1.ProjectedVolumeSource{}.OpenAPIModelName(), v1.QuobyteVolumeSource{}.OpenAPIModelName(), v1.RBDVolumeSource{}.OpenAPIModelName(), v1.ScaleIOVolumeSource{}.OpenAPIModelName(), v1.SecretVolumeSource{}.OpenAPIModelName(), v1.StorageOSVolumeSource{}.OpenAPIModelName(), v1.VsphereVirtualDiskVolumeSource{}.OpenAPIModelName()}, } } @@ -28194,14 +28637,14 @@ func schema_k8sio_api_core_v1_VolumeNodeAffinity(ref common.ReferenceCallback) c "required": { SchemaProps: spec.SchemaProps{ Description: "required specifies hard node constraints that must be met.", - Ref: ref("k8s.io/api/core/v1.NodeSelector"), + Ref: ref(v1.NodeSelector{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.NodeSelector"}, + v1.NodeSelector{}.OpenAPIModelName()}, } } @@ -28215,44 +28658,44 @@ func schema_k8sio_api_core_v1_VolumeProjection(ref common.ReferenceCallback) com "secret": { SchemaProps: spec.SchemaProps{ Description: "secret information about the secret data to project", - Ref: ref("k8s.io/api/core/v1.SecretProjection"), + Ref: ref(v1.SecretProjection{}.OpenAPIModelName()), }, }, "downwardAPI": { SchemaProps: spec.SchemaProps{ Description: "downwardAPI information about the downwardAPI data to project", - Ref: ref("k8s.io/api/core/v1.DownwardAPIProjection"), + Ref: ref(v1.DownwardAPIProjection{}.OpenAPIModelName()), }, }, "configMap": { SchemaProps: spec.SchemaProps{ Description: "configMap information about the configMap data to project", - Ref: ref("k8s.io/api/core/v1.ConfigMapProjection"), + Ref: ref(v1.ConfigMapProjection{}.OpenAPIModelName()), }, }, "serviceAccountToken": { SchemaProps: spec.SchemaProps{ Description: "serviceAccountToken is information about the serviceAccountToken data to project", - Ref: ref("k8s.io/api/core/v1.ServiceAccountTokenProjection"), + Ref: ref(v1.ServiceAccountTokenProjection{}.OpenAPIModelName()), }, }, "clusterTrustBundle": { SchemaProps: spec.SchemaProps{ Description: "ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file.\n\nAlpha, gated by the ClusterTrustBundleProjection feature gate.\n\nClusterTrustBundle objects can either be selected by name, or by the combination of signer name and a label selector.\n\nKubelet performs aggressive normalization of the PEM contents written into the pod filesystem. Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the order over time.", - Ref: ref("k8s.io/api/core/v1.ClusterTrustBundleProjection"), + Ref: ref(v1.ClusterTrustBundleProjection{}.OpenAPIModelName()), }, }, "podCertificate": { SchemaProps: spec.SchemaProps{ Description: "Projects an auto-rotating credential bundle (private key and certificate chain) that the pod can use either as a TLS client or server.\n\nKubelet generates a private key and uses it to send a PodCertificateRequest to the named signer. Once the signer approves the request and issues a certificate chain, Kubelet writes the key and certificate chain to the pod filesystem. The pod does not start until certificates have been issued for each podCertificate projected volume source in its spec.\n\nKubelet will begin trying to rotate the certificate at the time indicated by the signer using the PodCertificateRequest.Status.BeginRefreshAt timestamp.\n\nKubelet can write a single file, indicated by the credentialBundlePath field, or separate files, indicated by the keyPath and certificateChainPath fields.\n\nThe credential bundle is a single file in PEM format. The first PEM entry is the private key (in PKCS#8 format), and the remaining PEM entries are the certificate chain issued by the signer (typically, signers will return their certificate chain in leaf-to-root order).\n\nPrefer using the credential bundle format, since your application code can read it atomically. If you use keyPath and certificateChainPath, your application must make two separate file reads. If these coincide with a certificate rotation, it is possible that the private key and leaf certificate you read may not correspond to each other. Your application will need to check for this condition, and re-read until they are consistent.\n\nThe named signer controls chooses the format of the certificate it issues; consult the signer implementation's documentation to learn how to use the certificates it issues.", - Ref: ref("k8s.io/api/core/v1.PodCertificateProjection"), + Ref: ref(v1.PodCertificateProjection{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.ClusterTrustBundleProjection", "k8s.io/api/core/v1.ConfigMapProjection", "k8s.io/api/core/v1.DownwardAPIProjection", "k8s.io/api/core/v1.PodCertificateProjection", "k8s.io/api/core/v1.SecretProjection", "k8s.io/api/core/v1.ServiceAccountTokenProjection"}, + v1.ClusterTrustBundleProjection{}.OpenAPIModelName(), v1.ConfigMapProjection{}.OpenAPIModelName(), v1.DownwardAPIProjection{}.OpenAPIModelName(), v1.PodCertificateProjection{}.OpenAPIModelName(), v1.SecretProjection{}.OpenAPIModelName(), v1.ServiceAccountTokenProjection{}.OpenAPIModelName()}, } } @@ -28309,188 +28752,188 @@ func schema_k8sio_api_core_v1_VolumeSource(ref common.ReferenceCallback) common. "hostPath": { SchemaProps: spec.SchemaProps{ Description: "hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath", - Ref: ref("k8s.io/api/core/v1.HostPathVolumeSource"), + Ref: ref(v1.HostPathVolumeSource{}.OpenAPIModelName()), }, }, "emptyDir": { SchemaProps: spec.SchemaProps{ Description: "emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir", - Ref: ref("k8s.io/api/core/v1.EmptyDirVolumeSource"), + Ref: ref(v1.EmptyDirVolumeSource{}.OpenAPIModelName()), }, }, "gcePersistentDisk": { SchemaProps: spec.SchemaProps{ Description: "gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk", - Ref: ref("k8s.io/api/core/v1.GCEPersistentDiskVolumeSource"), + Ref: ref(v1.GCEPersistentDiskVolumeSource{}.OpenAPIModelName()), }, }, "awsElasticBlockStore": { SchemaProps: spec.SchemaProps{ Description: "awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore", - Ref: ref("k8s.io/api/core/v1.AWSElasticBlockStoreVolumeSource"), + Ref: ref(v1.AWSElasticBlockStoreVolumeSource{}.OpenAPIModelName()), }, }, "gitRepo": { SchemaProps: spec.SchemaProps{ Description: "gitRepo represents a git repository at a particular revision. Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.", - Ref: ref("k8s.io/api/core/v1.GitRepoVolumeSource"), + Ref: ref(v1.GitRepoVolumeSource{}.OpenAPIModelName()), }, }, "secret": { SchemaProps: spec.SchemaProps{ Description: "secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret", - Ref: ref("k8s.io/api/core/v1.SecretVolumeSource"), + Ref: ref(v1.SecretVolumeSource{}.OpenAPIModelName()), }, }, "nfs": { SchemaProps: spec.SchemaProps{ Description: "nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs", - Ref: ref("k8s.io/api/core/v1.NFSVolumeSource"), + Ref: ref(v1.NFSVolumeSource{}.OpenAPIModelName()), }, }, "iscsi": { SchemaProps: spec.SchemaProps{ Description: "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes/#iscsi", - Ref: ref("k8s.io/api/core/v1.ISCSIVolumeSource"), + Ref: ref(v1.ISCSIVolumeSource{}.OpenAPIModelName()), }, }, "glusterfs": { SchemaProps: spec.SchemaProps{ Description: "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.GlusterfsVolumeSource"), + Ref: ref(v1.GlusterfsVolumeSource{}.OpenAPIModelName()), }, }, "persistentVolumeClaim": { SchemaProps: spec.SchemaProps{ Description: "persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims", - Ref: ref("k8s.io/api/core/v1.PersistentVolumeClaimVolumeSource"), + Ref: ref(v1.PersistentVolumeClaimVolumeSource{}.OpenAPIModelName()), }, }, "rbd": { SchemaProps: spec.SchemaProps{ Description: "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.RBDVolumeSource"), + Ref: ref(v1.RBDVolumeSource{}.OpenAPIModelName()), }, }, "flexVolume": { SchemaProps: spec.SchemaProps{ Description: "flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.", - Ref: ref("k8s.io/api/core/v1.FlexVolumeSource"), + Ref: ref(v1.FlexVolumeSource{}.OpenAPIModelName()), }, }, "cinder": { SchemaProps: spec.SchemaProps{ Description: "cinder represents a cinder volume attached and mounted on kubelets host machine. Deprecated: Cinder is deprecated. All operations for the in-tree cinder type are redirected to the cinder.csi.openstack.org CSI driver. More info: https://examples.k8s.io/mysql-cinder-pd/README.md", - Ref: ref("k8s.io/api/core/v1.CinderVolumeSource"), + Ref: ref(v1.CinderVolumeSource{}.OpenAPIModelName()), }, }, "cephfs": { SchemaProps: spec.SchemaProps{ Description: "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime. Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.CephFSVolumeSource"), + Ref: ref(v1.CephFSVolumeSource{}.OpenAPIModelName()), }, }, "flocker": { SchemaProps: spec.SchemaProps{ Description: "flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running. Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.FlockerVolumeSource"), + Ref: ref(v1.FlockerVolumeSource{}.OpenAPIModelName()), }, }, "downwardAPI": { SchemaProps: spec.SchemaProps{ Description: "downwardAPI represents downward API about the pod that should populate this volume", - Ref: ref("k8s.io/api/core/v1.DownwardAPIVolumeSource"), + Ref: ref(v1.DownwardAPIVolumeSource{}.OpenAPIModelName()), }, }, "fc": { SchemaProps: spec.SchemaProps{ Description: "fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.", - Ref: ref("k8s.io/api/core/v1.FCVolumeSource"), + Ref: ref(v1.FCVolumeSource{}.OpenAPIModelName()), }, }, "azureFile": { SchemaProps: spec.SchemaProps{ Description: "azureFile represents an Azure File Service mount on the host and bind mount to the pod. Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type are redirected to the file.csi.azure.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.AzureFileVolumeSource"), + Ref: ref(v1.AzureFileVolumeSource{}.OpenAPIModelName()), }, }, "configMap": { SchemaProps: spec.SchemaProps{ Description: "configMap represents a configMap that should populate this volume", - Ref: ref("k8s.io/api/core/v1.ConfigMapVolumeSource"), + Ref: ref(v1.ConfigMapVolumeSource{}.OpenAPIModelName()), }, }, "vsphereVolume": { SchemaProps: spec.SchemaProps{ Description: "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine. Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type are redirected to the csi.vsphere.vmware.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.VsphereVirtualDiskVolumeSource"), + Ref: ref(v1.VsphereVirtualDiskVolumeSource{}.OpenAPIModelName()), }, }, "quobyte": { SchemaProps: spec.SchemaProps{ Description: "quobyte represents a Quobyte mount on the host that shares a pod's lifetime. Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.QuobyteVolumeSource"), + Ref: ref(v1.QuobyteVolumeSource{}.OpenAPIModelName()), }, }, "azureDisk": { SchemaProps: spec.SchemaProps{ Description: "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type are redirected to the disk.csi.azure.com CSI driver.", - Ref: ref("k8s.io/api/core/v1.AzureDiskVolumeSource"), + Ref: ref(v1.AzureDiskVolumeSource{}.OpenAPIModelName()), }, }, "photonPersistentDisk": { SchemaProps: spec.SchemaProps{ Description: "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine. Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.PhotonPersistentDiskVolumeSource"), + Ref: ref(v1.PhotonPersistentDiskVolumeSource{}.OpenAPIModelName()), }, }, "projected": { SchemaProps: spec.SchemaProps{ Description: "projected items for all in one resources secrets, configmaps, and downward API", - Ref: ref("k8s.io/api/core/v1.ProjectedVolumeSource"), + Ref: ref(v1.ProjectedVolumeSource{}.OpenAPIModelName()), }, }, "portworxVolume": { SchemaProps: spec.SchemaProps{ Description: "portworxVolume represents a portworx volume attached and mounted on kubelets host machine. Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate is on.", - Ref: ref("k8s.io/api/core/v1.PortworxVolumeSource"), + Ref: ref(v1.PortworxVolumeSource{}.OpenAPIModelName()), }, }, "scaleIO": { SchemaProps: spec.SchemaProps{ Description: "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.ScaleIOVolumeSource"), + Ref: ref(v1.ScaleIOVolumeSource{}.OpenAPIModelName()), }, }, "storageos": { SchemaProps: spec.SchemaProps{ Description: "storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.", - Ref: ref("k8s.io/api/core/v1.StorageOSVolumeSource"), + Ref: ref(v1.StorageOSVolumeSource{}.OpenAPIModelName()), }, }, "csi": { SchemaProps: spec.SchemaProps{ Description: "csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers.", - Ref: ref("k8s.io/api/core/v1.CSIVolumeSource"), + Ref: ref(v1.CSIVolumeSource{}.OpenAPIModelName()), }, }, "ephemeral": { SchemaProps: spec.SchemaProps{ Description: "ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed.\n\nUse this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity\n tracking are needed,\nc) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through\n a PersistentVolumeClaim (see EphemeralVolumeSource for more\n information on the connection between this volume type\n and PersistentVolumeClaim).\n\nUse PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod.\n\nUse CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information.\n\nA pod can use both types of ephemeral volumes and persistent volumes at the same time.", - Ref: ref("k8s.io/api/core/v1.EphemeralVolumeSource"), + Ref: ref(v1.EphemeralVolumeSource{}.OpenAPIModelName()), }, }, "image": { SchemaProps: spec.SchemaProps{ Description: "image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided:\n\n- Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.\n\nThe volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath) before 1.33. The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.", - Ref: ref("k8s.io/api/core/v1.ImageVolumeSource"), + Ref: ref(v1.ImageVolumeSource{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.AWSElasticBlockStoreVolumeSource", "k8s.io/api/core/v1.AzureDiskVolumeSource", "k8s.io/api/core/v1.AzureFileVolumeSource", "k8s.io/api/core/v1.CSIVolumeSource", "k8s.io/api/core/v1.CephFSVolumeSource", "k8s.io/api/core/v1.CinderVolumeSource", "k8s.io/api/core/v1.ConfigMapVolumeSource", "k8s.io/api/core/v1.DownwardAPIVolumeSource", "k8s.io/api/core/v1.EmptyDirVolumeSource", "k8s.io/api/core/v1.EphemeralVolumeSource", "k8s.io/api/core/v1.FCVolumeSource", "k8s.io/api/core/v1.FlexVolumeSource", "k8s.io/api/core/v1.FlockerVolumeSource", "k8s.io/api/core/v1.GCEPersistentDiskVolumeSource", "k8s.io/api/core/v1.GitRepoVolumeSource", "k8s.io/api/core/v1.GlusterfsVolumeSource", "k8s.io/api/core/v1.HostPathVolumeSource", "k8s.io/api/core/v1.ISCSIVolumeSource", "k8s.io/api/core/v1.ImageVolumeSource", "k8s.io/api/core/v1.NFSVolumeSource", "k8s.io/api/core/v1.PersistentVolumeClaimVolumeSource", "k8s.io/api/core/v1.PhotonPersistentDiskVolumeSource", "k8s.io/api/core/v1.PortworxVolumeSource", "k8s.io/api/core/v1.ProjectedVolumeSource", "k8s.io/api/core/v1.QuobyteVolumeSource", "k8s.io/api/core/v1.RBDVolumeSource", "k8s.io/api/core/v1.ScaleIOVolumeSource", "k8s.io/api/core/v1.SecretVolumeSource", "k8s.io/api/core/v1.StorageOSVolumeSource", "k8s.io/api/core/v1.VsphereVirtualDiskVolumeSource"}, + v1.AWSElasticBlockStoreVolumeSource{}.OpenAPIModelName(), v1.AzureDiskVolumeSource{}.OpenAPIModelName(), v1.AzureFileVolumeSource{}.OpenAPIModelName(), v1.CSIVolumeSource{}.OpenAPIModelName(), v1.CephFSVolumeSource{}.OpenAPIModelName(), v1.CinderVolumeSource{}.OpenAPIModelName(), v1.ConfigMapVolumeSource{}.OpenAPIModelName(), v1.DownwardAPIVolumeSource{}.OpenAPIModelName(), v1.EmptyDirVolumeSource{}.OpenAPIModelName(), v1.EphemeralVolumeSource{}.OpenAPIModelName(), v1.FCVolumeSource{}.OpenAPIModelName(), v1.FlexVolumeSource{}.OpenAPIModelName(), v1.FlockerVolumeSource{}.OpenAPIModelName(), v1.GCEPersistentDiskVolumeSource{}.OpenAPIModelName(), v1.GitRepoVolumeSource{}.OpenAPIModelName(), v1.GlusterfsVolumeSource{}.OpenAPIModelName(), v1.HostPathVolumeSource{}.OpenAPIModelName(), v1.ISCSIVolumeSource{}.OpenAPIModelName(), v1.ImageVolumeSource{}.OpenAPIModelName(), v1.NFSVolumeSource{}.OpenAPIModelName(), v1.PersistentVolumeClaimVolumeSource{}.OpenAPIModelName(), v1.PhotonPersistentDiskVolumeSource{}.OpenAPIModelName(), v1.PortworxVolumeSource{}.OpenAPIModelName(), v1.ProjectedVolumeSource{}.OpenAPIModelName(), v1.QuobyteVolumeSource{}.OpenAPIModelName(), v1.RBDVolumeSource{}.OpenAPIModelName(), v1.ScaleIOVolumeSource{}.OpenAPIModelName(), v1.SecretVolumeSource{}.OpenAPIModelName(), v1.StorageOSVolumeSource{}.OpenAPIModelName(), v1.VsphereVirtualDiskVolumeSource{}.OpenAPIModelName()}, } } @@ -28556,7 +28999,7 @@ func schema_k8sio_api_core_v1_WeightedPodAffinityTerm(ref common.ReferenceCallba SchemaProps: spec.SchemaProps{ Description: "Required. A pod affinity term, associated with the corresponding weight.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.PodAffinityTerm"), + Ref: ref(v1.PodAffinityTerm{}.OpenAPIModelName()), }, }, }, @@ -28564,7 +29007,7 @@ func schema_k8sio_api_core_v1_WeightedPodAffinityTerm(ref common.ReferenceCallba }, }, Dependencies: []string{ - "k8s.io/api/core/v1.PodAffinityTerm"}, + v1.PodAffinityTerm{}.OpenAPIModelName()}, } } @@ -28609,6 +29052,43 @@ func schema_k8sio_api_core_v1_WindowsSecurityContextOptions(ref common.Reference } } +func schema_k8sio_api_core_v1_WorkloadReference(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "WorkloadReference identifies the Workload object and PodGroup membership that a Pod belongs to. The scheduler uses this information to apply workload-aware scheduling semantics.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "Name defines the name of the Workload object this Pod belongs to. Workload must be in the same namespace as the Pod. If it doesn't match any existing Workload, the Pod will remain unschedulable until a Workload object is created and observed by the kube-scheduler. It must be a DNS subdomain.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "podGroup": { + SchemaProps: spec.SchemaProps{ + Description: "PodGroup is the name of the PodGroup within the Workload that this Pod belongs to. If it doesn't match any existing PodGroup within the Workload, the Pod will remain unschedulable until the Workload object is recreated and observed by the kube-scheduler. It must be a DNS label.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "podGroupReplicaKey": { + SchemaProps: spec.SchemaProps{ + Description: "PodGroupReplicaKey specifies the replica key of the PodGroup to which this Pod belongs. It is used to distinguish pods belonging to different replicas of the same pod group. The pod group policy is applied separately to each replica. When set, it must be a DNS label.", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"name", "podGroup"}, + }, + }, + } +} + func schema_k8sio_api_networking_v1_HTTPIngressPath(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -28635,7 +29115,7 @@ func schema_k8sio_api_networking_v1_HTTPIngressPath(ref common.ReferenceCallback SchemaProps: spec.SchemaProps{ Description: "backend defines the referenced service endpoint to which the traffic will be forwarded to.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IngressBackend"), + Ref: ref(networkingv1.IngressBackend{}.OpenAPIModelName()), }, }, }, @@ -28643,7 +29123,7 @@ func schema_k8sio_api_networking_v1_HTTPIngressPath(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IngressBackend"}, + networkingv1.IngressBackend{}.OpenAPIModelName()}, } } @@ -28667,7 +29147,7 @@ func schema_k8sio_api_networking_v1_HTTPIngressRuleValue(ref common.ReferenceCal Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.HTTPIngressPath"), + Ref: ref(networkingv1.HTTPIngressPath{}.OpenAPIModelName()), }, }, }, @@ -28678,7 +29158,7 @@ func schema_k8sio_api_networking_v1_HTTPIngressRuleValue(ref common.ReferenceCal }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.HTTPIngressPath"}, + networkingv1.HTTPIngressPath{}.OpenAPIModelName()}, } } @@ -28707,21 +29187,21 @@ func schema_k8sio_api_networking_v1_IPAddress(ref common.ReferenceCallback) comm SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "spec is the desired state of the IPAddress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IPAddressSpec"), + Ref: ref(networkingv1.IPAddressSpec{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IPAddressSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + networkingv1.IPAddressSpec{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -28750,7 +29230,7 @@ func schema_k8sio_api_networking_v1_IPAddressList(ref common.ReferenceCallback) SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -28761,7 +29241,7 @@ func schema_k8sio_api_networking_v1_IPAddressList(ref common.ReferenceCallback) Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IPAddress"), + Ref: ref(networkingv1.IPAddress{}.OpenAPIModelName()), }, }, }, @@ -28772,7 +29252,7 @@ func schema_k8sio_api_networking_v1_IPAddressList(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IPAddress", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + networkingv1.IPAddress{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -28786,7 +29266,7 @@ func schema_k8sio_api_networking_v1_IPAddressSpec(ref common.ReferenceCallback) "parentRef": { SchemaProps: spec.SchemaProps{ Description: "ParentRef references the resource that an IPAddress is attached to. An IPAddress must reference a parent object.", - Ref: ref("k8s.io/api/networking/v1.ParentReference"), + Ref: ref(networkingv1.ParentReference{}.OpenAPIModelName()), }, }, }, @@ -28794,7 +29274,7 @@ func schema_k8sio_api_networking_v1_IPAddressSpec(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.ParentReference"}, + networkingv1.ParentReference{}.OpenAPIModelName()}, } } @@ -28865,28 +29345,28 @@ func schema_k8sio_api_networking_v1_Ingress(ref common.ReferenceCallback) common SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "spec is the desired state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IngressSpec"), + Ref: ref(networkingv1.IngressSpec{}.OpenAPIModelName()), }, }, "status": { SchemaProps: spec.SchemaProps{ Description: "status is the current state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IngressStatus"), + Ref: ref(networkingv1.IngressStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IngressSpec", "k8s.io/api/networking/v1.IngressStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + networkingv1.IngressSpec{}.OpenAPIModelName(), networkingv1.IngressStatus{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -28900,20 +29380,20 @@ func schema_k8sio_api_networking_v1_IngressBackend(ref common.ReferenceCallback) "service": { SchemaProps: spec.SchemaProps{ Description: "service references a service as a backend. This is a mutually exclusive setting with \"Resource\".", - Ref: ref("k8s.io/api/networking/v1.IngressServiceBackend"), + Ref: ref(networkingv1.IngressServiceBackend{}.OpenAPIModelName()), }, }, "resource": { SchemaProps: spec.SchemaProps{ Description: "resource is an ObjectRef to another Kubernetes resource in the namespace of the Ingress object. If resource is specified, a service.Name and service.Port must not be specified. This is a mutually exclusive setting with \"Service\".", - Ref: ref("k8s.io/api/core/v1.TypedLocalObjectReference"), + Ref: ref(v1.TypedLocalObjectReference{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.TypedLocalObjectReference", "k8s.io/api/networking/v1.IngressServiceBackend"}, + v1.TypedLocalObjectReference{}.OpenAPIModelName(), networkingv1.IngressServiceBackend{}.OpenAPIModelName()}, } } @@ -28942,21 +29422,21 @@ func schema_k8sio_api_networking_v1_IngressClass(ref common.ReferenceCallback) c SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "spec is the desired state of the IngressClass. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IngressClassSpec"), + Ref: ref(networkingv1.IngressClassSpec{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IngressClassSpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + networkingv1.IngressClassSpec{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -28985,7 +29465,7 @@ func schema_k8sio_api_networking_v1_IngressClassList(ref common.ReferenceCallbac SchemaProps: spec.SchemaProps{ Description: "Standard list metadata.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -28996,7 +29476,7 @@ func schema_k8sio_api_networking_v1_IngressClassList(ref common.ReferenceCallbac Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IngressClass"), + Ref: ref(networkingv1.IngressClass{}.OpenAPIModelName()), }, }, }, @@ -29007,7 +29487,7 @@ func schema_k8sio_api_networking_v1_IngressClassList(ref common.ReferenceCallbac }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IngressClass", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + networkingv1.IngressClass{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -29079,14 +29559,14 @@ func schema_k8sio_api_networking_v1_IngressClassSpec(ref common.ReferenceCallbac "parameters": { SchemaProps: spec.SchemaProps{ Description: "parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.", - Ref: ref("k8s.io/api/networking/v1.IngressClassParametersReference"), + Ref: ref(networkingv1.IngressClassParametersReference{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IngressClassParametersReference"}, + networkingv1.IngressClassParametersReference{}.OpenAPIModelName()}, } } @@ -29115,7 +29595,7 @@ func schema_k8sio_api_networking_v1_IngressList(ref common.ReferenceCallback) co SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -29126,7 +29606,7 @@ func schema_k8sio_api_networking_v1_IngressList(ref common.ReferenceCallback) co Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.Ingress"), + Ref: ref(networkingv1.Ingress{}.OpenAPIModelName()), }, }, }, @@ -29137,7 +29617,7 @@ func schema_k8sio_api_networking_v1_IngressList(ref common.ReferenceCallback) co }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.Ingress", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + networkingv1.Ingress{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -29175,7 +29655,7 @@ func schema_k8sio_api_networking_v1_IngressLoadBalancerIngress(ref common.Refere Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IngressPortStatus"), + Ref: ref(networkingv1.IngressPortStatus{}.OpenAPIModelName()), }, }, }, @@ -29185,7 +29665,7 @@ func schema_k8sio_api_networking_v1_IngressLoadBalancerIngress(ref common.Refere }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IngressPortStatus"}, + networkingv1.IngressPortStatus{}.OpenAPIModelName()}, } } @@ -29209,7 +29689,7 @@ func schema_k8sio_api_networking_v1_IngressLoadBalancerStatus(ref common.Referen Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IngressLoadBalancerIngress"), + Ref: ref(networkingv1.IngressLoadBalancerIngress{}.OpenAPIModelName()), }, }, }, @@ -29219,7 +29699,7 @@ func schema_k8sio_api_networking_v1_IngressLoadBalancerStatus(ref common.Referen }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IngressLoadBalancerIngress"}, + networkingv1.IngressLoadBalancerIngress{}.OpenAPIModelName()}, } } @@ -29277,14 +29757,14 @@ func schema_k8sio_api_networking_v1_IngressRule(ref common.ReferenceCallback) co }, "http": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/api/networking/v1.HTTPIngressRuleValue"), + Ref: ref(networkingv1.HTTPIngressRuleValue{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.HTTPIngressRuleValue"}, + networkingv1.HTTPIngressRuleValue{}.OpenAPIModelName()}, } } @@ -29297,14 +29777,14 @@ func schema_k8sio_api_networking_v1_IngressRuleValue(ref common.ReferenceCallbac Properties: map[string]spec.Schema{ "http": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/api/networking/v1.HTTPIngressRuleValue"), + Ref: ref(networkingv1.HTTPIngressRuleValue{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.HTTPIngressRuleValue"}, + networkingv1.HTTPIngressRuleValue{}.OpenAPIModelName()}, } } @@ -29327,7 +29807,7 @@ func schema_k8sio_api_networking_v1_IngressServiceBackend(ref common.ReferenceCa SchemaProps: spec.SchemaProps{ Description: "port of the referenced service. A port name or port number is required for a IngressServiceBackend.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.ServiceBackendPort"), + Ref: ref(networkingv1.ServiceBackendPort{}.OpenAPIModelName()), }, }, }, @@ -29335,7 +29815,7 @@ func schema_k8sio_api_networking_v1_IngressServiceBackend(ref common.ReferenceCa }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.ServiceBackendPort"}, + networkingv1.ServiceBackendPort{}.OpenAPIModelName()}, } } @@ -29356,7 +29836,7 @@ func schema_k8sio_api_networking_v1_IngressSpec(ref common.ReferenceCallback) co "defaultBackend": { SchemaProps: spec.SchemaProps{ Description: "defaultBackend is the backend that should handle requests that don't match any rule. If Rules are not specified, DefaultBackend must be specified. If DefaultBackend is not set, the handling of requests that do not match any of the rules will be up to the Ingress controller.", - Ref: ref("k8s.io/api/networking/v1.IngressBackend"), + Ref: ref(networkingv1.IngressBackend{}.OpenAPIModelName()), }, }, "tls": { @@ -29372,7 +29852,7 @@ func schema_k8sio_api_networking_v1_IngressSpec(ref common.ReferenceCallback) co Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IngressTLS"), + Ref: ref(networkingv1.IngressTLS{}.OpenAPIModelName()), }, }, }, @@ -29391,7 +29871,7 @@ func schema_k8sio_api_networking_v1_IngressSpec(ref common.ReferenceCallback) co Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IngressRule"), + Ref: ref(networkingv1.IngressRule{}.OpenAPIModelName()), }, }, }, @@ -29401,7 +29881,7 @@ func schema_k8sio_api_networking_v1_IngressSpec(ref common.ReferenceCallback) co }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IngressBackend", "k8s.io/api/networking/v1.IngressRule", "k8s.io/api/networking/v1.IngressTLS"}, + networkingv1.IngressBackend{}.OpenAPIModelName(), networkingv1.IngressRule{}.OpenAPIModelName(), networkingv1.IngressTLS{}.OpenAPIModelName()}, } } @@ -29416,14 +29896,14 @@ func schema_k8sio_api_networking_v1_IngressStatus(ref common.ReferenceCallback) SchemaProps: spec.SchemaProps{ Description: "loadBalancer contains the current status of the load-balancer.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.IngressLoadBalancerStatus"), + Ref: ref(networkingv1.IngressLoadBalancerStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IngressLoadBalancerStatus"}, + networkingv1.IngressLoadBalancerStatus{}.OpenAPIModelName()}, } } @@ -29492,21 +29972,21 @@ func schema_k8sio_api_networking_v1_NetworkPolicy(ref common.ReferenceCallback) SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "spec represents the specification of the desired behavior for this NetworkPolicy.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.NetworkPolicySpec"), + Ref: ref(networkingv1.NetworkPolicySpec{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.NetworkPolicySpec", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + networkingv1.NetworkPolicySpec{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -29530,7 +30010,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicyEgressRule(ref common.Reference Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.NetworkPolicyPort"), + Ref: ref(networkingv1.NetworkPolicyPort{}.OpenAPIModelName()), }, }, }, @@ -29549,7 +30029,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicyEgressRule(ref common.Reference Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.NetworkPolicyPeer"), + Ref: ref(networkingv1.NetworkPolicyPeer{}.OpenAPIModelName()), }, }, }, @@ -29559,7 +30039,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicyEgressRule(ref common.Reference }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.NetworkPolicyPeer", "k8s.io/api/networking/v1.NetworkPolicyPort"}, + networkingv1.NetworkPolicyPeer{}.OpenAPIModelName(), networkingv1.NetworkPolicyPort{}.OpenAPIModelName()}, } } @@ -29583,7 +30063,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicyIngressRule(ref common.Referenc Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.NetworkPolicyPort"), + Ref: ref(networkingv1.NetworkPolicyPort{}.OpenAPIModelName()), }, }, }, @@ -29602,7 +30082,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicyIngressRule(ref common.Referenc Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.NetworkPolicyPeer"), + Ref: ref(networkingv1.NetworkPolicyPeer{}.OpenAPIModelName()), }, }, }, @@ -29612,7 +30092,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicyIngressRule(ref common.Referenc }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.NetworkPolicyPeer", "k8s.io/api/networking/v1.NetworkPolicyPort"}, + networkingv1.NetworkPolicyPeer{}.OpenAPIModelName(), networkingv1.NetworkPolicyPort{}.OpenAPIModelName()}, } } @@ -29641,7 +30121,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicyList(ref common.ReferenceCallba SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -29652,7 +30132,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicyList(ref common.ReferenceCallba Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.NetworkPolicy"), + Ref: ref(networkingv1.NetworkPolicy{}.OpenAPIModelName()), }, }, }, @@ -29663,7 +30143,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicyList(ref common.ReferenceCallba }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.NetworkPolicy", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + networkingv1.NetworkPolicy{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -29677,26 +30157,26 @@ func schema_k8sio_api_networking_v1_NetworkPolicyPeer(ref common.ReferenceCallba "podSelector": { SchemaProps: spec.SchemaProps{ Description: "podSelector is a label selector which selects pods. This field follows standard label selector semantics; if present but empty, it selects all pods.\n\nIf namespaceSelector is also set, then the NetworkPolicyPeer as a whole selects the pods matching podSelector in the Namespaces selected by NamespaceSelector. Otherwise it selects the pods matching podSelector in the policy's own namespace.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), + Ref: ref(metav1.LabelSelector{}.OpenAPIModelName()), }, }, "namespaceSelector": { SchemaProps: spec.SchemaProps{ Description: "namespaceSelector selects namespaces using cluster-scoped labels. This field follows standard label selector semantics; if present but empty, it selects all namespaces.\n\nIf podSelector is also set, then the NetworkPolicyPeer as a whole selects the pods matching podSelector in the namespaces selected by namespaceSelector. Otherwise it selects all pods in the namespaces selected by namespaceSelector.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), + Ref: ref(metav1.LabelSelector{}.OpenAPIModelName()), }, }, "ipBlock": { SchemaProps: spec.SchemaProps{ Description: "ipBlock defines policy on a particular IPBlock. If this field is set then neither of the other fields can be.", - Ref: ref("k8s.io/api/networking/v1.IPBlock"), + Ref: ref(networkingv1.IPBlock{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.IPBlock", "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"}, + networkingv1.IPBlock{}.OpenAPIModelName(), metav1.LabelSelector{}.OpenAPIModelName()}, } } @@ -29718,7 +30198,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicyPort(ref common.ReferenceCallba "port": { SchemaProps: spec.SchemaProps{ Description: "port represents the port on the given protocol. This can either be a numerical or named port on a pod. If this field is not provided, this matches all port names and numbers. If present, only traffic on the specified protocol AND port will be matched.", - Ref: ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"), + Ref: ref(intstr.IntOrString{}.OpenAPIModelName()), }, }, "endPort": { @@ -29732,7 +30212,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicyPort(ref common.ReferenceCallba }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/util/intstr.IntOrString"}, + intstr.IntOrString{}.OpenAPIModelName()}, } } @@ -29747,7 +30227,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicySpec(ref common.ReferenceCallba SchemaProps: spec.SchemaProps{ Description: "podSelector selects the pods to which this NetworkPolicy object applies. The array of rules is applied to any pods selected by this field. An empty selector matches all pods in the policy's namespace. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is optional. If it is not specified, it defaults to an empty selector.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"), + Ref: ref(metav1.LabelSelector{}.OpenAPIModelName()), }, }, "ingress": { @@ -29763,7 +30243,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicySpec(ref common.ReferenceCallba Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.NetworkPolicyIngressRule"), + Ref: ref(networkingv1.NetworkPolicyIngressRule{}.OpenAPIModelName()), }, }, }, @@ -29782,7 +30262,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicySpec(ref common.ReferenceCallba Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.NetworkPolicyEgressRule"), + Ref: ref(networkingv1.NetworkPolicyEgressRule{}.OpenAPIModelName()), }, }, }, @@ -29813,7 +30293,7 @@ func schema_k8sio_api_networking_v1_NetworkPolicySpec(ref common.ReferenceCallba }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.NetworkPolicyEgressRule", "k8s.io/api/networking/v1.NetworkPolicyIngressRule", "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector"}, + networkingv1.NetworkPolicyEgressRule{}.OpenAPIModelName(), networkingv1.NetworkPolicyIngressRule{}.OpenAPIModelName(), metav1.LabelSelector{}.OpenAPIModelName()}, } } @@ -29916,28 +30396,28 @@ func schema_k8sio_api_networking_v1_ServiceCIDR(ref common.ReferenceCallback) co SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, "spec": { SchemaProps: spec.SchemaProps{ Description: "spec is the desired state of the ServiceCIDR. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.ServiceCIDRSpec"), + Ref: ref(networkingv1.ServiceCIDRSpec{}.OpenAPIModelName()), }, }, "status": { SchemaProps: spec.SchemaProps{ Description: "status represents the current state of the ServiceCIDR. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.ServiceCIDRStatus"), + Ref: ref(networkingv1.ServiceCIDRStatus{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.ServiceCIDRSpec", "k8s.io/api/networking/v1.ServiceCIDRStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + networkingv1.ServiceCIDRSpec{}.OpenAPIModelName(), networkingv1.ServiceCIDRStatus{}.OpenAPIModelName(), metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -29966,7 +30446,7 @@ func schema_k8sio_api_networking_v1_ServiceCIDRList(ref common.ReferenceCallback SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -29977,7 +30457,7 @@ func schema_k8sio_api_networking_v1_ServiceCIDRList(ref common.ReferenceCallback Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/networking/v1.ServiceCIDR"), + Ref: ref(networkingv1.ServiceCIDR{}.OpenAPIModelName()), }, }, }, @@ -29988,7 +30468,7 @@ func schema_k8sio_api_networking_v1_ServiceCIDRList(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/networking/v1.ServiceCIDR", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + networkingv1.ServiceCIDR{}.OpenAPIModelName(), metav1.ListMeta{}.OpenAPIModelName()}, } } @@ -30050,7 +30530,7 @@ func schema_k8sio_api_networking_v1_ServiceCIDRStatus(ref common.ReferenceCallba Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + Ref: ref(metav1.Condition{}.OpenAPIModelName()), }, }, }, @@ -30060,7 +30540,7 @@ func schema_k8sio_api_networking_v1_ServiceCIDRStatus(ref common.ReferenceCallba }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Condition"}, + metav1.Condition{}.OpenAPIModelName()}, } } @@ -30106,7 +30586,7 @@ func schema_pkg_apis_meta_v1_APIGroup(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.GroupVersionForDiscovery"), + Ref: ref(metav1.GroupVersionForDiscovery{}.OpenAPIModelName()), }, }, }, @@ -30116,7 +30596,7 @@ func schema_pkg_apis_meta_v1_APIGroup(ref common.ReferenceCallback) common.OpenA SchemaProps: spec.SchemaProps{ Description: "preferredVersion is the version preferred by the API server, which probably is the storage version.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.GroupVersionForDiscovery"), + Ref: ref(metav1.GroupVersionForDiscovery{}.OpenAPIModelName()), }, }, "serverAddressByClientCIDRs": { @@ -30132,7 +30612,7 @@ func schema_pkg_apis_meta_v1_APIGroup(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ServerAddressByClientCIDR"), + Ref: ref(metav1.ServerAddressByClientCIDR{}.OpenAPIModelName()), }, }, }, @@ -30143,7 +30623,7 @@ func schema_pkg_apis_meta_v1_APIGroup(ref common.ReferenceCallback) common.OpenA }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.GroupVersionForDiscovery", "k8s.io/apimachinery/pkg/apis/meta/v1.ServerAddressByClientCIDR"}, + metav1.GroupVersionForDiscovery{}.OpenAPIModelName(), metav1.ServerAddressByClientCIDR{}.OpenAPIModelName()}, } } @@ -30181,7 +30661,7 @@ func schema_pkg_apis_meta_v1_APIGroupList(ref common.ReferenceCallback) common.O Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.APIGroup"), + Ref: ref(metav1.APIGroup{}.OpenAPIModelName()), }, }, }, @@ -30192,7 +30672,7 @@ func schema_pkg_apis_meta_v1_APIGroupList(ref common.ReferenceCallback) common.O }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.APIGroup"}, + metav1.APIGroup{}.OpenAPIModelName()}, } } @@ -30360,7 +30840,7 @@ func schema_pkg_apis_meta_v1_APIResourceList(ref common.ReferenceCallback) commo Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.APIResource"), + Ref: ref(metav1.APIResource{}.OpenAPIModelName()), }, }, }, @@ -30371,7 +30851,7 @@ func schema_pkg_apis_meta_v1_APIResourceList(ref common.ReferenceCallback) commo }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.APIResource"}, + metav1.APIResource{}.OpenAPIModelName()}, } } @@ -30429,7 +30909,7 @@ func schema_pkg_apis_meta_v1_APIVersions(ref common.ReferenceCallback) common.Op Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ServerAddressByClientCIDR"), + Ref: ref(metav1.ServerAddressByClientCIDR{}.OpenAPIModelName()), }, }, }, @@ -30440,7 +30920,7 @@ func schema_pkg_apis_meta_v1_APIVersions(ref common.ReferenceCallback) common.Op }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ServerAddressByClientCIDR"}, + metav1.ServerAddressByClientCIDR{}.OpenAPIModelName()}, } } @@ -30541,7 +31021,7 @@ func schema_pkg_apis_meta_v1_Condition(ref common.ReferenceCallback) common.Open "lastTransitionTime": { SchemaProps: spec.SchemaProps{ Description: "lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "reason": { @@ -30565,7 +31045,7 @@ func schema_pkg_apis_meta_v1_Condition(ref common.ReferenceCallback) common.Open }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.Time{}.OpenAPIModelName()}, } } @@ -30661,7 +31141,7 @@ func schema_pkg_apis_meta_v1_DeleteOptions(ref common.ReferenceCallback) common. "preconditions": { SchemaProps: spec.SchemaProps{ Description: "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Preconditions"), + Ref: ref(metav1.Preconditions{}.OpenAPIModelName()), }, }, "orphanDependents": { @@ -30709,7 +31189,7 @@ func schema_pkg_apis_meta_v1_DeleteOptions(ref common.ReferenceCallback) common. }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.Preconditions"}, + metav1.Preconditions{}.OpenAPIModelName()}, } } @@ -31066,7 +31546,7 @@ func schema_pkg_apis_meta_v1_LabelSelector(ref common.ReferenceCallback) common. Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelectorRequirement"), + Ref: ref(metav1.LabelSelectorRequirement{}.OpenAPIModelName()), }, }, }, @@ -31081,7 +31561,7 @@ func schema_pkg_apis_meta_v1_LabelSelector(ref common.ReferenceCallback) common. }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelectorRequirement"}, + metav1.LabelSelectorRequirement{}.OpenAPIModelName()}, } } @@ -31160,7 +31640,7 @@ func schema_pkg_apis_meta_v1_List(ref common.ReferenceCallback) common.OpenAPIDe SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -31170,7 +31650,7 @@ func schema_pkg_apis_meta_v1_List(ref common.ReferenceCallback) common.OpenAPIDe Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + Ref: ref(runtime.RawExtension{}.OpenAPIModelName()), }, }, }, @@ -31181,7 +31661,7 @@ func schema_pkg_apis_meta_v1_List(ref common.ReferenceCallback) common.OpenAPIDe }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "k8s.io/apimachinery/pkg/runtime.RawExtension"}, + metav1.ListMeta{}.OpenAPIModelName(), runtime.RawExtension{}.OpenAPIModelName()}, } } @@ -31354,7 +31834,7 @@ func schema_pkg_apis_meta_v1_ManagedFieldsEntry(ref common.ReferenceCallback) co "time": { SchemaProps: spec.SchemaProps{ Description: "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "fieldsType": { @@ -31367,7 +31847,7 @@ func schema_pkg_apis_meta_v1_ManagedFieldsEntry(ref common.ReferenceCallback) co "fieldsV1": { SchemaProps: spec.SchemaProps{ Description: "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.FieldsV1"), + Ref: ref(metav1.FieldsV1{}.OpenAPIModelName()), }, }, "subresource": { @@ -31381,7 +31861,7 @@ func schema_pkg_apis_meta_v1_ManagedFieldsEntry(ref common.ReferenceCallback) co }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.FieldsV1", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.FieldsV1{}.OpenAPIModelName(), metav1.Time{}.OpenAPIModelName()}, } } @@ -31456,13 +31936,13 @@ func schema_pkg_apis_meta_v1_ObjectMeta(ref common.ReferenceCallback) common.Ope "creationTimestamp": { SchemaProps: spec.SchemaProps{ Description: "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "deletionTimestamp": { SchemaProps: spec.SchemaProps{ Description: "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Ref: ref(metav1.Time{}.OpenAPIModelName()), }, }, "deletionGracePeriodSeconds": { @@ -31522,7 +32002,7 @@ func schema_pkg_apis_meta_v1_ObjectMeta(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.OwnerReference"), + Ref: ref(metav1.OwnerReference{}.OpenAPIModelName()), }, }, }, @@ -31562,7 +32042,7 @@ func schema_pkg_apis_meta_v1_ObjectMeta(ref common.ReferenceCallback) common.Ope Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ManagedFieldsEntry"), + Ref: ref(metav1.ManagedFieldsEntry{}.OpenAPIModelName()), }, }, }, @@ -31572,7 +32052,7 @@ func schema_pkg_apis_meta_v1_ObjectMeta(ref common.ReferenceCallback) common.Ope }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ManagedFieldsEntry", "k8s.io/apimachinery/pkg/apis/meta/v1.OwnerReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + metav1.ManagedFieldsEntry{}.OpenAPIModelName(), metav1.OwnerReference{}.OpenAPIModelName(), metav1.Time{}.OpenAPIModelName()}, } } @@ -31666,14 +32146,14 @@ func schema_pkg_apis_meta_v1_PartialObjectMetadata(ref common.ReferenceCallback) SchemaProps: spec.SchemaProps{ Description: "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + Ref: ref(metav1.ObjectMeta{}.OpenAPIModelName()), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + metav1.ObjectMeta{}.OpenAPIModelName()}, } } @@ -31702,7 +32182,7 @@ func schema_pkg_apis_meta_v1_PartialObjectMetadataList(ref common.ReferenceCallb SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "items": { @@ -31713,7 +32193,7 @@ func schema_pkg_apis_meta_v1_PartialObjectMetadataList(ref common.ReferenceCallb Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.PartialObjectMetadata"), + Ref: ref(metav1.PartialObjectMetadata{}.OpenAPIModelName()), }, }, }, @@ -31724,7 +32204,7 @@ func schema_pkg_apis_meta_v1_PartialObjectMetadataList(ref common.ReferenceCallb }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "k8s.io/apimachinery/pkg/apis/meta/v1.PartialObjectMetadata"}, + metav1.ListMeta{}.OpenAPIModelName(), metav1.PartialObjectMetadata{}.OpenAPIModelName()}, } } @@ -31923,7 +32403,7 @@ func schema_pkg_apis_meta_v1_Status(ref common.ReferenceCallback) common.OpenAPI SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "status": { @@ -31948,14 +32428,9 @@ func schema_pkg_apis_meta_v1_Status(ref common.ReferenceCallback) common.OpenAPI }, }, "details": { - VendorExtensible: spec.VendorExtensible{ - Extensions: spec.Extensions{ - "x-kubernetes-list-type": "atomic", - }, - }, SchemaProps: spec.SchemaProps{ Description: "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.StatusDetails"), + Ref: ref(metav1.StatusDetails{}.OpenAPIModelName()), }, }, "code": { @@ -31969,7 +32444,7 @@ func schema_pkg_apis_meta_v1_Status(ref common.ReferenceCallback) common.OpenAPI }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "k8s.io/apimachinery/pkg/apis/meta/v1.StatusDetails"}, + metav1.ListMeta{}.OpenAPIModelName(), metav1.StatusDetails{}.OpenAPIModelName()}, } } @@ -32055,7 +32530,7 @@ func schema_pkg_apis_meta_v1_StatusDetails(ref common.ReferenceCallback) common. Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.StatusCause"), + Ref: ref(metav1.StatusCause{}.OpenAPIModelName()), }, }, }, @@ -32072,7 +32547,7 @@ func schema_pkg_apis_meta_v1_StatusDetails(ref common.ReferenceCallback) common. }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.StatusCause"}, + metav1.StatusCause{}.OpenAPIModelName()}, } } @@ -32101,7 +32576,7 @@ func schema_pkg_apis_meta_v1_Table(ref common.ReferenceCallback) common.OpenAPID SchemaProps: spec.SchemaProps{ Description: "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref(metav1.ListMeta{}.OpenAPIModelName()), }, }, "columnDefinitions": { @@ -32117,7 +32592,7 @@ func schema_pkg_apis_meta_v1_Table(ref common.ReferenceCallback) common.OpenAPID Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.TableColumnDefinition"), + Ref: ref(metav1.TableColumnDefinition{}.OpenAPIModelName()), }, }, }, @@ -32136,7 +32611,7 @@ func schema_pkg_apis_meta_v1_Table(ref common.ReferenceCallback) common.OpenAPID Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.TableRow"), + Ref: ref(metav1.TableRow{}.OpenAPIModelName()), }, }, }, @@ -32147,7 +32622,7 @@ func schema_pkg_apis_meta_v1_Table(ref common.ReferenceCallback) common.OpenAPID }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "k8s.io/apimachinery/pkg/apis/meta/v1.TableColumnDefinition", "k8s.io/apimachinery/pkg/apis/meta/v1.TableRow"}, + metav1.ListMeta{}.OpenAPIModelName(), metav1.TableColumnDefinition{}.OpenAPIModelName(), metav1.TableRow{}.OpenAPIModelName()}, } } @@ -32278,7 +32753,7 @@ func schema_pkg_apis_meta_v1_TableRow(ref common.ReferenceCallback) common.OpenA Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.TableRowCondition"), + Ref: ref(metav1.TableRowCondition{}.OpenAPIModelName()), }, }, }, @@ -32287,7 +32762,7 @@ func schema_pkg_apis_meta_v1_TableRow(ref common.ReferenceCallback) common.OpenA "object": { SchemaProps: spec.SchemaProps{ Description: "This field contains the requested additional information about each object based on the includeObject policy when requesting the Table. If \"None\", this field is empty, if \"Object\" this will be the default serialization of the object for the current API version, and if \"Metadata\" (the default) will contain the object metadata. Check the returned kind and apiVersion of the object before parsing. The media type of the object will always match the enclosing list - if this as a JSON table, these will be JSON encoded objects.", - Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + Ref: ref(runtime.RawExtension{}.OpenAPIModelName()), }, }, }, @@ -32295,7 +32770,7 @@ func schema_pkg_apis_meta_v1_TableRow(ref common.ReferenceCallback) common.OpenA }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.TableRowCondition", "k8s.io/apimachinery/pkg/runtime.RawExtension"}, + metav1.TableRowCondition{}.OpenAPIModelName(), runtime.RawExtension{}.OpenAPIModelName()}, } } @@ -32490,7 +32965,7 @@ func schema_pkg_apis_meta_v1_WatchEvent(ref common.ReferenceCallback) common.Ope "object": { SchemaProps: spec.SchemaProps{ Description: "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context.", - Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + Ref: ref(runtime.RawExtension{}.OpenAPIModelName()), }, }, }, @@ -32498,7 +32973,7 @@ func schema_pkg_apis_meta_v1_WatchEvent(ref common.ReferenceCallback) common.Ope }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/runtime.RawExtension"}, + runtime.RawExtension{}.OpenAPIModelName()}, } } diff --git a/report/defaults_suite.xml b/report/defaults_suite.xml new file mode 100644 index 00000000..4f679786 --- /dev/null +++ b/report/defaults_suite.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + > Enter [It] should return an error - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:26 @ 04/01/26 16:25:13.51 < Exit [It] should return an error - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:26 @ 04/01/26 16:25:13.51 (0s) + + + > Enter [It] types: both ingress and egress - defaults to both - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:106 @ 04/01/26 16:25:13.51 < Exit [It] types: both ingress and egress - defaults to both - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:106 @ 04/01/26 16:25:13.51 (0s) + + + > Enter [It] types: egress only - defaults to Egress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:106 @ 04/01/26 16:25:13.51 < Exit [It] types: egress only - defaults to Egress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:106 @ 04/01/26 16:25:13.51 (0s) + + + > Enter [It] types: ingress only - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:106 @ 04/01/26 16:25:13.51 < Exit [It] types: ingress only - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:106 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] types: no rules - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:106 @ 04/01/26 16:25:13.511 < Exit [It] types: no rules - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:106 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] types: already set - not overwritten - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:121 @ 04/01/26 16:25:13.511 < Exit [It] types: already set - not overwritten - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:121 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: empty tier defaults label to 'default' - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:137 @ 04/01/26 16:25:13.511 < Exit [It] tier label: empty tier defaults label to 'default' - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:137 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: explicit tier sets label - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:137 @ 04/01/26 16:25:13.511 < Exit [It] tier label: explicit tier sets label - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:137 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: label already 'default' with empty tier returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:137 @ 04/01/26 16:25:13.511 < Exit [It] tier label: label already 'default' with empty tier returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:137 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: label already correct returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:137 @ 04/01/26 16:25:13.511 < Exit [It] tier label: label already correct returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:137 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] types: both ingress and egress - defaults to both - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:159 @ 04/01/26 16:25:13.511 < Exit [It] types: both ingress and egress - defaults to both - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:159 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] types: egress only - defaults to Egress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:159 @ 04/01/26 16:25:13.511 < Exit [It] types: egress only - defaults to Egress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:159 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] types: ingress only - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:159 @ 04/01/26 16:25:13.511 < Exit [It] types: ingress only - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:159 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] types: no rules - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:159 @ 04/01/26 16:25:13.511 < Exit [It] types: no rules - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:159 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: empty tier defaults label to 'default' - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:176 @ 04/01/26 16:25:13.511 < Exit [It] tier label: empty tier defaults label to 'default' - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:176 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: explicit tier sets label - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:176 @ 04/01/26 16:25:13.511 < Exit [It] tier label: explicit tier sets label - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:176 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: label already 'default' with empty tier returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:176 @ 04/01/26 16:25:13.511 < Exit [It] tier label: label already 'default' with empty tier returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:176 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: label already correct returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:176 @ 04/01/26 16:25:13.511 < Exit [It] tier label: label already correct returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:176 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] types: both ingress and egress - defaults to both - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:198 @ 04/01/26 16:25:13.511 < Exit [It] types: both ingress and egress - defaults to both - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:198 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] types: egress only - defaults to Egress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:198 @ 04/01/26 16:25:13.511 < Exit [It] types: egress only - defaults to Egress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:198 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] types: ingress only - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:198 @ 04/01/26 16:25:13.511 < Exit [It] types: ingress only - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:198 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] types: no rules - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:198 @ 04/01/26 16:25:13.511 < Exit [It] types: no rules - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:198 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: empty tier defaults label to 'default' - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:215 @ 04/01/26 16:25:13.511 < Exit [It] tier label: empty tier defaults label to 'default' - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:215 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: explicit tier sets label - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:215 @ 04/01/26 16:25:13.511 < Exit [It] tier label: explicit tier sets label - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:215 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: label already 'default' with empty tier returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:215 @ 04/01/26 16:25:13.511 < Exit [It] tier label: label already 'default' with empty tier returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:215 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] tier label: label already correct returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:215 @ 04/01/26 16:25:13.511 < Exit [It] tier label: label already correct returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:215 @ 04/01/26 16:25:13.511 (0s) + + + > Enter [It] types: both ingress and egress - defaults to both - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:237 @ 04/01/26 16:25:13.511 < Exit [It] types: both ingress and egress - defaults to both - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:237 @ 04/01/26 16:25:13.512 (0s) + + + > Enter [It] types: egress only - defaults to Egress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:237 @ 04/01/26 16:25:13.512 < Exit [It] types: egress only - defaults to Egress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:237 @ 04/01/26 16:25:13.512 (0s) + + + > Enter [It] types: ingress only - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:237 @ 04/01/26 16:25:13.512 < Exit [It] types: ingress only - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:237 @ 04/01/26 16:25:13.512 (0s) + + + > Enter [It] types: no rules - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:237 @ 04/01/26 16:25:13.512 < Exit [It] types: no rules - defaults to Ingress - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:237 @ 04/01/26 16:25:13.512 (0s) + + + > Enter [It] tier label: empty tier defaults label to 'default' - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:254 @ 04/01/26 16:25:13.512 < Exit [It] tier label: empty tier defaults label to 'default' - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:254 @ 04/01/26 16:25:13.512 (0s) + + + > Enter [It] tier label: explicit tier sets label - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:254 @ 04/01/26 16:25:13.512 < Exit [It] tier label: explicit tier sets label - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:254 @ 04/01/26 16:25:13.512 (0s) + + + > Enter [It] tier label: label already 'default' with empty tier returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:254 @ 04/01/26 16:25:13.512 < Exit [It] tier label: label already 'default' with empty tier returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:254 @ 04/01/26 16:25:13.512 (0s) + + + > Enter [It] tier label: label already correct returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:254 @ 04/01/26 16:25:13.512 < Exit [It] tier label: label already correct returns no change - /go/src/github.com/tigera/api/pkg/defaults/defaults_test.go:254 @ 04/01/26 16:25:13.512 (0s) + + + \ No newline at end of file diff --git a/report/numorstring_suite.xml b/report/numorstring_suite.xml new file mode 100644 index 00000000..624a503f --- /dev/null +++ b/report/numorstring_suite.xml @@ -0,0 +1,331 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + > Enter [It] dscp BE - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:229 @ 04/01/26 16:25:13.532 < Exit [It] dscp BE - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:229 @ 04/01/26 16:25:13.532 (0s) + + + > Enter [It] dscp AF33 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:230 @ 04/01/26 16:25:13.532 < Exit [It] dscp AF33 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:230 @ 04/01/26 16:25:13.532 (0s) + + + > Enter [It] dscp CS5 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:231 @ 04/01/26 16:25:13.532 < Exit [It] dscp CS5 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:231 @ 04/01/26 16:25:13.532 (0s) + + + > Enter [It] should marshal ASN of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:116 @ 04/01/26 16:25:13.532 < Exit [It] should marshal ASN of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:116 @ 04/01/26 16:25:13.532 (0s) + + + > Enter [It] should marshal ASN of 4294967295 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:117 @ 04/01/26 16:25:13.532 < Exit [It] should marshal ASN of 4294967295 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:117 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] should marshal port of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:120 @ 04/01/26 16:25:13.533 < Exit [It] should marshal port of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:120 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] should marshal port of 65535 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:121 @ 04/01/26 16:25:13.533 < Exit [It] should marshal port of 65535 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:121 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] should marshal port of 10 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:122 @ 04/01/26 16:25:13.533 < Exit [It] should marshal port of 10 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:122 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] should marshal port range of 10:20 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:123 @ 04/01/26 16:25:13.533 < Exit [It] should marshal port range of 10:20 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:123 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] should marshal port range of 20:30 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:124 @ 04/01/26 16:25:13.533 < Exit [It] should marshal port range of 20:30 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:124 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] should marshal named port - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:125 @ 04/01/26 16:25:13.533 < Exit [It] should marshal named port - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:125 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] should marshal protocol of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:128 @ 04/01/26 16:25:13.533 < Exit [It] should marshal protocol of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:128 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] should marshal protocol of udp - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:129 @ 04/01/26 16:25:13.533 < Exit [It] should marshal protocol of udp - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:129 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] should marshal dscp of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:132 @ 04/01/26 16:25:13.533 < Exit [It] should marshal dscp of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:132 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] should marshal dscp of 120 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:133 @ 04/01/26 16:25:13.533 < Exit [It] should marshal dscp of 120 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:133 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] should marshal dscp of DF - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:134 @ 04/01/26 16:25:13.533 < Exit [It] should marshal dscp of DF - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:134 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] protocol udp -> UDP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:193 @ 04/01/26 16:25:13.533 < Exit [It] protocol udp -> UDP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:193 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] protocol tcp -> TCP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:194 @ 04/01/26 16:25:13.533 < Exit [It] protocol tcp -> TCP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:194 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] protocol updlite -> UDPLite - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:195 @ 04/01/26 16:25:13.533 < Exit [It] protocol updlite -> UDPLite - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:195 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] unknown protocol xxxXXX - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:196 @ 04/01/26 16:25:13.533 < Exit [It] unknown protocol xxxXXX - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:196 @ 04/01/26 16:25:13.533 (0s) + + + > Enter [It] dscp cs6 -> CS6 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:216 @ 04/01/26 16:25:13.534 < Exit [It] dscp cs6 -> CS6 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:216 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] dscp Af11 -> AF11 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:217 @ 04/01/26 16:25:13.534 < Exit [It] dscp Af11 -> AF11 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:217 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] dscp ef -> EF - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:218 @ 04/01/26 16:25:13.534 < Exit [It] dscp ef -> EF - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:218 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] unknown dscp xxxXXX - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:219 @ 04/01/26 16:25:13.534 < Exit [It] unknown dscp xxxXXX - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:219 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should accept EF - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:245 @ 04/01/26 16:25:13.534 < Exit [It] should accept EF - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:245 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should accept AF11 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:246 @ 04/01/26 16:25:13.534 < Exit [It] should accept AF11 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:246 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should accept CS2 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:247 @ 04/01/26 16:25:13.534 < Exit [It] should accept CS2 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:247 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should accept 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:248 @ 04/01/26 16:25:13.534 < Exit [It] should accept 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:248 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should accept 40 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:249 @ 04/01/26 16:25:13.534 < Exit [It] should accept 40 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:249 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should accept 63 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:250 @ 04/01/26 16:25:13.534 < Exit [It] should accept 63 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:250 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should reject 64 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:251 @ 04/01/26 16:25:13.534 < Exit [It] should reject 64 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:251 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should reject 120 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:252 @ 04/01/26 16:25:13.534 < Exit [It] should reject 120 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:252 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should reject -1 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:253 @ 04/01/26 16:25:13.534 < Exit [It] should reject -1 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:253 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should reject CS9 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:254 @ 04/01/26 16:25:13.534 < Exit [It] should reject CS9 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:254 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should reject xxx - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:255 @ 04/01/26 16:25:13.534 < Exit [It] should reject xxx - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:255 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should reject empty string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:256 @ 04/01/26 16:25:13.534 < Exit [It] should reject empty string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:256 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] should reject empty string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:257 @ 04/01/26 16:25:13.534 < Exit [It] should reject empty string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:257 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] protocol 6 supports ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:167 @ 04/01/26 16:25:13.534 < Exit [It] protocol 6 supports ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:167 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] protocol 17 supports ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:168 @ 04/01/26 16:25:13.534 < Exit [It] protocol 17 supports ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:168 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] protocol udp supports ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:169 @ 04/01/26 16:25:13.534 < Exit [It] protocol udp supports ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:169 @ 04/01/26 16:25:13.534 (0s) + + + > Enter [It] protocol udp supports ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:170 @ 04/01/26 16:25:13.535 < Exit [It] protocol udp supports ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:170 @ 04/01/26 16:25:13.535 (0s) + + + > Enter [It] protocol foo does not support ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:171 @ 04/01/26 16:25:13.535 < Exit [It] protocol foo does not support ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:171 @ 04/01/26 16:25:13.535 (0s) + + + > Enter [It] protocol 2 does not support ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:172 @ 04/01/26 16:25:13.535 < Exit [It] protocol 2 does not support ports - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:172 @ 04/01/26 16:25:13.535 (0s) + + + > Enter [It] protocol udp -> UDP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:181 @ 04/01/26 16:25:13.535 < Exit [It] protocol udp -> UDP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:181 @ 04/01/26 16:25:13.535 (0s) + + + > Enter [It] protocol tcp -> TCP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:182 @ 04/01/26 16:25:13.535 < Exit [It] protocol tcp -> TCP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:182 @ 04/01/26 16:25:13.536 (0s) + + + > Enter [It] protocol updlite -> UDPLite - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:183 @ 04/01/26 16:25:13.536 < Exit [It] protocol updlite -> UDPLite - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:183 @ 04/01/26 16:25:13.536 (0s) + + + > Enter [It] unknown protocol xxxXXX - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:184 @ 04/01/26 16:25:13.536 < Exit [It] unknown protocol xxxXXX - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:184 @ 04/01/26 16:25:13.536 (0s) + + + > Enter [It] protocol udp -> UDP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:206 @ 04/01/26 16:25:13.536 < Exit [It] protocol udp -> UDP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:206 @ 04/01/26 16:25:13.536 (0s) + + + > Enter [It] protocol tcp -> TCP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:207 @ 04/01/26 16:25:13.536 < Exit [It] protocol tcp -> TCP - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:207 @ 04/01/26 16:25:13.536 (0s) + + + > Enter [It] should accept 0 AS number as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:54 @ 04/01/26 16:25:13.536 < Exit [It] should accept 0 AS number as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:54 @ 04/01/26 16:25:13.536 (0s) + + + > Enter [It] should accept 4294967295 AS number as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:55 @ 04/01/26 16:25:13.536 < Exit [It] should accept 4294967295 AS number as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:55 @ 04/01/26 16:25:13.536 (0s) + + + > Enter [It] should accept 0 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:56 @ 04/01/26 16:25:13.536 < Exit [It] should accept 0 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:56 @ 04/01/26 16:25:13.536 (0s) + + + > Enter [It] should accept 4294967295 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:57 @ 04/01/26 16:25:13.536 < Exit [It] should accept 4294967295 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:57 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should accept 1.10 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:58 @ 04/01/26 16:25:13.537 < Exit [It] should accept 1.10 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:58 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should accept 00.00 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:59 @ 04/01/26 16:25:13.537 < Exit [It] should accept 00.00 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:59 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should accept 00.01 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:60 @ 04/01/26 16:25:13.537 < Exit [It] should accept 00.01 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:60 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should accept 65535.65535 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:61 @ 04/01/26 16:25:13.537 < Exit [It] should accept 65535.65535 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:61 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should reject 1.1.1 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:62 @ 04/01/26 16:25:13.537 < Exit [It] should reject 1.1.1 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:62 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should reject 65536.65535 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:63 @ 04/01/26 16:25:13.537 < Exit [It] should reject 65536.65535 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:63 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should reject 65535.65536 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:64 @ 04/01/26 16:25:13.537 < Exit [It] should reject 65535.65536 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:64 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should reject 0.-1 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:65 @ 04/01/26 16:25:13.537 < Exit [It] should reject 0.-1 AS number as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:65 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should reject -1 AS number as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:66 @ 04/01/26 16:25:13.537 < Exit [It] should reject -1 AS number as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:66 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should reject 4294967296 AS number as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:67 @ 04/01/26 16:25:13.537 < Exit [It] should reject 4294967296 AS number as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:67 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should accept 0 port as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:70 @ 04/01/26 16:25:13.537 < Exit [It] should accept 0 port as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:70 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should accept 65535 port as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:71 @ 04/01/26 16:25:13.537 < Exit [It] should accept 65535 port as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:71 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should accept 0:65535 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:72 @ 04/01/26 16:25:13.537 < Exit [It] should accept 0:65535 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:72 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should accept 1:10 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:73 @ 04/01/26 16:25:13.537 < Exit [It] should accept 1:10 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:73 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should accept foo-bar as named port - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:74 @ 04/01/26 16:25:13.537 < Exit [It] should accept foo-bar as named port - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:74 @ 04/01/26 16:25:13.537 (0s) + + + > Enter [It] should reject -1 port as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:75 @ 04/01/26 16:25:13.538 < Exit [It] should reject -1 port as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:75 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should reject 65536 port as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:76 @ 04/01/26 16:25:13.538 < Exit [It] should reject 65536 port as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:76 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should reject 0:65536 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:77 @ 04/01/26 16:25:13.538 < Exit [It] should reject 0:65536 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:77 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should reject -1:65535 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:78 @ 04/01/26 16:25:13.538 < Exit [It] should reject -1:65535 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:78 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should reject 10:1 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:79 @ 04/01/26 16:25:13.538 < Exit [It] should reject 10:1 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:79 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should reject 1:2:3 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:80 @ 04/01/26 16:25:13.538 < Exit [It] should reject 1:2:3 port range as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:80 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should reject bad named port string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:81 @ 04/01/26 16:25:13.538 < Exit [It] should reject bad named port string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:81 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should reject bad port string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:82 @ 04/01/26 16:25:13.538 < Exit [It] should reject bad port string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:82 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should accept 0 protocol as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:85 @ 04/01/26 16:25:13.538 < Exit [It] should accept 0 protocol as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:85 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should accept 255 protocol as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:86 @ 04/01/26 16:25:13.538 < Exit [It] should accept 255 protocol as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:86 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should accept tcp protocol as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:87 @ 04/01/26 16:25:13.538 < Exit [It] should accept tcp protocol as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:87 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should accept tcp protocol as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:88 @ 04/01/26 16:25:13.538 < Exit [It] should accept tcp protocol as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:88 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should accept 0 protocol as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:89 @ 04/01/26 16:25:13.538 < Exit [It] should accept 0 protocol as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:89 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should accept 0 protocol as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:90 @ 04/01/26 16:25:13.538 < Exit [It] should accept 0 protocol as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:90 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should accept 256 protocol as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:91 @ 04/01/26 16:25:13.538 < Exit [It] should accept 256 protocol as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:91 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should reject bad protocol string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:92 @ 04/01/26 16:25:13.538 < Exit [It] should reject bad protocol string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:92 @ 04/01/26 16:25:13.538 (0s) + + + > Enter [It] should accept 0 DSCP as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:95 @ 04/01/26 16:25:13.539 < Exit [It] should accept 0 DSCP as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:95 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should accept 63 DSCP as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:96 @ 04/01/26 16:25:13.539 < Exit [It] should accept 63 DSCP as int - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:96 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should accept DF DSCP as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:97 @ 04/01/26 16:25:13.539 < Exit [It] should accept DF DSCP as string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:97 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should reject bad DSCP string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:98 @ 04/01/26 16:25:13.539 < Exit [It] should reject bad DSCP string - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:98 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should accept 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:271 @ 04/01/26 16:25:13.539 < Exit [It] should accept 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:271 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should accept 40 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:272 @ 04/01/26 16:25:13.539 < Exit [It] should accept 40 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:272 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should accept 63 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:273 @ 04/01/26 16:25:13.539 < Exit [It] should accept 63 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:273 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should reject 64 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:274 @ 04/01/26 16:25:13.539 < Exit [It] should reject 64 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:274 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should reject 120 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:275 @ 04/01/26 16:25:13.539 < Exit [It] should reject 120 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:275 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should stringify ASN of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:145 @ 04/01/26 16:25:13.539 < Exit [It] should stringify ASN of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:145 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should stringify ASN of 4294967295 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:146 @ 04/01/26 16:25:13.539 < Exit [It] should stringify ASN of 4294967295 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:146 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should stringify port of 20 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:149 @ 04/01/26 16:25:13.539 < Exit [It] should stringify port of 20 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:149 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should stringify port range of 10:20 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:150 @ 04/01/26 16:25:13.539 < Exit [It] should stringify port range of 10:20 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:150 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should stringify protocol of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:153 @ 04/01/26 16:25:13.539 < Exit [It] should stringify protocol of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:153 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should stringify protocol of udp - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:154 @ 04/01/26 16:25:13.539 < Exit [It] should stringify protocol of udp - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:154 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should stringify DSCP of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:157 @ 04/01/26 16:25:13.539 < Exit [It] should stringify DSCP of 0 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:157 @ 04/01/26 16:25:13.539 (0s) + + + > Enter [It] should stringify DSCP of AF22 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:158 @ 04/01/26 16:25:13.539 < Exit [It] should stringify DSCP of AF22 - /go/src/github.com/tigera/api/pkg/lib/numorstring/numorstring_test.go:158 @ 04/01/26 16:25:13.539 (0s) + + + \ No newline at end of file diff --git a/report/v3_api_suite.xml b/report/v3_api_suite.xml new file mode 100644 index 00000000..6feffdf1 --- /dev/null +++ b/report/v3_api_suite.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + > Enter [BeforeEach] NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:41 @ 04/01/26 16:25:12.409 < Exit [BeforeEach] NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:41 @ 04/01/26 16:25:12.409 (0s) > Enter [It] and GlobalNetworkPolicySpec shared fields should have the same tags - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:46 @ 04/01/26 16:25:12.409 < Exit [It] and GlobalNetworkPolicySpec shared fields should have the same tags - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:46 @ 04/01/26 16:25:12.409 (0s) + + + > Enter [BeforeEach] NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:41 @ 04/01/26 16:25:12.409 < Exit [BeforeEach] NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:41 @ 04/01/26 16:25:12.409 (0s) > Enter [It] and GlobalNetworkPolicySpec shared fields should have the same types - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:54 @ 04/01/26 16:25:12.409 < Exit [It] and GlobalNetworkPolicySpec shared fields should have the same types - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:54 @ 04/01/26 16:25:12.409 (0s) + + + > Enter [BeforeEach] NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:41 @ 04/01/26 16:25:12.409 < Exit [BeforeEach] NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:41 @ 04/01/26 16:25:12.409 (0s) > Enter [It] should not have any unexpected fields that GlobalNetworkPolicySpec doesn't have - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:62 @ 04/01/26 16:25:12.409 < Exit [It] should not have any unexpected fields that GlobalNetworkPolicySpec doesn't have - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:62 @ 04/01/26 16:25:12.409 (0s) + + + > Enter [BeforeEach] NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:41 @ 04/01/26 16:25:12.409 < Exit [BeforeEach] NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:41 @ 04/01/26 16:25:12.409 (0s) > Enter [It] should contain all expected fields of GlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:71 @ 04/01/26 16:25:12.409 < Exit [It] should contain all expected fields of GlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/networkpolicy_test.go:71 @ 04/01/26 16:25:12.41 (0s) + + + > Enter [BeforeEach] StagedGlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 < Exit [BeforeEach] StagedGlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 (0s) > Enter [It] and GlobalNetworkPolicySpec shared fields should have the same tags - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:47 @ 04/01/26 16:25:12.41 < Exit [It] and GlobalNetworkPolicySpec shared fields should have the same tags - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:47 @ 04/01/26 16:25:12.41 (0s) + + + > Enter [BeforeEach] StagedGlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 < Exit [BeforeEach] StagedGlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 (0s) > Enter [It] and GlobalNetworkPolicySpec shared fields should have the same types - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:57 @ 04/01/26 16:25:12.41 < Exit [It] and GlobalNetworkPolicySpec shared fields should have the same types - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:57 @ 04/01/26 16:25:12.41 (0s) + + + > Enter [BeforeEach] StagedGlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 < Exit [BeforeEach] StagedGlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 (0s) > Enter [It] should not have any unexpected fields that GlobalNetworkPolicySpec doesn't have - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:65 @ 04/01/26 16:25:12.41 < Exit [It] should not have any unexpected fields that GlobalNetworkPolicySpec doesn't have - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:65 @ 04/01/26 16:25:12.41 (0s) + + + > Enter [BeforeEach] StagedGlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 < Exit [BeforeEach] StagedGlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 (0s) > Enter [It] should contain all expected fields of GlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:74 @ 04/01/26 16:25:12.41 < Exit [It] should contain all expected fields of GlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:74 @ 04/01/26 16:25:12.41 (0s) + + + > Enter [BeforeEach] StagedGlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 < Exit [BeforeEach] StagedGlobalNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 (0s) > Enter [It] should be able to properly convert from staged to enforced - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:83 @ 04/01/26 16:25:12.41 < Exit [It] should be able to properly convert from staged to enforced - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedglobalnetworkpolicy_test.go:83 @ 04/01/26 16:25:12.41 (0s) + + + > Enter [BeforeEach] StagedNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 < Exit [BeforeEach] StagedNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 (0s) > Enter [It] and NetworkPolicySpec shared fields should have the same tags - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:47 @ 04/01/26 16:25:12.41 < Exit [It] and NetworkPolicySpec shared fields should have the same tags - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:47 @ 04/01/26 16:25:12.41 (0s) + + + > Enter [BeforeEach] StagedNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 < Exit [BeforeEach] StagedNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 (0s) > Enter [It] and NetworkPolicySpec shared fields should have the same types - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:57 @ 04/01/26 16:25:12.41 < Exit [It] and NetworkPolicySpec shared fields should have the same types - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:57 @ 04/01/26 16:25:12.41 (0s) + + + > Enter [BeforeEach] StagedNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 < Exit [BeforeEach] StagedNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 (0s) > Enter [It] should not have any unexpected fields that NetworkPolicySpec doesn't have - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:65 @ 04/01/26 16:25:12.41 < Exit [It] should not have any unexpected fields that NetworkPolicySpec doesn't have - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:65 @ 04/01/26 16:25:12.41 (0s) + + + > Enter [BeforeEach] StagedNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 < Exit [BeforeEach] StagedNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 (0s) > Enter [It] should contain all expected fields of NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:74 @ 04/01/26 16:25:12.41 < Exit [It] should contain all expected fields of NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:74 @ 04/01/26 16:25:12.41 (0s) + + + > Enter [BeforeEach] StagedNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 < Exit [BeforeEach] StagedNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:42 @ 04/01/26 16:25:12.41 (0s) > Enter [It] should be able to properly convert from staged to enforced - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:83 @ 04/01/26 16:25:12.41 < Exit [It] should be able to properly convert from staged to enforced - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagednetworkpolicy_test.go:83 @ 04/01/26 16:25:12.41 (0s) + + + > Enter [BeforeEach] StagedKubernetesNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:43 @ 04/01/26 16:25:12.411 < Exit [BeforeEach] StagedKubernetesNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:43 @ 04/01/26 16:25:12.411 (0s) > Enter [It] and K8s NetworkPolicySpec shared fields should have the same tags - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:48 @ 04/01/26 16:25:12.411 < Exit [It] and K8s NetworkPolicySpec shared fields should have the same tags - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:48 @ 04/01/26 16:25:12.411 (0s) + + + > Enter [BeforeEach] StagedKubernetesNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:43 @ 04/01/26 16:25:12.411 < Exit [BeforeEach] StagedKubernetesNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:43 @ 04/01/26 16:25:12.411 (0s) > Enter [It] and K8s NetworkPolicySpec shared fields should have the same types - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:58 @ 04/01/26 16:25:12.411 < Exit [It] and K8s NetworkPolicySpec shared fields should have the same types - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:58 @ 04/01/26 16:25:12.411 (0s) + + + > Enter [BeforeEach] StagedKubernetesNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:43 @ 04/01/26 16:25:12.411 < Exit [BeforeEach] StagedKubernetesNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:43 @ 04/01/26 16:25:12.411 (0s) > Enter [It] should not have any unexpected fields that K8s NetworkPolicySpec doesn't have - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:66 @ 04/01/26 16:25:12.411 < Exit [It] should not have any unexpected fields that K8s NetworkPolicySpec doesn't have - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:66 @ 04/01/26 16:25:12.411 (0s) + + + > Enter [BeforeEach] StagedKubernetesNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:43 @ 04/01/26 16:25:12.411 < Exit [BeforeEach] StagedKubernetesNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:43 @ 04/01/26 16:25:12.411 (0s) > Enter [It] should contain all expected fields of K8s NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:75 @ 04/01/26 16:25:12.411 < Exit [It] should contain all expected fields of K8s NetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:75 @ 04/01/26 16:25:12.411 (0s) + + + > Enter [BeforeEach] StagedKubernetesNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:43 @ 04/01/26 16:25:12.411 < Exit [BeforeEach] StagedKubernetesNetworkPolicySpec - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:43 @ 04/01/26 16:25:12.411 (0s) > Enter [It] should be able to properly convert from staged to enforced - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:84 @ 04/01/26 16:25:12.411 < Exit [It] should be able to properly convert from staged to enforced - /go/src/github.com/tigera/api/pkg/apis/projectcalico/v3/stagedkubernetesnetworkpolicy_test.go:84 @ 04/01/26 16:25:12.411 (0s) + + + \ No newline at end of file