summaryrefslogtreecommitdiff
path: root/vendor/github.com/openshift/api/config/v1/types_network.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/openshift/api/config/v1/types_network.go')
-rw-r--r--vendor/github.com/openshift/api/config/v1/types_network.go122
1 files changed, 0 insertions, 122 deletions
diff --git a/vendor/github.com/openshift/api/config/v1/types_network.go b/vendor/github.com/openshift/api/config/v1/types_network.go
deleted file mode 100644
index a09c5fe8e..000000000
--- a/vendor/github.com/openshift/api/config/v1/types_network.go
+++ /dev/null
@@ -1,122 +0,0 @@
-package v1
-
-import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-
-// +genclient
-// +genclient:nonNamespaced
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// Network holds cluster-wide information about Network. The canonical name is `cluster`. It is used to configure the desired network configuration, such as: IP address pools for services/pod IPs, network plugin, etc.
-// Please view network.spec for an explanation on what applies when configuring this resource.
-type Network struct {
- metav1.TypeMeta `json:",inline"`
- metav1.ObjectMeta `json:"metadata,omitempty"`
-
- // spec holds user settable values for configuration.
- // As a general rule, this SHOULD NOT be read directly. Instead, you should
- // consume the NetworkStatus, as it indicates the currently deployed configuration.
- // Currently, most spec fields are immutable after installation. Please view the individual ones for further details on each.
- // +kubebuilder:validation:Required
- // +required
- Spec NetworkSpec `json:"spec"`
- // status holds observed values from the cluster. They may not be overridden.
- // +optional
- Status NetworkStatus `json:"status"`
-}
-
-// NetworkSpec is the desired network configuration.
-// As a general rule, this SHOULD NOT be read directly. Instead, you should
-// consume the NetworkStatus, as it indicates the currently deployed configuration.
-// Currently, most spec fields are immutable after installation. Please view the individual ones for further details on each.
-type NetworkSpec struct {
- // IP address pool to use for pod IPs.
- // This field is immutable after installation.
- ClusterNetwork []ClusterNetworkEntry `json:"clusterNetwork"`
-
- // IP address pool for services.
- // Currently, we only support a single entry here.
- // This field is immutable after installation.
- ServiceNetwork []string `json:"serviceNetwork"`
-
- // NetworkType is the plugin that is to be deployed (e.g. OpenShiftSDN).
- // This should match a value that the cluster-network-operator understands,
- // or else no networking will be installed.
- // Currently supported values are:
- // - OpenShiftSDN
- // This field is immutable after installation.
- NetworkType string `json:"networkType"`
-
- // externalIP defines configuration for controllers that
- // affect Service.ExternalIP. If nil, then ExternalIP is
- // not allowed to be set.
- // +optional
- ExternalIP *ExternalIPConfig `json:"externalIP,omitempty"`
-}
-
-// NetworkStatus is the current network configuration.
-type NetworkStatus struct {
- // IP address pool to use for pod IPs.
- ClusterNetwork []ClusterNetworkEntry `json:"clusterNetwork,omitempty"`
-
- // IP address pool for services.
- // Currently, we only support a single entry here.
- ServiceNetwork []string `json:"serviceNetwork,omitempty"`
-
- // NetworkType is the plugin that is deployed (e.g. OpenShiftSDN).
- NetworkType string `json:"networkType,omitempty"`
-
- // ClusterNetworkMTU is the MTU for inter-pod networking.
- ClusterNetworkMTU int `json:"clusterNetworkMTU,omitempty"`
-}
-
-// ClusterNetworkEntry is a contiguous block of IP addresses from which pod IPs
-// are allocated.
-type ClusterNetworkEntry struct {
- // The complete block for pod IPs.
- CIDR string `json:"cidr"`
-
- // The size (prefix) of block to allocate to each node.
- // +kubebuilder:validation:Minimum=0
- HostPrefix uint32 `json:"hostPrefix"`
-}
-
-// ExternalIPConfig specifies some IP blocks relevant for the ExternalIP field
-// of a Service resource.
-type ExternalIPConfig struct {
- // policy is a set of restrictions applied to the ExternalIP field.
- // If nil or empty, then ExternalIP is not allowed to be set.
- // +optional
- Policy *ExternalIPPolicy `json:"policy,omitempty"`
-
- // autoAssignCIDRs is a list of CIDRs from which to automatically assign
- // Service.ExternalIP. These are assigned when the service is of type
- // LoadBalancer. In general, this is only useful for bare-metal clusters.
- // In Openshift 3.x, this was misleadingly called "IngressIPs".
- // Automatically assigned External IPs are not affected by any
- // ExternalIPPolicy rules.
- // Currently, only one entry may be provided.
- // +optional
- AutoAssignCIDRs []string `json:"autoAssignCIDRs,omitempty"`
-}
-
-// ExternalIPPolicy configures exactly which IPs are allowed for the ExternalIP
-// field in a Service. If the zero struct is supplied, then none are permitted.
-// The policy controller always allows automatically assigned external IPs.
-type ExternalIPPolicy struct {
- // allowedCIDRs is the list of allowed CIDRs.
- AllowedCIDRs []string `json:"allowedCIDRs,omitempty"`
-
- // rejectedCIDRs is the list of disallowed CIDRs. These take precedence
- // over allowedCIDRs.
- // +optional
- RejectedCIDRs []string `json:"rejectedCIDRs,omitempty"`
-}
-
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-type NetworkList struct {
- metav1.TypeMeta `json:",inline"`
- metav1.ListMeta `json:"metadata"`
-
- Items []Network `json:"items"`
-}