// 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.projectcalico.api.pkg.apis.projectcalico.v3.AllocationAttribute
  map:
    fields:
    - name: alternateOwnerAttrs
      type:
        map:
          elementType:
            scalar: string
    - name: handle_id
      type:
        scalar: string
    - name: secondary
      type:
        map:
          elementType:
            scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.AutoHostEndpointConfig
  map:
    fields:
    - name: autoCreate
      type:
        scalar: string
    - name: createDefaultHostEndpoint
      type:
        scalar: string
    - name: templates
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Template
          elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPConfiguration
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPConfigurationSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPConfigurationSpec
  map:
    fields:
    - name: asNumber
      type:
        scalar: numeric
    - name: bindMode
      type:
        scalar: string
    - name: communities
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Community
          elementRelationship: associative
    - name: ignoredInterfaces
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
    - name: ipv4NormalRoutePriority
      type:
        scalar: numeric
    - name: ipv6NormalRoutePriority
      type:
        scalar: numeric
    - name: listenPort
      type:
        scalar: numeric
    - name: localWorkloadPeeringIPV4
      type:
        scalar: string
    - name: localWorkloadPeeringIPV6
      type:
        scalar: string
    - name: logSeverityScreen
      type:
        scalar: string
    - name: nodeMeshMaxRestartTime
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: nodeMeshPassword
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPPassword
    - name: nodeToNodeMeshEnabled
      type:
        scalar: boolean
    - name: prefixAdvertisements
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.PrefixAdvertisement
          elementRelationship: associative
    - name: programClusterRoutes
      type:
        scalar: string
    - name: serviceClusterIPs
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceClusterIPBlock
          elementRelationship: associative
    - name: serviceExternalIPs
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceExternalIPBlock
          elementRelationship: associative
    - name: serviceLoadBalancerAggregation
      type:
        scalar: string
    - name: serviceLoadBalancerIPs
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceLoadBalancerIPBlock
          elementRelationship: associative
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPDaemonStatus
  map:
    fields:
    - name: lastBootTime
      type:
        scalar: string
    - name: lastReconfigurationTime
      type:
        scalar: string
    - name: routerID
      type:
        scalar: string
    - name: state
      type:
        scalar: string
    - name: version
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilter
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterAddCommunity
  map:
    fields:
    - name: value
      type:
        scalar: string
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterCommunityMatch
  map:
    fields:
    - name: values
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterOperation
  map:
    fields:
    - name: addCommunity
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterAddCommunity
    - name: prependASPath
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterPrependASPath
    - name: setPriority
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterSetPriority
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterPrefixLengthV4
  map:
    fields:
    - name: max
      type:
        scalar: numeric
    - name: min
      type:
        scalar: numeric
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterPrefixLengthV6
  map:
    fields:
    - name: max
      type:
        scalar: numeric
    - name: min
      type:
        scalar: numeric
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterPrependASPath
  map:
    fields:
    - name: prefix
      type:
        list:
          elementType:
            scalar: numeric
          elementRelationship: atomic
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterRuleV4
  map:
    fields:
    - name: action
      type:
        scalar: string
      default: ""
    - name: asPathPrefix
      type:
        list:
          elementType:
            scalar: numeric
          elementRelationship: atomic
    - name: cidr
      type:
        scalar: string
    - name: communities
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterCommunityMatch
    - name: interface
      type:
        scalar: string
    - name: matchOperator
      type:
        scalar: string
    - name: operations
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterOperation
          elementRelationship: atomic
    - name: peerType
      type:
        scalar: string
    - name: prefixLength
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterPrefixLengthV4
    - name: priority
      type:
        scalar: numeric
    - name: source
      type:
        scalar: string
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterRuleV6
  map:
    fields:
    - name: action
      type:
        scalar: string
      default: ""
    - name: asPathPrefix
      type:
        list:
          elementType:
            scalar: numeric
          elementRelationship: atomic
    - name: cidr
      type:
        scalar: string
    - name: communities
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterCommunityMatch
    - name: interface
      type:
        scalar: string
    - name: matchOperator
      type:
        scalar: string
    - name: operations
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterOperation
          elementRelationship: atomic
    - name: peerType
      type:
        scalar: string
    - name: prefixLength
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterPrefixLengthV6
    - name: priority
      type:
        scalar: numeric
    - name: source
      type:
        scalar: string
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterSetPriority
  map:
    fields:
    - name: value
      type:
        scalar: numeric
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterSpec
  map:
    fields:
    - name: exportV4
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterRuleV4
          elementRelationship: atomic
    - name: exportV6
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterRuleV6
          elementRelationship: atomic
    - name: importV4
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterRuleV4
          elementRelationship: atomic
    - name: importV6
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPFilterRuleV6
          elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPPassword
  map:
    fields:
    - name: secretKeyRef
      type:
        namedType: io.k8s.api.core.v1.SecretKeySelector
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPPeer
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPPeerSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPPeerSpec
  map:
    fields:
    - name: asNumber
      type:
        scalar: numeric
    - name: filters
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: keepOriginalNextHop
      type:
        scalar: boolean
    - name: keepaliveTime
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: localASNumber
      type:
        scalar: numeric
    - name: localWorkloadSelector
      type:
        scalar: string
    - name: maxRestartTime
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: nextHopMode
      type:
        scalar: string
    - name: node
      type:
        scalar: string
    - name: nodeSelector
      type:
        scalar: string
    - name: numAllowedLocalASNumbers
      type:
        scalar: numeric
    - name: password
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPPassword
    - name: peerIP
      type:
        scalar: string
    - name: peerSelector
      type:
        scalar: string
    - name: reachableBy
      type:
        scalar: string
    - name: reversePeering
      type:
        scalar: string
    - name: sourceAddress
      type:
        scalar: string
    - name: ttlSecurity
      type:
        scalar: numeric
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BPFConntrackTimeouts
  map:
    fields:
    - name: creationGracePeriod
      type:
        scalar: string
    - name: genericTimeout
      type:
        scalar: string
    - name: icmpTimeout
      type:
        scalar: string
    - name: tcpEstablished
      type:
        scalar: string
    - name: tcpFinsSeen
      type:
        scalar: string
    - name: tcpResetSeen
      type:
        scalar: string
    - name: tcpSynSent
      type:
        scalar: string
    - name: udpTimeout
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BlockAffinity
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BlockAffinitySpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BlockAffinitySpec
  map:
    fields:
    - name: cidr
      type:
        scalar: string
      default: ""
    - name: deleted
      type:
        scalar: boolean
      default: false
    - name: node
      type:
        scalar: string
      default: ""
    - name: state
      type:
        scalar: string
      default: ""
    - name: type
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeAgentStatus
  map:
    fields:
    - name: birdV4
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPDaemonStatus
      default: {}
    - name: birdV6
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BGPDaemonStatus
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeBGPRouteStatus
  map:
    fields:
    - name: routesV4
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeRoute
          elementRelationship: atomic
    - name: routesV6
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeRoute
          elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeBGPStatus
  map:
    fields:
    - name: numberEstablishedV4
      type:
        scalar: numeric
      default: 0
    - name: numberEstablishedV6
      type:
        scalar: numeric
      default: 0
    - name: numberNotEstablishedV4
      type:
        scalar: numeric
      default: 0
    - name: numberNotEstablishedV6
      type:
        scalar: numeric
      default: 0
    - name: peersV4
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodePeer
          elementRelationship: atomic
    - name: peersV6
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodePeer
          elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodePeer
  map:
    fields:
    - name: peerIP
      type:
        scalar: string
    - name: since
      type:
        scalar: string
    - name: state
      type:
        scalar: string
    - name: type
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeRoute
  map:
    fields:
    - name: destination
      type:
        scalar: string
    - name: gateway
      type:
        scalar: string
    - name: interface
      type:
        scalar: string
    - name: learnedFrom
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeRouteLearnedFrom
      default: {}
    - name: type
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeRouteLearnedFrom
  map:
    fields:
    - name: peerIP
      type:
        scalar: string
    - name: sourceType
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeStatus
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeStatusSpec
      default: {}
    - name: status
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeStatusStatus
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeStatusSpec
  map:
    fields:
    - name: classes
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: node
      type:
        scalar: string
    - name: updatePeriodSeconds
      type:
        scalar: numeric
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeStatusStatus
  map:
    fields:
    - name: agent
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeAgentStatus
      default: {}
    - name: bgp
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeBGPStatus
      default: {}
    - name: lastUpdated
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time
    - name: routes
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.CalicoNodeBGPRouteStatus
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ClusterInformation
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ClusterInformationSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ClusterInformationSpec
  map:
    fields:
    - name: calicoVersion
      type:
        scalar: string
    - name: clusterGUID
      type:
        scalar: string
    - name: clusterType
      type:
        scalar: string
    - name: datastoreReady
      type:
        scalar: boolean
    - name: variant
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Community
  map:
    fields:
    - name: name
      type:
        scalar: string
    - name: value
      type:
        scalar: string
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ControllersConfig
  map:
    fields:
    - name: loadBalancer
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.LoadBalancerControllerConfig
    - name: namespace
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.NamespaceControllerConfig
    - name: node
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.NodeControllerConfig
    - name: policy
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.PolicyControllerConfig
    - name: policyMigration
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.MigrationControllerConfig
    - name: serviceAccount
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceAccountControllerConfig
    - name: workloadEndpoint
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.WorkloadEndpointControllerConfig
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.EndpointPort
  map:
    fields:
    - name: name
      type:
        scalar: string
      default: ""
    - name: port
      type:
        scalar: numeric
      default: 0
    - name: protocol
      type:
        namedType: com.github.projectcalico.api.pkg.lib.numorstring.Protocol
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.EntityRule
  map:
    fields:
    - name: namespaceSelector
      type:
        scalar: string
    - name: nets
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
    - name: notNets
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: notPorts
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.lib.numorstring.Port
          elementRelationship: atomic
    - name: notSelector
      type:
        scalar: string
    - name: ports
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.lib.numorstring.Port
          elementRelationship: atomic
    - name: selector
      type:
        scalar: string
    - name: serviceAccounts
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceAccountMatch
    - name: services
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceMatch
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.FelixConfiguration
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.FelixConfigurationSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.FelixConfigurationSpec
  map:
    fields:
    - name: allowIPIPPacketsFromWorkloads
      type:
        scalar: boolean
    - name: allowVXLANPacketsFromWorkloads
      type:
        scalar: boolean
    - name: awsSrcDstCheck
      type:
        scalar: string
    - name: bpfAttachType
      type:
        scalar: string
    - name: bpfCTLBLogFilter
      type:
        scalar: string
    - name: bpfConnectTimeLoadBalancing
      type:
        scalar: string
    - name: bpfConnectTimeLoadBalancingEnabled
      type:
        scalar: boolean
    - name: bpfConntrackLogLevel
      type:
        scalar: string
    - name: bpfConntrackMode
      type:
        scalar: string
    - name: bpfConntrackTimeouts
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.BPFConntrackTimeouts
    - name: bpfDSROptoutCIDRs
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: bpfDataIfacePattern
      type:
        scalar: string
    - name: bpfDisableGROForIfaces
      type:
        scalar: string
    - name: bpfDisableUnprivileged
      type:
        scalar: boolean
    - name: bpfEnabled
      type:
        scalar: boolean
    - name: bpfEnforceRPF
      type:
        scalar: string
    - name: bpfExcludeCIDRsFromNAT
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: bpfExportBufferSizeMB
      type:
        scalar: numeric
    - name: bpfExtToServiceConnmark
      type:
        scalar: numeric
    - name: bpfExternalServiceMode
      type:
        scalar: string
    - name: bpfForceTrackPacketsFromIfaces
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: bpfHostConntrackBypass
      type:
        scalar: boolean
    - name: bpfHostNetworkedNATWithoutCTLB
      type:
        scalar: string
    - name: bpfJITHardening
      type:
        scalar: string
    - name: bpfKubeProxyHealthzPort
      type:
        scalar: numeric
    - name: bpfKubeProxyIptablesCleanupEnabled
      type:
        scalar: boolean
    - name: bpfKubeProxyMinSyncPeriod
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: bpfL3IfacePattern
      type:
        scalar: string
    - name: bpfLogFilters
      type:
        map:
          elementType:
            scalar: string
    - name: bpfLogLevel
      type:
        scalar: string
      default: ""
    - name: bpfMaglevMaxEndpointsPerService
      type:
        scalar: numeric
    - name: bpfMaglevMaxServices
      type:
        scalar: numeric
    - name: bpfMapSizeConntrack
      type:
        scalar: numeric
    - name: bpfMapSizeConntrackCleanupQueue
      type:
        scalar: numeric
    - name: bpfMapSizeConntrackScaling
      type:
        scalar: string
    - name: bpfMapSizeIPSets
      type:
        scalar: numeric
    - name: bpfMapSizeIfState
      type:
        scalar: numeric
    - name: bpfMapSizeNATAffinity
      type:
        scalar: numeric
    - name: bpfMapSizeNATBackend
      type:
        scalar: numeric
    - name: bpfMapSizeNATFrontend
      type:
        scalar: numeric
    - name: bpfMapSizePerCpuConntrack
      type:
        scalar: numeric
    - name: bpfMapSizeRoute
      type:
        scalar: numeric
    - name: bpfPSNATPorts
      type:
        namedType: com.github.projectcalico.api.pkg.lib.numorstring.Port
    - name: bpfPolicyDebugEnabled
      type:
        scalar: boolean
    - name: bpfProfiling
      type:
        scalar: string
    - name: bpfRedirectToPeer
      type:
        scalar: string
    - name: cgroupV2Path
      type:
        scalar: string
    - name: chainInsertMode
      type:
        scalar: string
    - name: dataplaneDriver
      type:
        scalar: string
    - name: dataplaneWatchdogTimeout
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: debugDisableLogDropping
      type:
        scalar: boolean
    - name: debugHost
      type:
        scalar: string
    - name: debugMemoryProfilePath
      type:
        scalar: string
    - name: debugPort
      type:
        scalar: numeric
    - name: debugSimulateCalcGraphHangAfter
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: debugSimulateDataplaneApplyDelay
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: debugSimulateDataplaneHangAfter
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: defaultEndpointToHostAction
      type:
        scalar: string
    - name: deviceRouteProtocol
      type:
        scalar: numeric
    - name: deviceRouteSourceAddress
      type:
        scalar: string
    - name: deviceRouteSourceAddressIPv6
      type:
        scalar: string
    - name: disableConntrackInvalidCheck
      type:
        scalar: boolean
    - name: endpointReportingDelay
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: endpointReportingEnabled
      type:
        scalar: boolean
    - name: endpointStatusPathPrefix
      type:
        scalar: string
    - name: externalNodesList
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: failsafeInboundHostPorts
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ProtoPort
          elementRelationship: atomic
    - name: failsafeOutboundHostPorts
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ProtoPort
          elementRelationship: atomic
    - name: featureDetectOverride
      type:
        scalar: string
    - name: featureGates
      type:
        scalar: string
    - name: floatingIPs
      type:
        scalar: string
    - name: flowLogsCollectorDebugTrace
      type:
        scalar: boolean
    - name: flowLogsFlushInterval
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: flowLogsGoldmaneServer
      type:
        scalar: string
    - name: flowLogsLocalReporter
      type:
        scalar: string
    - name: flowLogsPolicyEvaluationMode
      type:
        scalar: string
    - name: genericXDPEnabled
      type:
        scalar: boolean
    - name: goGCThreshold
      type:
        scalar: numeric
    - name: goMaxProcs
      type:
        scalar: numeric
    - name: goMemoryLimitMB
      type:
        scalar: numeric
    - name: healthEnabled
      type:
        scalar: boolean
    - name: healthHost
      type:
        scalar: string
    - name: healthPort
      type:
        scalar: numeric
    - name: healthTimeoutOverrides
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.HealthTimeoutOverride
          elementRelationship: atomic
    - name: interfaceExclude
      type:
        scalar: string
    - name: interfacePrefix
      type:
        scalar: string
    - name: interfaceRefreshInterval
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: ipForwarding
      type:
        scalar: string
    - name: ipipEnabled
      type:
        scalar: boolean
    - name: ipipMTU
      type:
        scalar: numeric
    - name: ipsetsRefreshInterval
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: iptablesBackend
      type:
        scalar: string
    - name: iptablesFilterAllowAction
      type:
        scalar: string
    - name: iptablesFilterDenyAction
      type:
        scalar: string
    - name: iptablesLockProbeInterval
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: iptablesMangleAllowAction
      type:
        scalar: string
    - name: iptablesMarkMask
      type:
        scalar: numeric
    - name: iptablesNATOutgoingInterfaceFilter
      type:
        scalar: string
    - name: iptablesPostWriteCheckInterval
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: iptablesRefreshInterval
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: ipv4ElevatedRoutePriority
      type:
        scalar: numeric
    - name: ipv4NormalRoutePriority
      type:
        scalar: numeric
    - name: ipv6ElevatedRoutePriority
      type:
        scalar: numeric
    - name: ipv6NormalRoutePriority
      type:
        scalar: numeric
    - name: ipv6Support
      type:
        scalar: boolean
    - name: istioAmbientMode
      type:
        scalar: string
    - name: istioDSCPMark
      type:
        namedType: com.github.projectcalico.api.pkg.lib.numorstring.DSCP
    - name: kubeNodePortRanges
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.lib.numorstring.Port
          elementRelationship: atomic
    - name: liveMigrationRouteConvergenceTime
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: logActionRateLimit
      type:
        scalar: string
    - name: logActionRateLimitBurst
      type:
        scalar: numeric
    - name: logDebugFilenameRegex
      type:
        scalar: string
    - name: logFilePath
      type:
        scalar: string
    - name: logPrefix
      type:
        scalar: string
    - name: logSeverityFile
      type:
        scalar: string
    - name: logSeverityScreen
      type:
        scalar: string
    - name: logSeveritySys
      type:
        scalar: string
    - name: maxIpsetSize
      type:
        scalar: numeric
    - name: metadataAddr
      type:
        scalar: string
    - name: metadataPort
      type:
        scalar: numeric
    - name: mtuIfacePattern
      type:
        scalar: string
    - name: natOutgoingAddress
      type:
        scalar: string
    - name: natOutgoingExclusions
      type:
        scalar: string
    - name: natPortRange
      type:
        namedType: com.github.projectcalico.api.pkg.lib.numorstring.Port
    - name: netlinkTimeout
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: nftablesFilterAllowAction
      type:
        scalar: string
    - name: nftablesFilterDenyAction
      type:
        scalar: string
    - name: nftablesMangleAllowAction
      type:
        scalar: string
    - name: nftablesMarkMask
      type:
        scalar: numeric
    - name: nftablesMode
      type:
        scalar: string
    - name: nftablesRefreshInterval
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: nodeSelector
      type:
        scalar: string
    - name: openstackRegion
      type:
        scalar: string
    - name: policySyncPathPrefix
      type:
        scalar: string
    - name: programClusterRoutes
      type:
        scalar: string
    - name: prometheusGoMetricsEnabled
      type:
        scalar: boolean
    - name: prometheusMetricsCAFile
      type:
        scalar: string
    - name: prometheusMetricsCertFile
      type:
        scalar: string
    - name: prometheusMetricsClientAuth
      type:
        scalar: string
    - name: prometheusMetricsEnabled
      type:
        scalar: boolean
    - name: prometheusMetricsHost
      type:
        scalar: string
    - name: prometheusMetricsKeyFile
      type:
        scalar: string
    - name: prometheusMetricsPort
      type:
        scalar: numeric
    - name: prometheusProcessMetricsEnabled
      type:
        scalar: boolean
    - name: prometheusWireGuardMetricsEnabled
      type:
        scalar: boolean
    - name: removeExternalRoutes
      type:
        scalar: boolean
    - name: reportingInterval
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: reportingTTL
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: requireMTUFile
      type:
        scalar: boolean
    - name: routeRefreshInterval
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: routeSource
      type:
        scalar: string
    - name: routeSyncDisabled
      type:
        scalar: boolean
    - name: routeTableRange
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.RouteTableRange
    - name: routeTableRanges
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.RouteTableIDRange
          elementRelationship: atomic
    - name: serviceLoopPrevention
      type:
        scalar: string
    - name: sidecarAccelerationEnabled
      type:
        scalar: boolean
    - name: usageReportingEnabled
      type:
        scalar: boolean
    - name: usageReportingInitialDelay
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: usageReportingInterval
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: useInternalDataplaneDriver
      type:
        scalar: boolean
    - name: vxlanEnabled
      type:
        scalar: boolean
    - name: vxlanMTU
      type:
        scalar: numeric
    - name: vxlanMTUV6
      type:
        scalar: numeric
    - name: vxlanPort
      type:
        scalar: numeric
    - name: vxlanVNI
      type:
        scalar: numeric
    - name: windowsManageFirewallRules
      type:
        scalar: string
    - name: wireguardEnabled
      type:
        scalar: boolean
    - name: wireguardEnabledV6
      type:
        scalar: boolean
    - name: wireguardHostEncryptionEnabled
      type:
        scalar: boolean
    - name: wireguardInterfaceName
      type:
        scalar: string
    - name: wireguardInterfaceNameV6
      type:
        scalar: string
    - name: wireguardKeepAlive
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: wireguardListeningPort
      type:
        scalar: numeric
    - name: wireguardListeningPortV6
      type:
        scalar: numeric
    - name: wireguardMTU
      type:
        scalar: numeric
    - name: wireguardMTUV6
      type:
        scalar: numeric
    - name: wireguardRoutingRulePriority
      type:
        scalar: numeric
    - name: wireguardThreadingEnabled
      type:
        scalar: boolean
    - name: workloadSourceSpoofing
      type:
        scalar: string
    - name: xdpEnabled
      type:
        scalar: boolean
    - name: xdpRefreshInterval
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.GlobalNetworkPolicy
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.GlobalNetworkPolicySpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.GlobalNetworkPolicySpec
  map:
    fields:
    - name: applyOnForward
      type:
        scalar: boolean
    - name: doNotTrack
      type:
        scalar: boolean
    - name: egress
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Rule
          elementRelationship: atomic
    - name: ingress
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Rule
          elementRelationship: atomic
    - name: namespaceSelector
      type:
        scalar: string
    - name: order
      type:
        scalar: numeric
    - name: performanceHints
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: preDNAT
      type:
        scalar: boolean
    - name: selector
      type:
        scalar: string
    - name: serviceAccountSelector
      type:
        scalar: string
    - name: tier
      type:
        scalar: string
    - name: types
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.GlobalNetworkSet
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.GlobalNetworkSetSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.GlobalNetworkSetSpec
  map:
    fields:
    - name: nets
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.HTTPMatch
  map:
    fields:
    - name: methods
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: paths
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.HTTPPath
          elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.HTTPPath
  map:
    fields:
    - name: exact
      type:
        scalar: string
    - name: prefix
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.HealthTimeoutOverride
  map:
    fields:
    - name: name
      type:
        scalar: string
      default: ""
    - name: timeout
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.HostEndpoint
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.HostEndpointSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.HostEndpointSpec
  map:
    fields:
    - name: expectedIPs
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
    - name: interfaceName
      type:
        scalar: string
    - name: node
      type:
        scalar: string
    - name: ports
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.EndpointPort
          elementRelationship: atomic
    - name: profiles
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ICMPFields
  map:
    fields:
    - name: code
      type:
        scalar: numeric
    - name: type
      type:
        scalar: numeric
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPAMBlock
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPAMBlockSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPAMBlockSpec
  map:
    fields:
    - name: affinity
      type:
        scalar: string
    - name: affinityClaimTime
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time
    - name: allocations
      type:
        list:
          elementType:
            scalar: numeric
          elementRelationship: atomic
    - name: attributes
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.AllocationAttribute
          elementRelationship: atomic
    - name: cidr
      type:
        scalar: string
      default: ""
    - name: deleted
      type:
        scalar: boolean
      default: false
    - name: sequenceNumber
      type:
        scalar: numeric
      default: 0
    - name: sequenceNumberForAllocation
      type:
        map:
          elementType:
            scalar: numeric
    - name: strictAffinity
      type:
        scalar: boolean
      default: false
    - name: unallocated
      type:
        list:
          elementType:
            scalar: numeric
          elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPAMConfiguration
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPAMConfigurationSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPAMConfigurationSpec
  map:
    fields:
    - name: autoAllocateBlocks
      type:
        scalar: boolean
      default: false
    - name: kubeVirtVMAddressPersistence
      type:
        scalar: string
    - name: maxBlocksPerHost
      type:
        scalar: numeric
    - name: strictAffinity
      type:
        scalar: boolean
      default: false
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPAMHandle
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPAMHandleSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPAMHandleSpec
  map:
    fields:
    - name: block
      type:
        map:
          elementType:
            scalar: numeric
    - name: deleted
      type:
        scalar: boolean
      default: false
    - name: handleID
      type:
        scalar: string
      default: ""
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPPool
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPPoolSpec
      default: {}
    - name: status
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPPoolStatus
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPPoolSpec
  map:
    fields:
    - name: allowedUses
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
    - name: assignmentMode
      type:
        scalar: string
    - name: blockSize
      type:
        scalar: numeric
    - name: cidr
      type:
        scalar: string
      default: ""
    - name: disableBGPExport
      type:
        scalar: boolean
    - name: disabled
      type:
        scalar: boolean
    - name: ipipMode
      type:
        scalar: string
    - name: namespaceSelector
      type:
        scalar: string
    - name: natOutgoing
      type:
        scalar: boolean
    - name: nodeSelector
      type:
        scalar: string
    - name: vxlanMode
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPPoolStatus
  map:
    fields:
    - name: conditions
      type:
        list:
          elementType:
            namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition
          elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPReservation
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPReservationSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.IPReservationSpec
  map:
    fields:
    - name: reservedCIDRs
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.KubeControllersConfiguration
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.KubeControllersConfigurationSpec
      default: {}
    - name: status
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.KubeControllersConfigurationStatus
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.KubeControllersConfigurationSpec
  map:
    fields:
    - name: controllers
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ControllersConfig
      default: {}
    - name: debugProfilePort
      type:
        scalar: numeric
    - name: etcdV3CompactionPeriod
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: healthChecks
      type:
        scalar: string
    - name: logSeverityScreen
      type:
        scalar: string
    - name: prometheusMetricsPort
      type:
        scalar: numeric
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.KubeControllersConfigurationStatus
  map:
    fields:
    - name: environmentVars
      type:
        map:
          elementType:
            scalar: string
    - name: runningConfig
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.KubeControllersConfigurationSpec
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.LoadBalancerControllerConfig
  map:
    fields:
    - name: assignIPs
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.MigrationControllerConfig
  map:
    fields:
    - name: enabled
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.NamespaceControllerConfig
  map:
    fields:
    - name: reconcilerPeriod
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.NetworkPolicy
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.NetworkPolicySpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.NetworkPolicySpec
  map:
    fields:
    - name: egress
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Rule
          elementRelationship: atomic
    - name: ingress
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Rule
          elementRelationship: atomic
    - name: order
      type:
        scalar: numeric
    - name: performanceHints
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: selector
      type:
        scalar: string
    - name: serviceAccountSelector
      type:
        scalar: string
    - name: tier
      type:
        scalar: string
    - name: types
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.NetworkSet
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.NetworkSetSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.NetworkSetSpec
  map:
    fields:
    - name: nets
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.NodeControllerConfig
  map:
    fields:
    - name: hostEndpoint
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.AutoHostEndpointConfig
    - name: leakGracePeriod
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: reconcilerPeriod
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
    - name: syncLabels
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.PolicyControllerConfig
  map:
    fields:
    - name: reconcilerPeriod
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.PrefixAdvertisement
  map:
    fields:
    - name: cidr
      type:
        scalar: string
    - name: communities
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Profile
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ProfileSpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ProfileSpec
  map:
    fields:
    - name: egress
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Rule
          elementRelationship: atomic
    - name: ingress
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Rule
          elementRelationship: atomic
    - name: labelsToApply
      type:
        map:
          elementType:
            scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ProtoPort
  map:
    fields:
    - name: net
      type:
        scalar: string
    - name: port
      type:
        scalar: numeric
      default: 0
    - name: protocol
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.RouteTableIDRange
  map:
    fields:
    - name: max
      type:
        scalar: numeric
      default: 0
    - name: min
      type:
        scalar: numeric
      default: 0
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.RouteTableRange
  map:
    fields:
    - name: max
      type:
        scalar: numeric
      default: 0
    - name: min
      type:
        scalar: numeric
      default: 0
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Rule
  map:
    fields:
    - name: action
      type:
        scalar: string
      default: ""
    - name: destination
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.EntityRule
      default: {}
    - name: http
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.HTTPMatch
    - name: icmp
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ICMPFields
    - name: ipVersion
      type:
        scalar: numeric
    - name: metadata
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.RuleMetadata
    - name: notICMP
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ICMPFields
    - name: notProtocol
      type:
        namedType: com.github.projectcalico.api.pkg.lib.numorstring.Protocol
    - name: protocol
      type:
        namedType: com.github.projectcalico.api.pkg.lib.numorstring.Protocol
    - name: source
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.EntityRule
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.RuleMetadata
  map:
    fields:
    - name: annotations
      type:
        map:
          elementType:
            scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceAccountControllerConfig
  map:
    fields:
    - name: reconcilerPeriod
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceAccountMatch
  map:
    fields:
    - name: names
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
    - name: selector
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceClusterIPBlock
  map:
    fields:
    - name: cidr
      type:
        scalar: string
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceExternalIPBlock
  map:
    fields:
    - name: cidr
      type:
        scalar: string
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceLoadBalancerIPBlock
  map:
    fields:
    - name: cidr
      type:
        scalar: string
    elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.ServiceMatch
  map:
    fields:
    - name: name
      type:
        scalar: string
    - name: namespace
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.StagedGlobalNetworkPolicy
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.StagedGlobalNetworkPolicySpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.StagedGlobalNetworkPolicySpec
  map:
    fields:
    - name: applyOnForward
      type:
        scalar: boolean
    - name: doNotTrack
      type:
        scalar: boolean
    - name: egress
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Rule
          elementRelationship: atomic
    - name: ingress
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Rule
          elementRelationship: atomic
    - name: namespaceSelector
      type:
        scalar: string
    - name: order
      type:
        scalar: numeric
    - name: performanceHints
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: preDNAT
      type:
        scalar: boolean
    - name: selector
      type:
        scalar: string
    - name: serviceAccountSelector
      type:
        scalar: string
    - name: stagedAction
      type:
        scalar: string
    - name: tier
      type:
        scalar: string
    - name: types
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.StagedKubernetesNetworkPolicy
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.StagedKubernetesNetworkPolicySpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.StagedKubernetesNetworkPolicySpec
  map:
    fields:
    - name: egress
      type:
        list:
          elementType:
            namedType: io.k8s.api.networking.v1.NetworkPolicyEgressRule
          elementRelationship: atomic
    - name: ingress
      type:
        list:
          elementType:
            namedType: io.k8s.api.networking.v1.NetworkPolicyIngressRule
          elementRelationship: atomic
    - name: podSelector
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector
      default: {}
    - name: policyTypes
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
    - name: stagedAction
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.StagedNetworkPolicy
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.StagedNetworkPolicySpec
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.StagedNetworkPolicySpec
  map:
    fields:
    - name: egress
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Rule
          elementRelationship: atomic
    - name: ingress
      type:
        list:
          elementType:
            namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Rule
          elementRelationship: atomic
    - name: order
      type:
        scalar: numeric
    - name: performanceHints
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
    - name: selector
      type:
        scalar: string
    - name: serviceAccountSelector
      type:
        scalar: string
    - name: stagedAction
      type:
        scalar: string
    - name: tier
      type:
        scalar: string
    - name: types
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Template
  map:
    fields:
    - name: generateName
      type:
        scalar: string
    - name: interfaceCIDRs
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
    - name: interfacePattern
      type:
        scalar: string
    - name: labels
      type:
        map:
          elementType:
            scalar: string
    - name: nodeSelector
      type:
        scalar: string
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.Tier
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: kind
      type:
        scalar: string
    - name: metadata
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
      default: {}
    - name: spec
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.TierSpec
      default: {}
    - name: status
      type:
        namedType: com.github.projectcalico.api.pkg.apis.projectcalico.v3.TierStatus
      default: {}
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.TierSpec
  map:
    fields:
    - name: defaultAction
      type:
        scalar: string
    - name: order
      type:
        scalar: numeric
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.TierStatus
  map:
    fields:
    - name: conditions
      type:
        list:
          elementType:
            namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Condition
          elementRelationship: atomic
