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 }