// This file was autogenerated by go-to-protobuf. Do not edit it manually! syntax = "proto2"; package github.com.openshift.api.cloudnetwork.v1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; // Package-wide variables from generator "generated". option go_package = "github.com/openshift/api/cloudnetwork/v1"; // CloudPrivateIPConfig performs an assignment of a private IP address to the // primary NIC associated with cloud VMs. This is done by specifying the IP and // Kubernetes node which the IP should be assigned to. This CRD is intended to // be used by the network plugin which manages the cluster network. The spec // side represents the desired state requested by the network plugin, and the // status side represents the current state that this CRD's controller has // executed. No users will have permission to modify it, and if a cluster-admin // decides to edit it for some reason, their changes will be overwritten the // next time the network plugin reconciles the object. Note: the CR's name // must specify the requested private IP address (can be IPv4 or IPv6). // // Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). // +genclient // +genclient:nonNamespaced // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +k8s:openapi-gen=true // +kubebuilder:object:root=true // +kubebuilder:subresource:status // +kubebuilder:resource:path=cloudprivateipconfigs,scope=Cluster // +openshift:compatibility-gen:level=1 message CloudPrivateIPConfig { // metadata is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the definition of the desired private IP request. // +kubebuilder:validation:Required // +required optional CloudPrivateIPConfigSpec spec = 2; // status is the observed status of the desired private IP request. Read-only. // +kubebuilder:validation:Optional // +optional optional CloudPrivateIPConfigStatus status = 3; } // Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +resource:path=cloudprivateipconfig // CloudPrivateIPConfigList is the list of CloudPrivateIPConfigList. // +openshift:compatibility-gen:level=1 message CloudPrivateIPConfigList { // metadata is the standard list's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; // List of CloudPrivateIPConfig. repeated CloudPrivateIPConfig items = 2; } // CloudPrivateIPConfigSpec consists of a node name which the private IP should be assigned to. // +k8s:openapi-gen=true message CloudPrivateIPConfigSpec { // node is the node name, as specified by the Kubernetes field: node.metadata.name // +kubebuilder:validation:Optional // +optional optional string node = 1; } // CloudPrivateIPConfigStatus specifies the node assignment together with its assignment condition. // +k8s:openapi-gen=true message CloudPrivateIPConfigStatus { // node is the node name, as specified by the Kubernetes field: node.metadata.name // +kubebuilder:validation:Optional // +optional optional string node = 1; // condition is the assignment condition of the private IP and its status // +kubebuilder:validation:Required // +required repeated k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 2; }