- name: com.github.projectcalico.api.pkg.apis.projectcalico.v3.WorkloadEndpointControllerConfig
  map:
    fields:
    - name: reconcilerPeriod
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
- name: com.github.projectcalico.api.pkg.lib.numorstring.DSCP
  scalar: untyped
- name: com.github.projectcalico.api.pkg.lib.numorstring.Port
  scalar: untyped
- name: com.github.projectcalico.api.pkg.lib.numorstring.Protocol
  scalar: untyped
- name: io.k8s.api.core.v1.SecretKeySelector
  map:
    fields:
    - name: key
      type:
        scalar: string
      default: ""
    - name: name
      type:
        scalar: string
      default: ""
    - name: optional
      type:
        scalar: boolean
    elementRelationship: atomic
- name: io.k8s.api.networking.v1.IPBlock
  map:
    fields:
    - name: cidr
      type:
        scalar: string
      default: ""
    - name: except
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
- name: io.k8s.api.networking.v1.NetworkPolicyEgressRule
  map:
    fields:
    - name: ports
      type:
        list:
          elementType:
            namedType: io.k8s.api.networking.v1.NetworkPolicyPort
          elementRelationship: atomic
    - name: to
      type:
        list:
          elementType:
            namedType: io.k8s.api.networking.v1.NetworkPolicyPeer
          elementRelationship: atomic
