github.com/rancher/types@v0.0.0-20220328215343-4370ff10ecd5/apis/management.cattle.io/v3/schema_types.go (about)

     1  package v3
     2  
     3  import (
     4  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     5  )
     6  
     7  type DynamicSchema struct {
     8  	metav1.TypeMeta `json:",inline"`
     9  	// Standard object’s metadata. More info:
    10  	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
    11  	metav1.ObjectMeta `json:"metadata,omitempty"`
    12  	// Specification of the desired behavior of the the cluster. More info:
    13  	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status
    14  	Spec DynamicSchemaSpec `json:"spec"`
    15  	// Most recent observed status of the cluster. More info:
    16  	// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status
    17  	Status DynamicSchemaStatus `json:"status"`
    18  }
    19  
    20  type DynamicSchemaSpec struct {
    21  	SchemaName           string            `json:"schemaName,omitempty"`
    22  	Embed                bool              `json:"embed,omitempty"`
    23  	EmbedType            string            `json:"embedType,omitempty"`
    24  	PluralName           string            `json:"pluralName,omitempty"`
    25  	ResourceMethods      []string          `json:"resourceMethods,omitempty"`
    26  	ResourceFields       map[string]Field  `json:"resourceFields,omitempty"`
    27  	ResourceActions      map[string]Action `json:"resourceActions,omitempty"`
    28  	CollectionMethods    []string          `json:"collectionMethods,omitempty"`
    29  	CollectionFields     map[string]Field  `json:"collectionFields,omitempty"`
    30  	CollectionActions    map[string]Action `json:"collectionActions,omitempty"`
    31  	CollectionFilters    map[string]Filter `json:"collectionFilters,omitempty"`
    32  	IncludeableLinks     []string          `json:"includeableLinks,omitempty"`
    33  	DynamicSchemaVersion string            `json:"dynamicSchemaVersion,omitempty"`
    34  }
    35  
    36  type DynamicSchemaStatus struct {
    37  	Fake string `json:"fake,omitempty"`
    38  }
    39  
    40  type Field struct {
    41  	Type         string   `json:"type,omitempty"`
    42  	Default      Values   `json:"default,omitempty"`
    43  	Unique       bool     `json:"unique,omitempty"`
    44  	Nullable     bool     `json:"nullable,omitempty"`
    45  	Create       bool     `json:"create,omitempty"`
    46  	Required     bool     `json:"required,omitempty"`
    47  	Update       bool     `json:"update,omitempty"`
    48  	MinLength    int64    `json:"minLength,omitempty"`
    49  	MaxLength    int64    `json:"maxLength,omitempty"`
    50  	Min          int64    `json:"min,omitempty"`
    51  	Max          int64    `json:"max,omitempty"`
    52  	Options      []string `json:"options,omitempty"`
    53  	ValidChars   string   `json:"validChars,omitempty"`
    54  	InvalidChars string   `json:"invalidChars,omitempty"`
    55  	Description  string   `json:"description,omitempty"`
    56  	DynamicField bool     `json:"dynamicField,omitempty"`
    57  }
    58  
    59  type Values struct {
    60  	StringValue      string   `json:"stringValue"`
    61  	IntValue         int      `json:"intValue"`
    62  	BoolValue        bool     `json:"boolValue"`
    63  	StringSliceValue []string `json:"stringSliceValue"`
    64  }
    65  
    66  type Action struct {
    67  	Input  string `json:"input,omitempty"`
    68  	Output string `json:"output,omitempty"`
    69  }
    70  
    71  type Filter struct {
    72  	Modifiers []string `json:"modifiers,omitempty"`
    73  }
    74  
    75  type ListOpts struct {
    76  	Filters map[string]string `json:"filters,omitempty"`
    77  }