Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the network v1alpha1 API group +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=network.qingcloud.com
Package v1alpha1 contains API Schema definitions for the network v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=network.qingcloud.com
Index ¶
- Constants
- Variables
- func ConvertToBlockName(k string) string
- func Resource(resource string) schema.GroupResource
- type AllocationAttribute
- type DNS
- type IPAMBlock
- func (b *IPAMBlock) AutoAssign(num int, handleID string, attrs map[string]string) []cnet.IPNet
- func (b *IPAMBlock) BlockName() string
- func (in *IPAMBlock) DeepCopy() *IPAMBlock
- func (in *IPAMBlock) DeepCopyInto(out *IPAMBlock)
- func (in *IPAMBlock) DeepCopyObject() runtime.Object
- func (b *IPAMBlock) Empty() bool
- func (b *IPAMBlock) ID() uint32
- func (b *IPAMBlock) IPToOrdinal(ip cnet.IP) (int, error)
- func (b *IPAMBlock) IsDeleted() bool
- func (b *IPAMBlock) MarkDeleted()
- func (b *IPAMBlock) NumAddresses() int
- func (b *IPAMBlock) NumFreeAddresses() int
- func (b *IPAMBlock) NumReservedAddresses() int
- func (b *IPAMBlock) ReleaseByHandle(handleID string) int
- func (b *IPAMBlock) String() string
- type IPAMBlockList
- type IPAMBlockSpec
- type IPAMHandle
- func (h *IPAMHandle) DecrementBlock(block *IPAMBlock, num int) (*int, error)
- func (in *IPAMHandle) DeepCopy() *IPAMHandle
- func (in *IPAMHandle) DeepCopyInto(out *IPAMHandle)
- func (in *IPAMHandle) DeepCopyObject() runtime.Object
- func (h *IPAMHandle) Empty() bool
- func (h *IPAMHandle) IncrementBlock(block *IPAMBlock, num int) int
- func (h *IPAMHandle) IsDeleted() bool
- func (h *IPAMHandle) MarkDeleted()
- type IPAMHandleList
- type IPAMHandleSpec
- type IPPool
- func (in *IPPool) DeepCopy() *IPPool
- func (in *IPPool) DeepCopyInto(out *IPPool)
- func (in *IPPool) DeepCopyObject() runtime.Object
- func (p IPPool) Disabled() bool
- func (b IPPool) EndReservedAddressed() int
- func (pool IPPool) ID() uint32
- func (b IPPool) IPToOrdinal(ip cnet.IP) (int, error)
- func (b IPPool) NumAddresses() int
- func (b IPPool) NumReservedAddresses() int
- func (b IPPool) Overlapped(dst IPPool) bool
- func (b IPPool) StartReservedAddressed() int
- func (b IPPool) Type() string
- func (p IPPool) TypeInvalid() bool
- func (p IPPool) V4() bool
- type IPPoolList
- type IPPoolSpec
- type IPPoolStatus
- type PoolInfo
- type ReservedAttr
- type Route
- type VLANConfig
- type VxNetPool
- type VxNetPoolList
- type VxNetPoolSpec
- type VxNetPoolStatus
- type VxnetInfo
- type WorkspaceStatus
Constants ¶
const ( ResourceKindIPAMBlock = "IPAMBlock" ResourceSingularIPAMBlock = "ipamblock" ResourcePluralIPAMBlock = "ipamblocks" IPAMBlockAttributePod = "pod" IPAMBlockAttributeVm = "vm" IPAMBlockAttributeWorkloadType = "workload-type" IPAMBlockAttributeNamespace = "namespace" IPAMBlockAttributeWorkspace = "workspace" IPAMBlockAttributeNode = "node" IPAMBlockAttributePool = "pool-name" IPAMBlockAttributeType = "pool-type" ReservedHandle = "kubesphere-reserved-handle" ReservedNote = "kubesphere reserved" )
const ( ResourceKindIPAMHandle = "IPAMHandle" ResourceSingularIPAMHandle = "ipamhandle" ResourcePluralIPAMHandle = "ipamhandles" )
const ( ResourceKindIPPool = "IPPool" ResourceSingularIPPool = "ippool" ResourcePluralIPPool = "ippools" // scope type > id > name // id used to detect cidr overlap IPPoolTypeLabel = "ippool.network.qingcloud.com/type" IPPoolNameLabel = "ippool.network.qingcloud.com/name" IPPoolIDLabel = "ippool.network.qingcloud.com/id" IPPoolDefaultLabel = "ippool.network.qingcloud.com/default" IPPoolTypeNone = "none" IPPoolTypeLocal = "local" IPPoolTypeCalico = "calico" )
const ( Local = "local" VLAN = "vlan" Calico = "calico" Porter = "porter" Pod = "pod" VLANIDStart = 1 VLANIDEnd = 4097 PorterID = 4098 CalicoID = 4099 LocalID = 4100 PodID = 0 )
const IPPoolFinalizer = "finalizers.network.qingcloud.com/ippool"
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "network.qingcloud.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme is required by pkg/client/... AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func ConvertToBlockName ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource is required by pkg/client/listers/...
Types ¶
type AllocationAttribute ¶
type AllocationAttribute struct { AttrPrimary string `json:"handle_id,omitempty"` AttrSecondary map[string]string `json:"secondary,omitempty"` }
func (*AllocationAttribute) DeepCopy ¶
func (in *AllocationAttribute) DeepCopy() *AllocationAttribute
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationAttribute.
func (*AllocationAttribute) DeepCopyInto ¶
func (in *AllocationAttribute) DeepCopyInto(out *AllocationAttribute)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNS ¶
type DNS struct { Nameservers []string `json:"nameservers,omitempty"` Domain string `json:"domain,omitempty"` Search []string `json:"search,omitempty"` Options []string `json:"options,omitempty"` }
DNS contains values interesting for DNS resolvers
func (*DNS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNS.
func (*DNS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAMBlock ¶
type IPAMBlock struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the IPAMBlock. Spec IPAMBlockSpec `json:"spec,omitempty"` }
+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func NewBlock ¶
func NewBlock(pool *IPPool, cidr cnet.IPNet, rsvdAttr *ReservedAttr) *IPAMBlock
This just initializes the data structure and does not call the api to create
func (*IPAMBlock) AutoAssign ¶
The caller needs to check that the returned slice length is correct.
func (*IPAMBlock) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMBlock.
func (*IPAMBlock) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMBlock) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IPAMBlock) Empty ¶
empty returns true if the block has released all of its assignable addresses, and returns false if any assignable addresses are in use.
func (*IPAMBlock) IPToOrdinal ¶
Find the ordinal (i.e. how far into the block) a given IP lies. Returns an error if the IP is outside the block.
func (*IPAMBlock) MarkDeleted ¶
func (b *IPAMBlock) MarkDeleted()
func (*IPAMBlock) NumAddresses ¶
Get number of addresses covered by the block
func (*IPAMBlock) NumFreeAddresses ¶
func (*IPAMBlock) NumReservedAddresses ¶
func (*IPAMBlock) ReleaseByHandle ¶
type IPAMBlockList ¶
type IPAMBlockList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []IPAMBlock `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +genclient:nonNamespaced
func (*IPAMBlockList) DeepCopy ¶
func (in *IPAMBlockList) DeepCopy() *IPAMBlockList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMBlockList.
func (*IPAMBlockList) DeepCopyInto ¶
func (in *IPAMBlockList) DeepCopyInto(out *IPAMBlockList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMBlockList) DeepCopyObject ¶
func (in *IPAMBlockList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMBlockSpec ¶
type IPAMBlockSpec struct { ID uint32 `json:"id"` CIDR string `json:"cidr"` // TODO: https://github.com/kubernetes-sigs/controller-tools/issues/461 Allocations []*int `json:"allocations,omitempty"` Unallocated []int `json:"unallocated"` Attributes []AllocationAttribute `json:"attributes"` Deleted bool `json:"deleted"` }
IPAMBlockSpec contains the specification for an IPAMBlock resource.
func (*IPAMBlockSpec) DeepCopy ¶
func (in *IPAMBlockSpec) DeepCopy() *IPAMBlockSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMBlockSpec.
func (*IPAMBlockSpec) DeepCopyInto ¶
func (in *IPAMBlockSpec) DeepCopyInto(out *IPAMBlockSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAMHandle ¶
type IPAMHandle struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the IPAMHandle. Spec IPAMHandleSpec `json:"spec,omitempty"` }
+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*IPAMHandle) DecrementBlock ¶
func (h *IPAMHandle) DecrementBlock(block *IPAMBlock, num int) (*int, error)
func (*IPAMHandle) DeepCopy ¶
func (in *IPAMHandle) DeepCopy() *IPAMHandle
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMHandle.
func (*IPAMHandle) DeepCopyInto ¶
func (in *IPAMHandle) DeepCopyInto(out *IPAMHandle)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMHandle) DeepCopyObject ¶
func (in *IPAMHandle) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IPAMHandle) Empty ¶
func (h *IPAMHandle) Empty() bool
func (*IPAMHandle) IncrementBlock ¶
func (h *IPAMHandle) IncrementBlock(block *IPAMBlock, num int) int
func (*IPAMHandle) IsDeleted ¶
func (h *IPAMHandle) IsDeleted() bool
func (*IPAMHandle) MarkDeleted ¶
func (h *IPAMHandle) MarkDeleted()
type IPAMHandleList ¶
type IPAMHandleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []IPAMHandle `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +genclient:nonNamespaced
func (*IPAMHandleList) DeepCopy ¶
func (in *IPAMHandleList) DeepCopy() *IPAMHandleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMHandleList.
func (*IPAMHandleList) DeepCopyInto ¶
func (in *IPAMHandleList) DeepCopyInto(out *IPAMHandleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMHandleList) DeepCopyObject ¶
func (in *IPAMHandleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMHandleSpec ¶
type IPAMHandleSpec struct { HandleID string `json:"handleID"` Block map[string]int `json:"block"` Deleted bool `json:"deleted"` }
IPAMHandleSpec contains the specification for an IPAMHandle resource.
func (*IPAMHandleSpec) DeepCopy ¶
func (in *IPAMHandleSpec) DeepCopy() *IPAMHandleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMHandleSpec.
func (*IPAMHandleSpec) DeepCopyInto ¶
func (in *IPAMHandleSpec) DeepCopyInto(out *IPAMHandleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPPool ¶
type IPPool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec IPPoolSpec `json:"spec,omitempty"` // +optional Status IPPoolStatus `json:"status,omitempty"` }
+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster
func (*IPPool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPool.
func (*IPPool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPPool) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (IPPool) EndReservedAddressed ¶
func (IPPool) IPToOrdinal ¶
Find the ordinal (i.e. how far into the block) a given IP lies. Returns an error if the IP is outside the block.
func (IPPool) NumAddresses ¶
Get number of addresses covered by the block
func (IPPool) NumReservedAddresses ¶
func (IPPool) Overlapped ¶
func (IPPool) StartReservedAddressed ¶
func (IPPool) TypeInvalid ¶
type IPPoolList ¶
type IPPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IPPool `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +genclient:nonNamespaced
func (*IPPoolList) DeepCopy ¶
func (in *IPPoolList) DeepCopy() *IPPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPoolList.
func (*IPPoolList) DeepCopyInto ¶
func (in *IPPoolList) DeepCopyInto(out *IPPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPPoolList) DeepCopyObject ¶
func (in *IPPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPPoolSpec ¶
type IPPoolSpec struct { Type string `json:"type"` // The pool CIDR. CIDR string `json:"cidr"` // The first ip, inclusive RangeStart string `json:"rangeStart,omitempty"` // The last ip, inclusive RangeEnd string `json:"rangeEnd,omitempty"` // When disabled is true, IPAM will not assign addresses from this pool. Disabled bool `json:"disabled,omitempty"` // The block size to use for IP address assignments from this pool. Defaults to 26 for IPv4 and 112 for IPv6. BlockSize int `json:"blockSize,omitempty"` VLAN VLANConfig `json:"vlanConfig,omitempty"` Gateway string `json:"gateway,omitempty"` Routes []Route `json:"routes,omitempty"` DNS DNS `json:"dns,omitempty"` }
func (*IPPoolSpec) DeepCopy ¶
func (in *IPPoolSpec) DeepCopy() *IPPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPoolSpec.
func (*IPPoolSpec) DeepCopyInto ¶
func (in *IPPoolSpec) DeepCopyInto(out *IPPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPPoolStatus ¶
type IPPoolStatus struct { Unallocated int `json:"unallocated"` Allocations int `json:"allocations"` Capacity int `json:"capacity"` Reserved int `json:"reserved,omitempty"` Synced bool `json:"synced,omitempty"` Workspaces map[string]WorkspaceStatus `json:"workspaces,omitempty"` }
func (*IPPoolStatus) DeepCopy ¶
func (in *IPPoolStatus) DeepCopy() *IPPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPoolStatus.
func (*IPPoolStatus) DeepCopyInto ¶
func (in *IPPoolStatus) DeepCopyInto(out *IPPoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PoolInfo ¶
type PoolInfo struct { Name string `json:"name"` IPPool string `json:"ippool"` Subnets []string `json:"subnets,omitempty"` }
func (*PoolInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolInfo.
func (*PoolInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReservedAttr ¶
type ReservedAttr struct { // Number of addresses reserved from start of the block. StartOfBlock int // Number of addresses reserved from end of the block. EndOfBlock int // Handle for reserved addresses. Handle string // A description about the reserves. Note string }
func (*ReservedAttr) DeepCopy ¶
func (in *ReservedAttr) DeepCopy() *ReservedAttr
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReservedAttr.
func (*ReservedAttr) DeepCopyInto ¶
func (in *ReservedAttr) DeepCopyInto(out *ReservedAttr)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Route ¶
func (*Route) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
func (*Route) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VLANConfig ¶
func (*VLANConfig) DeepCopy ¶
func (in *VLANConfig) DeepCopy() *VLANConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VLANConfig.
func (*VLANConfig) DeepCopyInto ¶
func (in *VLANConfig) DeepCopyInto(out *VLANConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VxNetPool ¶
type VxNetPool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec VxNetPoolSpec `json:"spec"` // +optional Status VxNetPoolStatus `json:"status"` }
VxNetPool is a specification for a VxNetPool resource
func (*VxNetPool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VxNetPool.
func (*VxNetPool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VxNetPool) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VxNetPoolList ¶
type VxNetPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []VxNetPool `json:"items"` }
VxNetPoolList is a list of VxNetPool resources
func (*VxNetPoolList) DeepCopy ¶
func (in *VxNetPoolList) DeepCopy() *VxNetPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VxNetPoolList.
func (*VxNetPoolList) DeepCopyInto ¶
func (in *VxNetPoolList) DeepCopyInto(out *VxNetPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VxNetPoolList) DeepCopyObject ¶
func (in *VxNetPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VxNetPoolSpec ¶
type VxNetPoolSpec struct { // vxnets in VxNetPool Vxnets []VxnetInfo `json:"vxnets"` // The block size to use for IP address assignments from this pool. Defaults to 26 for IPv4 and 112 for IPv6. BlockSize int `json:"blockSize"` }
VxNetPoolSpec is the spec for a VxNetPool resource
func (*VxNetPoolSpec) DeepCopy ¶
func (in *VxNetPoolSpec) DeepCopy() *VxNetPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VxNetPoolSpec.
func (*VxNetPoolSpec) DeepCopyInto ¶
func (in *VxNetPoolSpec) DeepCopyInto(out *VxNetPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VxNetPoolStatus ¶
type VxNetPoolStatus struct { // +optional Ready bool `json:"ready"` // +optional Message *string `json:"message,omitempty"` // +optional Process *string `json:"process,omitempty"` // +optional Pools []PoolInfo `json:"pools,omitempty"` }
VxNetPoolStatus is the status for a VxNetPool resource
func (*VxNetPoolStatus) DeepCopy ¶
func (in *VxNetPoolStatus) DeepCopy() *VxNetPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VxNetPoolStatus.
func (*VxNetPoolStatus) DeepCopyInto ¶
func (in *VxNetPoolStatus) DeepCopyInto(out *VxNetPoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VxnetInfo ¶
type VxnetInfo struct {
Name string `json:"name"`
}
func (*VxnetInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VxnetInfo.
func (*VxnetInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkspaceStatus ¶
type WorkspaceStatus struct {
Allocations int `json:"allocations"`
}
func (*WorkspaceStatus) DeepCopy ¶
func (in *WorkspaceStatus) DeepCopy() *WorkspaceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkspaceStatus.
func (*WorkspaceStatus) DeepCopyInto ¶
func (in *WorkspaceStatus) DeepCopyInto(out *WorkspaceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.