- name: io.k8s.api.networking.v1.NetworkPolicyIngressRule
  map:
    fields:
    - name: from
      type:
        list:
          elementType:
            namedType: io.k8s.api.networking.v1.NetworkPolicyPeer
          elementRelationship: atomic
    - name: ports
      type:
        list:
          elementType:
            namedType: io.k8s.api.networking.v1.NetworkPolicyPort
          elementRelationship: atomic
- name: io.k8s.api.networking.v1.NetworkPolicyPeer
  map:
    fields:
    - name: ipBlock
      type:
        namedType: io.k8s.api.networking.v1.IPBlock
    - name: namespaceSelector
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector
    - name: podSelector
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector
- name: io.k8s.api.networking.v1.NetworkPolicyPort
  map:
    fields:
    - name: endPort
      type:
        scalar: numeric
    - name: port
      type:
        namedType: io.k8s.apimachinery.pkg.util.intstr.IntOrString
    - name: protocol
      type:
        scalar: string
- name: io.k8s.apimachinery.pkg.apis.meta.v1.Condition
  map:
    fields:
    - name: lastTransitionTime
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time
    - name: message
      type:
        scalar: string
      default: ""
    - name: observedGeneration
      type:
        scalar: numeric
    - name: reason
      type:
        scalar: string
      default: ""
    - name: status
      type:
        scalar: string
      default: ""
    - name: type
      type:
        scalar: string
      default: ""
