func NewIPPoolList() *IPPoolList {
	return &IPPoolList{
		TypeMetadata: unversioned.TypeMetadata{
			Kind:       "ipPoolList",
			APIVersion: unversioned.VersionCurrent,
		},
	}
}
NewIPPool creates a new (zeroed) PoolList struct with the TypeMetadata initialised to the current
version.
package v1
import (
	"fmt"
	"github.com/projectcalico/libcalico-go/lib/apis/v1/unversioned"
	"github.com/projectcalico/libcalico-go/lib/backend/encap"
	"github.com/projectcalico/libcalico-go/lib/net"
)
type IPPool struct {
	unversioned.TypeMetadata
	Metadata IPPoolMetadata `json:"metadata,omitempty"`
	Spec     IPPoolSpec     `json:"spec,omitempty"`
}
func (t IPPool) GetResourceMetadata() unversioned.ResourceMetadata {
	return t.Metadata
}
func (t IPPool) String() string {
	return fmt.Sprintf("IPPool(CIDR=%s)", t.Metadata.CIDR.String())
}
type IPPoolMetadata struct {
	unversioned.ObjectMetadata
	CIDR net.IPNet `json:"cidr"`
}
type IPPoolSpec struct {
	IPIP *IPIPConfiguration `json:"ipip,omitempty"`
	NATOutgoing bool `json:"nat-outgoing,omitempty"`
	Disabled bool `json:"disabled,omitempty"`
}
type IPIPConfiguration struct {
	Enabled bool `json:"enabled,omitempty"`
	Mode encap.Mode `json:"mode,omitempty" validate:"ipIpMode"`
}
func NewIPPool() *IPPool {
	return &IPPool{
		TypeMetadata: unversioned.TypeMetadata{
			Kind:       "ipPool",
			APIVersion: unversioned.VersionCurrent,
		},
	}
}
type IPPoolList struct {
	unversioned.TypeMetadata
	Metadata unversioned.ListMetadata `json:"metadata,omitempty"`
	Items    []IPPool                 `json:"items" validate:"dive"`
}