
The ranges will be stored in IPPool object and will never change once assigned. Change-Id: Ie3184f2a9de405c00223367939f8c3e3112f0e68
115 lines
3.8 KiB
YAML
115 lines
3.8 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.3.0
|
|
creationTimestamp: null
|
|
name: ippools.airship.airshipit.org
|
|
spec:
|
|
group: airship.airshipit.org
|
|
names:
|
|
kind: IPPool
|
|
listKind: IPPoolList
|
|
plural: ippools
|
|
singular: ippool
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: IPPool is the Schema for the ippools API
|
|
properties:
|
|
apiVersion:
|
|
description: 'APIVersion defines the versioned schema of this representation
|
|
of an object. Servers should convert recognized schemas to the latest
|
|
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
|
type: string
|
|
kind:
|
|
description: 'Kind is a string value representing the REST resource this
|
|
object represents. Servers may infer this from the endpoint the client
|
|
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: IPPoolSpec tracks allocation ranges and statuses within a
|
|
specific subnet IPv4 or IPv6 subnet. It has a set of ranges of IPs
|
|
within the subnet from which IPs can be allocated by IPAM, and a set
|
|
of IPs that are currently allocated already.
|
|
properties:
|
|
allocatedIPs:
|
|
items:
|
|
description: AllocatedIP Allocates an IP and MAC address to an entity
|
|
properties:
|
|
allocatedTo:
|
|
type: string
|
|
ip:
|
|
type: string
|
|
mac:
|
|
type: string
|
|
required:
|
|
- allocatedTo
|
|
- ip
|
|
- mac
|
|
type: object
|
|
type: array
|
|
allocatedRanges:
|
|
items:
|
|
properties:
|
|
allocatedTo:
|
|
type: string
|
|
start:
|
|
type: string
|
|
stop:
|
|
type: string
|
|
required:
|
|
- allocatedTo
|
|
- start
|
|
- stop
|
|
type: object
|
|
type: array
|
|
macPrefix:
|
|
description: MACPrefix defines the MAC prefix to use for VM mac addresses
|
|
type: string
|
|
nextMAC:
|
|
description: NextMAC indicates the next MAC address (in sequence)
|
|
that will be provisioned to a VM in this Subnet
|
|
type: string
|
|
ranges:
|
|
items:
|
|
description: Range has (inclusive) bounds within a subnet from which
|
|
IPs can be allocated
|
|
properties:
|
|
start:
|
|
type: string
|
|
stop:
|
|
type: string
|
|
required:
|
|
- start
|
|
- stop
|
|
type: object
|
|
type: array
|
|
subnet:
|
|
type: string
|
|
required:
|
|
- allocatedIPs
|
|
- macPrefix
|
|
- nextMAC
|
|
- ranges
|
|
- subnet
|
|
type: object
|
|
status:
|
|
description: IPPoolStatus defines the observed state of IPPool
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|