- name: io.k8s.apimachinery.pkg.apis.meta.v1.Duration
  scalar: string
- name: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1
  map:
    elementType:
      scalar: untyped
      list:
        elementType:
          namedType: __untyped_atomic_
        elementRelationship: atomic
      map:
        elementType:
          namedType: __untyped_deduced_
        elementRelationship: separable
- name: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector
  map:
    fields:
    - name: matchExpressions
      type:
        list:
          elementType:
            namedType: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement
          elementRelationship: atomic
    - name: matchLabels
      type:
        map:
          elementType:
            scalar: string
    elementRelationship: atomic
- name: io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement
  map:
    fields:
    - name: key
      type:
        scalar: string
      default: ""
    - name: operator
      type:
        scalar: string
      default: ""
    - name: values
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: atomic
- name: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
    - name: fieldsType
      type:
        scalar: string
    - name: fieldsV1
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1
    - name: manager
      type:
        scalar: string
    - name: operation
      type:
        scalar: string
    - name: subresource
      type:
        scalar: string
    - name: time
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time
- name: io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta
  map:
    fields:
    - name: annotations
      type:
        map:
          elementType:
            scalar: string
    - name: creationTimestamp
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time
    - name: deletionGracePeriodSeconds
      type:
        scalar: numeric
    - name: deletionTimestamp
      type:
        namedType: io.k8s.apimachinery.pkg.apis.meta.v1.Time
    - name: finalizers
      type:
        list:
          elementType:
            scalar: string
          elementRelationship: associative
    - name: generateName
      type:
        scalar: string
    - name: generation
      type:
        scalar: numeric
    - name: labels
      type:
        map:
          elementType:
            scalar: string
    - name: managedFields
      type:
        list:
          elementType:
            namedType: io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry
          elementRelationship: atomic
    - name: name
      type:
        scalar: string
    - name: namespace
      type:
        scalar: string
    - name: ownerReferences
      type:
        list:
          elementType:
            namedType: io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference
          elementRelationship: associative
          keys:
          - uid
    - name: resourceVersion
      type:
        scalar: string
    - name: selfLink
      type:
        scalar: string
    - name: uid
      type:
        scalar: string
- name: io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference
  map:
    fields:
    - name: apiVersion
      type:
        scalar: string
      default: ""
    - name: blockOwnerDeletion
      type:
        scalar: boolean
    - name: controller
      type:
        scalar: boolean
    - name: kind
      type:
        scalar: string
      default: ""
    - name: name
      type:
        scalar: string
      default: ""
    - name: uid
      type:
        scalar: string
      default: ""
    elementRelationship: atomic
- name: io.k8s.apimachinery.pkg.apis.meta.v1.Time
  scalar: untyped
- name: io.k8s.apimachinery.pkg.util.intstr.IntOrString
  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
`)
