github.com/codeready-toolchain/api@v0.0.0-20240507023248-73662d6db2c5/api/v1alpha1/usertier_types.go (about)

     1  package v1alpha1
     2  
     3  import (
     4  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     5  )
     6  
     7  //+kubebuilder:object:root=true
     8  
     9  // UserTier contains user-specific configuration
    10  // +k8s:openapi-gen=true
    11  // +kubebuilder:resource:scope=Namespaced
    12  // +kubebuilder:validation:XPreserveUnknownFields
    13  // +operator-sdk:gen-csv:customresourcedefinitions.displayName="User Tier"
    14  type UserTier struct {
    15  	metav1.TypeMeta   `json:",inline"`
    16  	metav1.ObjectMeta `json:"metadata,omitempty"`
    17  
    18  	Spec UserTierSpec `json:"spec,omitempty"`
    19  }
    20  
    21  // UserTierSpec defines the desired state of UserTier
    22  // +k8s:openapi-gen=true
    23  type UserTierSpec struct {
    24  	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
    25  	// Add custom validation using kubebuilder tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html
    26  
    27  	// the period (in days) after which users within the tier will be deactivated
    28  	// +optional
    29  	DeactivationTimeoutDays int `json:"deactivationTimeoutDays,omitempty"`
    30  }
    31  
    32  //+kubebuilder:object:root=true
    33  
    34  // UserTierList contains a list of UserTier
    35  type UserTierList struct {
    36  	metav1.TypeMeta `json:",inline"`
    37  	metav1.ListMeta `json:"metadata,omitempty"`
    38  	Items           []UserTier `json:"items"`
    39  }
    40  
    41  func init() {
    42  	SchemeBuilder.Register(&UserTier{}, &UserTierList{})
    43  }