config/crds/networking.gke.io_networkinterfaces.yaml (147 lines of code) (raw):
# Copyright 2024 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.5
name: networkinterfaces.networking.gke.io
spec:
group: networking.gke.io
names:
kind: NetworkInterface
listKind: NetworkInterfaceList
plural: networkinterfaces
singular: networkinterface
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: The age of this resource
jsonPath: .metadata.creationTimestamp
name: AGE
type: date
- description: IP address assigned to this interface
jsonPath: .status.ipAddresses[0]
name: IP
type: string
- description: MAC address assigned to this interface
jsonPath: .status.macAddress
name: MAC
type: string
- description: The Network this interface connects to
jsonPath: .spec.networkName
name: NETWORK
type: string
name: v1
schema:
openAPIV3Schema:
description: NetworkInterface defines the network interface for a pod to connect
to a network.
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: NetworkInterfaceSpec is the specification for the NetworkInterface
resource.
properties:
ipAddresses:
description: |-
IpAddresses specifies the static IP addresses on this NetworkInterface.
Each IPAddress may contain subnet mask. If subnet mask is not included, /32 is taken as default.
For example, IPAddress input 1.2.3.4 will be taken as 1.2.3.4/32. Alternatively, the input can be 1.2.3.4/24
with subnet mask of /24.
items:
type: string
type: array
macAddress:
description: Macddress specifies the static MAC address on this NetworkInterface.
type: string
networkName:
description: NetworkName refers to a network object that this NetworkInterface
is connected.
minLength: 1
type: string
subnetworkName:
description: SubnetworkName refers to a subnetwork of a network within
the cluster.
type: string
required:
- networkName
type: object
status:
description: NetworkInterfaceStatus is the status for the NetworkInterface
resource.
properties:
dnsConfig:
description: Specifies the DNS configuration of the network this interface
connects to.
properties:
nameservers:
description: |-
A list of nameserver IP addresses.
Duplicated nameservers will be removed.
items:
type: string
minItems: 1
type: array
searches:
description: |-
A list of DNS search domains for host-name lookup.
Duplicated search paths will be removed.
items:
type: string
type: array
required:
- nameservers
type: object
gateway4:
description: Gateway4 defines the gateway IPv4 address for the network
this interface connects to.
type: string
ipAddresses:
description: IpAddresses are the IP addresses assigned to the NetworkInterface.
items:
type: string
type: array
macAddress:
description: MacAddress is the MAC address assigned to the NetworkInterface.
type: string
podName:
description: PodName specifies the current pod name this interface
is connected to
type: string
routes:
description: Routes contains a list of routes for the network this
interface connects to.
items:
description: Route defines a routing table entry to a specific subnetwork.
properties:
to:
description: |-
To defines a destination IPv4 block in CIDR annotation. e.g. 192.168.0.0/24.
The CIDR 0.0.0.0/0 will be rejected.
type: string
required:
- to
type: object
type: array
type: object
type: object
served: true
storage: true
subresources:
status: {}