this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

cmd/cue: update get to use definitions

This also involves updates to the Kubernetes tutorial

Closes #83

Change-Id: I02e52cbf21efd6ba15ac87bb5db852e2b9f115ec
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/3046
Reviewed-by: Marcel van Lohuizen <mpvl@google.com>

authored by

Marcel van Lohuizen and committed by
Marcel van Lohuizen
9818761a 980e0187

+1356 -1137
+30 -20
cmd/cue/cmd/get_go.go
··· 33 33 34 34 "cuelang.org/go/cue/format" 35 35 "cuelang.org/go/cue/parser" 36 + cuetoken "cuelang.org/go/cue/token" 36 37 "cuelang.org/go/internal" 37 38 "github.com/spf13/cobra" 38 39 "golang.org/x/tools/go/packages" ··· 40 41 41 42 // TODO: 42 43 // Document: 44 + // - Use ast package. 43 45 // - how to deal with "oneOf" or sum types? 44 - // - generate cue files for cuego definitions? 46 + // - generate cue files for cue field tags? 45 47 // - cue go get or cue get go 46 48 // - include generation report in doc_gen.cue or report.txt. 47 49 // Possible enums: ··· 574 576 // TODO: add the underlying tag as a Go tag once we have 575 577 // proper string escaping for CUE. 576 578 e.printDoc(x.Doc, true) 577 - fmt.Fprintf(e.w, "%s: %s", name, altType) 579 + fmt.Fprintf(e.w, "%s :: %s", name, altType) 578 580 added = true 579 581 break 580 582 } ··· 589 591 590 592 if s := e.altType(types.NewPointer(typ)); s != "" { 591 593 e.printDoc(x.Doc, true) 592 - fmt.Fprint(e.w, name, ": ", s) 594 + fmt.Fprint(e.w, name, " :: ", s) 593 595 break 594 596 } 595 597 // TODO: only print original type if value is not marked as enum. 596 598 underlying := e.pkg.TypesInfo.TypeOf(v.Type) 597 - e.printField(name, false, underlying, x.Doc, true) 599 + e.printField(name, cuetoken.ISA, underlying, x.Doc, true) 598 600 } 599 601 600 602 e.indent++ ··· 603 605 604 606 e.newLine() 605 607 e.newLine() 606 - fmt.Fprintf(e.w, "enum%s:\n%v", name, enums[0]) 608 + fmt.Fprintf(e.w, "enum%s::\n%v", name, enums[0]) 607 609 for _, v := range enums[1:] { 608 610 fmt.Fprint(e.w, " |") 609 611 e.newLine() ··· 632 634 added = true 633 635 634 636 e.printDoc(v.Doc, true) 635 - fmt.Fprint(e.w, name.Name, ": ") 637 + fmt.Fprint(e.w, name.Name, " :: ") 636 638 637 639 typ := e.pkg.TypesInfo.TypeOf(name) 638 640 if s := typ.String(); !strings.Contains(s, "untyped") { ··· 799 801 return false 800 802 } 801 803 802 - func (e *extractor) printField(name string, opt bool, expr types.Type, doc *ast.CommentGroup, newline bool) (typename string) { 804 + func (e *extractor) printField(name string, kind cuetoken.Token, expr types.Type, doc *ast.CommentGroup, newline bool) (typename string) { 803 805 e.printDoc(doc, newline) 804 806 colon := ": " 805 - if opt { 807 + switch kind { 808 + case cuetoken.ISA: 809 + colon = " :: " 810 + case cuetoken.OPTION: 806 811 colon = "?: " 807 812 } 808 813 fmt.Fprint(e.w, name, colon) ··· 857 862 e.printType(x.Elem()) 858 863 859 864 case *types.Struct: 860 - for i := 0; i < x.NumFields(); i++ { 861 - f := x.Field(i) 862 - if f.Anonymous() && e.isInline(x.Tag(i)) { 863 - typ := f.Type() 864 - if _, ok := typ.(*types.Named); ok { 865 - e.printType(typ) 866 - fmt.Fprintf(e.w, " & ") 867 - } 868 - } 869 - } 870 865 fmt.Fprint(e.w, "{") 871 866 e.indent++ 872 867 e.printFields(x) ··· 943 938 } 944 939 if f.Anonymous() && e.isInline(x.Tag(i)) { 945 940 typ := f.Type() 946 - if _, ok := typ.(*types.Named); !ok { 941 + if _, ok := typ.(*types.Named); ok { 942 + // TODO: strongly consider allowing Expressions for embedded 943 + // values. This ties in with using dots instead of spaces, 944 + // comprehensions, and the ability to generate good 945 + // error messages, so thread carefully. 946 + if i > 0 { 947 + fmt.Fprintln(e.w) 948 + } 949 + fmt.Fprint(e.w, "\n(") 950 + e.printType(typ) 951 + fmt.Fprint(e.w, ")") 952 + } else { 947 953 switch x := typ.(type) { 948 954 case *types.Struct: 949 955 e.printFields(x) ··· 959 965 continue 960 966 } 961 967 e.newLine() 962 - cueType := e.printField(name, e.isOptional(tag), f.Type(), docs[i], count > 0) 968 + kind := cuetoken.COLON 969 + if e.isOptional(tag) { 970 + kind = cuetoken.OPTION 971 + } 972 + cueType := e.printField(name, kind, f.Type(), docs[i], count > 0) 963 973 964 974 // Add field tag to convert back to Go. 965 975 typeName := f.Type().String()
+17 -14
cmd/cue/cmd/testdata/pkg/cuelang.org/go/cmd/cue/cmd/testdata/code/go/pkg1/file1_go_gen.cue
··· 10 10 ) 11 11 12 12 // Foozer foozes a jaman. 13 - Foozer: Inline & { 14 - Int: int 15 - String: string 13 + Foozer :: { 14 + Int: int 15 + String: string 16 + 17 + (Inline) 18 + 16 19 NoInline: NoInline 17 20 CustomJSON: CustomJSON 18 21 CustomYAML: null | CustomYAML @go(,*CustomYAML) ··· 45 48 } 46 49 47 50 // Level gives an indication of the extent of stuff. 48 - Level: int // enumLevel 51 + Level :: int // enumLevel 49 52 50 - enumLevel: 53 + enumLevel :: 51 54 Unknown | 52 55 Low | 53 56 Medium | 54 57 High 55 58 56 - Unknown: Level & 0 57 - Low: Level & 1 59 + Unknown :: Level & 0 60 + Low :: Level & 1 58 61 59 62 // Medium is neither High nor Low 60 - Medium: Level & 2 61 - High: Level & 3 63 + Medium :: Level & 2 64 + High :: Level & 3 62 65 63 - CustomJSON: _ 66 + CustomJSON :: _ 64 67 65 - CustomYAML: { 68 + CustomYAML :: { 66 69 } 67 70 68 - Inline: { 71 + Inline :: { 69 72 Kind: string 70 73 } 71 74 72 - NoInline: { 75 + NoInline :: { 73 76 Kind: string 74 77 } 75 78 76 - Interface: _ 79 + Interface :: _
+4 -4
cmd/cue/cmd/testdata/pkg/cuelang.org/go/cmd/cue/cmd/testdata/code/go/pkg2/pkg2_go_gen.cue
··· 10 10 ) 11 11 12 12 // A Barzer barzes. 13 - Barzer: { 13 + Barzer :: { 14 14 a: int @go(A) @protobuf(2,varint,) 15 15 T: t.Time 16 16 B: null | int @go(,*big.Int) ··· 21 21 Err: _ @go(,error) 22 22 } 23 23 24 - Perm: 0o755 24 + Perm :: 0o755 25 25 26 - Few: 3 26 + Few :: 3 27 27 28 - Couple: int & 2 28 + Couple :: int & 2
+5
doc/ref/spec.md
··· 1059 1059 ExpressionLabel = BindLabel | [ BindLabel ] "[" [ Expression ] "]" . 1060 1060 --> 1061 1061 1062 + <!-- TODO: strongly consider relaxing an embedding to be an Expression, instead 1063 + of Operand. This will tie in with using dots instead of spaces on the LHS, 1064 + comprehensions and the ability to generate good error messages, so thread 1065 + carefully. 1066 + --> 1062 1067 ``` 1063 1068 StructLit = "{" [ DeclarationList [ "," [ "..." ] ] "}" . 1064 1069 DeclarationList = Declaration { "," Declaration }
+50 -46
doc/tutorial/kubernetes/README.md
··· 247 247 $ cat <<EOF > kube.cue 248 248 package kube 249 249 250 - service <Name>: { 250 + service <ID>: { 251 251 apiVersion: "v1" 252 252 kind: "Service" 253 253 metadata: { 254 - name: Name 254 + name: ID 255 255 labels: { 256 - app: Name // by convention 256 + app: ID // by convention 257 257 domain: "prod" // always the same in the given files 258 258 component: string // varies per directory 259 259 } ··· 269 269 } 270 270 } 271 271 272 - deployment <Name>: { 272 + deployment <ID>: { 273 273 apiVersion: "extensions/v1beta1" 274 274 kind: "Deployment" 275 - metadata name: Name 275 + metadata name: ID 276 276 spec: { 277 277 // 1 is the default, but we allow any number 278 278 replicas: *1 | int 279 279 template: { 280 280 metadata labels: { 281 - app: Name 281 + app: ID 282 282 domain: "prod" 283 283 component: string 284 284 } 285 285 // we always have one namesake container 286 - spec containers: [{ name: Name }] 286 + spec containers: [{ name: ID }] 287 287 } 288 288 } 289 289 } 290 290 EOF 291 291 ``` 292 292 293 - By replacing the service and deployment name with `<Name>` we have changed the 293 + By replacing the service and deployment name with `<ID>` we have changed the 294 294 definition into a template. 295 - CUE bind the field name to `Name` as a result. 295 + CUE bind the field name to `ID` as a result. 296 296 During importing we used `metadata.name` as a key for the object names, 297 - so we can now set this field to `Name`. 297 + so we can now set this field to `ID`. 298 298 299 299 Templates are applied to (are unified with) all entries in the struct in which 300 300 they are defined, ··· 352 352 <!-- 353 353 ``` 354 354 $ cue add */kube.cue -p kube --list <<EOF 355 - _component: "{{.DisplayPath}}" 355 + Component :: "{{.DisplayPath}}" 356 356 EOF 357 357 ``` 358 358 --> 359 359 360 360 ``` 361 361 # set the component label to our new top-level field 362 - $ sed -i.bak 's/component:.*string/component: _component/' kube.cue && rm kube.cue.bak 362 + $ sed -i.bak 's/component:.*string/component: Component/' kube.cue && rm kube.cue.bak 363 363 364 364 # add the new top-level field to our previous template definitions 365 365 $ cat <<EOF >> kube.cue 366 366 367 - _component: string 367 + Component :: string 368 368 EOF 369 369 370 370 # add a file with the component label to each directory 371 371 $ ls -d */ | sed 's/.$//' | xargs -I DIR sh -c 'cd DIR; echo "package kube 372 372 373 - _component: \"DIR\" 373 + Component :: \"DIR\" 374 374 " > kube.cue; cd ..' 375 375 376 376 # format the files ··· 422 422 ``` 423 423 $ cat <<EOF >> kube.cue 424 424 425 - daemonSet <Name>: _spec & { 425 + daemonSet <ID>: _spec & { 426 426 apiVersion: "extensions/v1beta1" 427 427 kind: "DaemonSet" 428 - _name: Name 428 + Name :: ID 429 429 } 430 430 431 - statefulSet <Name>: _spec & { 431 + statefulSet <ID>: _spec & { 432 432 apiVersion: "apps/v1beta1" 433 433 kind: "StatefulSet" 434 - _name: Name 434 + Name :: ID 435 435 } 436 436 437 - deployment <Name>: _spec & { 437 + deployment <ID>: _spec & { 438 438 apiVersion: "extensions/v1beta1" 439 439 kind: "Deployment" 440 - _name: Name 440 + Name :: ID 441 441 spec replicas: *1 | int 442 442 } 443 443 444 - configMap <Name>: { 445 - metadata name: Name 446 - metadata labels component: _component 444 + configMap <ID>: { 445 + metadata name: ID 446 + metadata labels component: Component 447 447 } 448 448 449 449 _spec: { 450 - _name: string 451 - metadata name: _name 452 - metadata labels component: _component 450 + Name :: string 451 + 452 + metadata name: Name 453 + metadata labels component: Component 453 454 spec template: { 454 455 metadata labels: { 455 - app: _name 456 - component: _component 456 + app: Name 457 + component: Component 457 458 domain: "prod" 458 459 } 459 - spec containers: [{name: _name}] 460 + spec containers: [{name: Name}] 460 461 } 461 462 } 462 463 EOF ··· 464 465 ``` 465 466 466 467 The common configuration has been factored out into `_spec`. 467 - We introduced `_name` to aid both specifying and referring 468 + We introduced `Name` to aid both specifying and referring 468 469 to the name of an object. 469 470 For completeness, we added `configMap` as a top-level entry. 470 471 ··· 700 701 ``` 701 702 $ cat <<EOF >> kitchen/kube.cue 702 703 703 - deployment <Name> spec template spec: { 704 - _hasDisks: *true | bool 704 + deployment <ID> spec template spec: { 705 + hasDisks :: *true | bool 705 706 706 707 volumes: [{ 707 - name: *"\(Name)-disk" | string 708 - gcePersistentDisk pdName: *"\(Name)-disk" | string 708 + name: *"\(ID)-disk" | string 709 + gcePersistentDisk pdName: *"\(ID)-disk" | string 709 710 gcePersistentDisk fsType: "ext4" 710 711 }, { 711 - name: *"secret-\(Name)" | string 712 - secret secretName: *"\(Name)-secrets" | string 713 - }, ...] if _hasDisks 712 + name: *"secret-\(ID)" | string 713 + secret secretName: *"\(ID)-secrets" | string 714 + }, ...] if hasDisks 714 715 715 716 containers: [{ 716 717 volumeMounts: [{ 717 - name: *"\(Name)-disk" | string 718 + name: *"\(ID)-disk" | string 718 719 mountPath: *"/logs" | string 719 720 }, { 720 721 mountPath: *"/etc/certs" | string 721 - name: *"secret-\(Name)" | string 722 + name: *"secret-\(ID)" | string 722 723 readOnly: true 723 724 }, ...] 724 - }] if _hasDisks // field comprehension using just "if" 725 + }] if hasDisks // field comprehension using just "if" 725 726 } 726 727 EOF 727 728 728 729 $ cat <<EOF >> kitchen/souschef/kube.cue 729 730 730 - deployment souschef spec template spec _hasDisks: false 731 + deployment souschef spec template spec: { 732 + hasDisks :: false 733 + } 734 + 731 735 EOF 732 736 $ cue fmt ./kitchen/... 733 737 ``` ··· 917 921 different subdirectories may have different specializations. 918 922 A merge pre-expands templates of each instance and then merges their root 919 923 values. 920 - The result may contain conflicts, such as our top-level `_component` field, 924 + The result may contain conflicts, such as our top-level `Component` field, 921 925 but our per-type maps of Kubernetes objects should be free of conflict 922 926 (if there is, we have a problem with Kubernetes down the line). 923 927 A merge thus gives us a unified view of all objects. ··· 1055 1059 apps_v1beta1 "k8s.io/api/apps/v1beta1" 1056 1060 ) 1057 1061 1058 - service <Name>: v1.Service & {} 1059 - deployment <Name>: extensions_v1beta1.Deployment & {} 1060 - daemonSet <Name>: extensions_v1beta1.DaemonSet & {} 1061 - statefulSet <Name>: apps_v1beta1.StatefulSet & {} 1062 + service <Name>: v1.Service 1063 + deployment <Name>: extensions_v1beta1.Deployment 1064 + daemonSet <Name>: extensions_v1beta1.DaemonSet 1065 + statefulSet <Name>: apps_v1beta1.StatefulSet 1062 1066 EOF 1063 1067 ``` 1064 1068
+1 -1
doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/register_go_gen.cue
··· 4 4 5 5 package v1beta1 6 6 7 - GroupName: "apps" 7 + GroupName :: "apps"
+59 -43
doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/types_go_gen.cue
··· 11 11 "k8s.io/apimachinery/pkg/util/intstr" 12 12 ) 13 13 14 - ControllerRevisionHashLabelKey: "controller-revision-hash" 15 - StatefulSetRevisionLabel: "controller-revision-hash" 16 - StatefulSetPodNameLabel: "statefulset.kubernetes.io/pod-name" 14 + ControllerRevisionHashLabelKey :: "controller-revision-hash" 15 + StatefulSetRevisionLabel :: "controller-revision-hash" 16 + StatefulSetPodNameLabel :: "statefulset.kubernetes.io/pod-name" 17 17 18 18 // ScaleSpec describes the attributes of a scale subresource 19 - ScaleSpec: { 19 + ScaleSpec :: { 20 20 // desired number of instances for the scaled object. 21 21 // +optional 22 22 replicas?: int32 @go(Replicas) @protobuf(1,varint,opt) 23 23 } 24 24 25 25 // ScaleStatus represents the current status of a scale subresource. 26 - ScaleStatus: { 26 + ScaleStatus :: { 27 27 // actual number of observed instances of the scaled object. 28 28 replicas: int32 @go(Replicas) @protobuf(1,varint,opt) 29 29 ··· 42 42 } 43 43 44 44 // Scale represents a scaling request for a resource. 45 - Scale: metav1.TypeMeta & { 45 + Scale :: { 46 + (metav1.TypeMeta) 47 + 46 48 // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. 47 49 // +optional 48 50 metadata?: metav1.ObjectMeta @go(ObjectMeta) @protobuf(1,bytes,opt) ··· 64 66 // - Storage: As many VolumeClaims as requested. 65 67 // The StatefulSet guarantees that a given network identity will always 66 68 // map to the same storage identity. 67 - StatefulSet: metav1.TypeMeta & { 69 + StatefulSet :: { 70 + (metav1.TypeMeta) 71 + 68 72 // +optional 69 73 metadata?: metav1.ObjectMeta @go(ObjectMeta) @protobuf(1,bytes,opt) 70 74 ··· 79 83 } 80 84 81 85 // PodManagementPolicyType defines the policy for creating pods under a stateful set. 82 - PodManagementPolicyType: string // enumPodManagementPolicyType 86 + PodManagementPolicyType :: string // enumPodManagementPolicyType 83 87 84 - enumPodManagementPolicyType: 88 + enumPodManagementPolicyType :: 85 89 OrderedReadyPodManagement | 86 90 ParallelPodManagement 87 91 ··· 89 93 // scale up and strictly decreasing order on scale down, progressing only when 90 94 // the previous pod is ready or terminated. At most one pod will be changed 91 95 // at any time. 92 - OrderedReadyPodManagement: PodManagementPolicyType & "OrderedReady" 96 + OrderedReadyPodManagement :: PodManagementPolicyType & "OrderedReady" 93 97 94 98 // ParallelPodManagement will create and delete pods as soon as the stateful set 95 99 // replica count is changed, and will not wait for pods to be ready or complete 96 100 // termination. 97 - ParallelPodManagement: PodManagementPolicyType & "Parallel" 101 + ParallelPodManagement :: PodManagementPolicyType & "Parallel" 98 102 99 103 // StatefulSetUpdateStrategy indicates the strategy that the StatefulSet 100 104 // controller will use to perform updates. It includes any additional parameters 101 105 // necessary to perform the update for the indicated strategy. 102 - StatefulSetUpdateStrategy: { 106 + StatefulSetUpdateStrategy :: { 103 107 // Type indicates the type of the StatefulSetUpdateStrategy. 104 108 type?: StatefulSetUpdateStrategyType @go(Type) @protobuf(1,bytes,opt,casttype=StatefulSetStrategyType) 105 109 ··· 109 113 110 114 // StatefulSetUpdateStrategyType is a string enumeration type that enumerates 111 115 // all possible update strategies for the StatefulSet controller. 112 - StatefulSetUpdateStrategyType: string // enumStatefulSetUpdateStrategyType 116 + StatefulSetUpdateStrategyType :: string // enumStatefulSetUpdateStrategyType 113 117 114 - enumStatefulSetUpdateStrategyType: 118 + enumStatefulSetUpdateStrategyType :: 115 119 RollingUpdateStatefulSetStrategyType | 116 120 OnDeleteStatefulSetStrategyType 117 121 ··· 120 124 // ordering constraints. When a scale operation is performed with this 121 125 // strategy, new Pods will be created from the specification version indicated 122 126 // by the StatefulSet's updateRevision. 123 - RollingUpdateStatefulSetStrategyType: StatefulSetUpdateStrategyType & "RollingUpdate" 127 + RollingUpdateStatefulSetStrategyType :: StatefulSetUpdateStrategyType & "RollingUpdate" 124 128 125 129 // OnDeleteStatefulSetStrategyType triggers the legacy behavior. Version 126 130 // tracking and ordered rolling restarts are disabled. Pods are recreated 127 131 // from the StatefulSetSpec when they are manually deleted. When a scale 128 132 // operation is performed with this strategy,specification version indicated 129 133 // by the StatefulSet's currentRevision. 130 - OnDeleteStatefulSetStrategyType: StatefulSetUpdateStrategyType & "OnDelete" 134 + OnDeleteStatefulSetStrategyType :: StatefulSetUpdateStrategyType & "OnDelete" 131 135 132 136 // RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdateStatefulSetStrategyType. 133 - RollingUpdateStatefulSetStrategy: { 137 + RollingUpdateStatefulSetStrategy :: { 134 138 // Partition indicates the ordinal at which the StatefulSet should be 135 139 // partitioned. 136 140 partition?: null | int32 @go(Partition,*int32) @protobuf(1,varint,opt) 137 141 } 138 142 139 143 // A StatefulSetSpec is the specification of a StatefulSet. 140 - StatefulSetSpec: { 144 + StatefulSetSpec :: { 141 145 // replicas is the desired number of replicas of the given Template. 142 146 // These are replicas in the sense that they are instantiations of the 143 147 // same Template, but individual replicas also have a consistent identity. ··· 199 203 } 200 204 201 205 // StatefulSetStatus represents the current state of a StatefulSet. 202 - StatefulSetStatus: { 206 + StatefulSetStatus :: { 203 207 // observedGeneration is the most recent generation observed for this StatefulSet. It corresponds to the 204 208 // StatefulSet's generation, which is updated on mutation by the API Server. 205 209 // +optional ··· 240 244 conditions?: [...StatefulSetCondition] @go(Conditions,[]StatefulSetCondition) @protobuf(10,bytes,rep) 241 245 } 242 246 243 - StatefulSetConditionType: string 247 + StatefulSetConditionType :: string 244 248 245 249 // StatefulSetCondition describes the state of a statefulset at a certain point. 246 - StatefulSetCondition: { 250 + StatefulSetCondition :: { 247 251 // Type of statefulset condition. 248 252 type: StatefulSetConditionType @go(Type) @protobuf(1,bytes,opt,casttype=StatefulSetConditionType) 249 253 ··· 264 268 } 265 269 266 270 // StatefulSetList is a collection of StatefulSets. 267 - StatefulSetList: metav1.TypeMeta & { 271 + StatefulSetList :: { 272 + (metav1.TypeMeta) 273 + 268 274 // +optional 269 275 metadata?: metav1.ListMeta @go(ListMeta) @protobuf(1,bytes,opt) 270 276 items: [...StatefulSet] @go(Items,[]StatefulSet) @protobuf(2,bytes,rep) ··· 273 279 // DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the release notes for 274 280 // more information. 275 281 // Deployment enables declarative updates for Pods and ReplicaSets. 276 - Deployment: metav1.TypeMeta & { 282 + Deployment :: { 283 + (metav1.TypeMeta) 284 + 277 285 // Standard object metadata. 278 286 // +optional 279 287 metadata?: metav1.ObjectMeta @go(ObjectMeta) @protobuf(1,bytes,opt) ··· 288 296 } 289 297 290 298 // DeploymentSpec is the specification of the desired behavior of the Deployment. 291 - DeploymentSpec: { 299 + DeploymentSpec :: { 292 300 // Number of desired pods. This is a pointer to distinguish between explicit 293 301 // zero and not specified. Defaults to 1. 294 302 // +optional ··· 339 347 340 348 // DEPRECATED. 341 349 // DeploymentRollback stores the information required to rollback a deployment. 342 - DeploymentRollback: metav1.TypeMeta & { 350 + DeploymentRollback :: { 351 + (metav1.TypeMeta) 352 + 343 353 // Required: This must match the Name of a deployment. 344 354 name: string @go(Name) @protobuf(1,bytes,opt) 345 355 ··· 352 362 } 353 363 354 364 // DEPRECATED. 355 - RollbackConfig: { 365 + RollbackConfig :: { 356 366 // The revision to rollback to. If set to 0, rollback to the last revision. 357 367 // +optional 358 368 revision?: int64 @go(Revision) @protobuf(1,varint,opt) ··· 361 371 // DefaultDeploymentUniqueLabelKey is the default key of the selector that is added 362 372 // to existing ReplicaSets (and label key that is added to its pods) to prevent the existing ReplicaSets 363 373 // to select new pods (and old pods being select by new ReplicaSet). 364 - DefaultDeploymentUniqueLabelKey: "pod-template-hash" 374 + DefaultDeploymentUniqueLabelKey :: "pod-template-hash" 365 375 366 376 // DeploymentStrategy describes how to replace existing pods with new ones. 367 - DeploymentStrategy: { 377 + DeploymentStrategy :: { 368 378 // Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate. 369 379 // +optional 370 380 type?: DeploymentStrategyType @go(Type) @protobuf(1,bytes,opt,casttype=DeploymentStrategyType) ··· 378 388 rollingUpdate?: null | RollingUpdateDeployment @go(RollingUpdate,*RollingUpdateDeployment) @protobuf(2,bytes,opt) 379 389 } 380 390 381 - DeploymentStrategyType: string // enumDeploymentStrategyType 391 + DeploymentStrategyType :: string // enumDeploymentStrategyType 382 392 383 - enumDeploymentStrategyType: 393 + enumDeploymentStrategyType :: 384 394 RecreateDeploymentStrategyType | 385 395 RollingUpdateDeploymentStrategyType 386 396 387 397 // Kill all existing pods before creating new ones. 388 - RecreateDeploymentStrategyType: DeploymentStrategyType & "Recreate" 398 + RecreateDeploymentStrategyType :: DeploymentStrategyType & "Recreate" 389 399 390 400 // Replace the old ReplicaSets by new one using rolling update i.e gradually scale down the old ReplicaSets and scale up the new one. 391 - RollingUpdateDeploymentStrategyType: DeploymentStrategyType & "RollingUpdate" 401 + RollingUpdateDeploymentStrategyType :: DeploymentStrategyType & "RollingUpdate" 392 402 393 403 // Spec to control the desired behavior of rolling update. 394 - RollingUpdateDeployment: { 404 + RollingUpdateDeployment :: { 395 405 // The maximum number of pods that can be unavailable during the update. 396 406 // Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). 397 407 // Absolute number is calculated from percentage by rounding down. ··· 421 431 } 422 432 423 433 // DeploymentStatus is the most recently observed status of the Deployment. 424 - DeploymentStatus: { 434 + DeploymentStatus :: { 425 435 // The generation observed by the deployment controller. 426 436 // +optional 427 437 observedGeneration?: int64 @go(ObservedGeneration) @protobuf(1,varint,opt) ··· 460 470 collisionCount?: null | int32 @go(CollisionCount,*int32) @protobuf(8,varint,opt) 461 471 } 462 472 463 - DeploymentConditionType: string // enumDeploymentConditionType 473 + DeploymentConditionType :: string // enumDeploymentConditionType 464 474 465 - enumDeploymentConditionType: 475 + enumDeploymentConditionType :: 466 476 DeploymentAvailable | 467 477 DeploymentProgressing | 468 478 DeploymentReplicaFailure 469 479 470 480 // Available means the deployment is available, ie. at least the minimum available 471 481 // replicas required are up and running for at least minReadySeconds. 472 - DeploymentAvailable: DeploymentConditionType & "Available" 482 + DeploymentAvailable :: DeploymentConditionType & "Available" 473 483 474 484 // Progressing means the deployment is progressing. Progress for a deployment is 475 485 // considered when a new replica set is created or adopted, and when new pods scale 476 486 // up or old pods scale down. Progress is not estimated for paused deployments or 477 487 // when progressDeadlineSeconds is not specified. 478 - DeploymentProgressing: DeploymentConditionType & "Progressing" 488 + DeploymentProgressing :: DeploymentConditionType & "Progressing" 479 489 480 490 // ReplicaFailure is added in a deployment when one of its pods fails to be created 481 491 // or deleted. 482 - DeploymentReplicaFailure: DeploymentConditionType & "ReplicaFailure" 492 + DeploymentReplicaFailure :: DeploymentConditionType & "ReplicaFailure" 483 493 484 494 // DeploymentCondition describes the state of a deployment at a certain point. 485 - DeploymentCondition: { 495 + DeploymentCondition :: { 486 496 // Type of deployment condition. 487 497 type: DeploymentConditionType @go(Type) @protobuf(1,bytes,opt,casttype=DeploymentConditionType) 488 498 ··· 503 513 } 504 514 505 515 // DeploymentList is a list of Deployments. 506 - DeploymentList: metav1.TypeMeta & { 516 + DeploymentList :: { 517 + (metav1.TypeMeta) 518 + 507 519 // Standard list metadata. 508 520 // +optional 509 521 metadata?: metav1.ListMeta @go(ListMeta) @protobuf(1,bytes,opt) ··· 523 535 // the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, 524 536 // it may be subject to name and representation changes in future releases, and clients should not 525 537 // depend on its stability. It is primarily for internal use by controllers. 526 - ControllerRevision: metav1.TypeMeta & { 538 + ControllerRevision :: { 539 + (metav1.TypeMeta) 540 + 527 541 // Standard object's metadata. 528 542 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 529 543 // +optional ··· 537 551 } 538 552 539 553 // ControllerRevisionList is a resource containing a list of ControllerRevision objects. 540 - ControllerRevisionList: metav1.TypeMeta & { 554 + ControllerRevisionList :: { 555 + (metav1.TypeMeta) 556 + 541 557 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 542 558 // +optional 543 559 metadata?: metav1.ListMeta @go(ListMeta) @protobuf(1,bytes,opt)
+16 -16
doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/annotation_key_constants_go_gen.cue
··· 6 6 7 7 // ImagePolicyFailedOpenKey is added to pods created by failing open when the image policy 8 8 // webhook backend fails. 9 - ImagePolicyFailedOpenKey: "alpha.image-policy.k8s.io/failed-open" 9 + ImagePolicyFailedOpenKey :: "alpha.image-policy.k8s.io/failed-open" 10 10 11 11 // PodPresetOptOutAnnotationKey represents the annotation key for a pod to exempt itself from pod preset manipulation 12 - PodPresetOptOutAnnotationKey: "podpreset.admission.kubernetes.io/exclude" 12 + PodPresetOptOutAnnotationKey :: "podpreset.admission.kubernetes.io/exclude" 13 13 14 14 // MirrorAnnotationKey represents the annotation key set by kubelets when creating mirror pods 15 - MirrorPodAnnotationKey: "kubernetes.io/config.mirror" 15 + MirrorPodAnnotationKey :: "kubernetes.io/config.mirror" 16 16 17 17 // TolerationsAnnotationKey represents the key of tolerations data (json serialized) 18 18 // in the Annotations of a Pod. 19 - TolerationsAnnotationKey: "scheduler.alpha.kubernetes.io/tolerations" 19 + TolerationsAnnotationKey :: "scheduler.alpha.kubernetes.io/tolerations" 20 20 21 21 // TaintsAnnotationKey represents the key of taints data (json serialized) 22 22 // in the Annotations of a Node. 23 - TaintsAnnotationKey: "scheduler.alpha.kubernetes.io/taints" 23 + TaintsAnnotationKey :: "scheduler.alpha.kubernetes.io/taints" 24 24 25 25 // SeccompPodAnnotationKey represents the key of a seccomp profile applied 26 26 // to all containers of a pod. 27 - SeccompPodAnnotationKey: "seccomp.security.alpha.kubernetes.io/pod" 27 + SeccompPodAnnotationKey :: "seccomp.security.alpha.kubernetes.io/pod" 28 28 29 29 // SeccompContainerAnnotationKeyPrefix represents the key of a seccomp profile applied 30 30 // to one container of a pod. 31 - SeccompContainerAnnotationKeyPrefix: "container.seccomp.security.alpha.kubernetes.io/" 31 + SeccompContainerAnnotationKeyPrefix :: "container.seccomp.security.alpha.kubernetes.io/" 32 32 33 33 // SeccompProfileRuntimeDefault represents the default seccomp profile used by container runtime. 34 - SeccompProfileRuntimeDefault: "runtime/default" 34 + SeccompProfileRuntimeDefault :: "runtime/default" 35 35 36 36 // DeprecatedSeccompProfileDockerDefault represents the default seccomp profile used by docker. 37 37 // This is now deprecated and should be replaced by SeccompProfileRuntimeDefault. 38 - DeprecatedSeccompProfileDockerDefault: "docker/default" 38 + DeprecatedSeccompProfileDockerDefault :: "docker/default" 39 39 40 40 // PreferAvoidPodsAnnotationKey represents the key of preferAvoidPods data (json serialized) 41 41 // in the Annotations of a Node. 42 - PreferAvoidPodsAnnotationKey: "scheduler.alpha.kubernetes.io/preferAvoidPods" 42 + PreferAvoidPodsAnnotationKey :: "scheduler.alpha.kubernetes.io/preferAvoidPods" 43 43 44 44 // ObjectTTLAnnotations represents a suggestion for kubelet for how long it can cache 45 45 // an object (e.g. secret, config map) before fetching it again from apiserver. 46 46 // This annotation can be attached to node. 47 - ObjectTTLAnnotationKey: "node.alpha.kubernetes.io/ttl" 47 + ObjectTTLAnnotationKey :: "node.alpha.kubernetes.io/ttl" 48 48 49 49 // annotation key prefix used to identify non-convertible json paths. 50 - NonConvertibleAnnotationPrefix: "non-convertible.kubernetes.io" 50 + NonConvertibleAnnotationPrefix :: "non-convertible.kubernetes.io" 51 51 52 52 // LastAppliedConfigAnnotation is the annotation used to store the previous 53 53 // configuration of a resource for use in a three way diff by UpdateApplyAnnotation. 54 - LastAppliedConfigAnnotation: "kubectl.kubernetes.io/last-applied-configuration" 54 + LastAppliedConfigAnnotation :: "kubectl.kubernetes.io/last-applied-configuration" 55 55 56 56 // AnnotationLoadBalancerSourceRangesKey is the key of the annotation on a service to set allowed ingress ranges on their LoadBalancers 57 57 // ··· 60 60 // access only from the CIDRs currently allocated to MIT & the USPS. 61 61 // 62 62 // Not all cloud providers support this annotation, though AWS & GCE do. 63 - AnnotationLoadBalancerSourceRangesKey: "service.beta.kubernetes.io/load-balancer-source-ranges" 63 + AnnotationLoadBalancerSourceRangesKey :: "service.beta.kubernetes.io/load-balancer-source-ranges" 64 64 65 65 // EndpointsLastChangeTriggerTime is the annotation key, set for endpoints objects, that 66 66 // represents the timestamp (stored as RFC 3339 date-time string, e.g. '2018-10-22T19:32:52.1Z') ··· 79 79 // 80 80 // This annotation will be used to compute the in-cluster network programming latency SLI, see 81 81 // https://github.com/kubernetes/community/blob/master/sig-scalability/slos/network_programming_latency.md 82 - EndpointsLastChangeTriggerTime: "endpoints.kubernetes.io/last-change-trigger-time" 82 + EndpointsLastChangeTriggerTime :: "endpoints.kubernetes.io/last-change-trigger-time" 83 83 84 84 // MigratedPluginsAnnotationKey is the annotation key, set for CSINode objects, that is a comma-separated 85 85 // list of in-tree plugins that will be serviced by the CSI backend on the Node represented by CSINode. 86 86 // This annotation is used by the Attach Detach Controller to determine whether to use the in-tree or 87 87 // CSI Backend for a volume plugin on a specific node. 88 - MigratedPluginsAnnotationKey: "storage.alpha.kubernetes.io/migrated-plugins" 88 + MigratedPluginsAnnotationKey :: "storage.alpha.kubernetes.io/migrated-plugins"
+1 -1
doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/register_go_gen.cue
··· 4 4 5 5 package v1 6 6 7 - GroupName: "" 7 + GroupName :: ""
+621 -510
doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/types_go_gen.cue
··· 12 12 ) 13 13 14 14 // NamespaceDefault means the object is in the default namespace which is applied when not specified by clients 15 - NamespaceDefault: "default" 15 + NamespaceDefault :: "default" 16 16 17 17 // NamespaceAll is the default argument to specify on a context when you want to list or filter resources across all namespaces 18 - NamespaceAll: "" 18 + NamespaceAll :: "" 19 19 20 20 // NamespaceNodeLease is the namespace where we place node lease objects (used for node heartbeats) 21 - NamespaceNodeLease: "kube-node-lease" 21 + NamespaceNodeLease :: "kube-node-lease" 22 22 23 23 // Volume represents a named volume in a pod that may be accessed by any container in the pod. 24 - Volume: VolumeSource & { 24 + Volume :: { 25 25 // Volume's name. 26 26 // Must be a DNS_LABEL and unique within the pod. 27 27 // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 28 28 name: string @go(Name) @protobuf(1,bytes,opt) 29 + 30 + (VolumeSource) 31 + 29 32 } 30 33 31 34 // Represents the source of a volume to mount. 32 35 // Only one of its members may be specified. 33 - VolumeSource: { 36 + VolumeSource :: { 34 37 // HostPath represents a pre-existing file or directory on the host 35 38 // machine that is directly exposed to the container. This is generally 36 39 // used for system agents or other privileged things that are allowed ··· 171 174 // This volume finds the bound PV and mounts that volume for the pod. A 172 175 // PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another 173 176 // type of volume that is owned by someone else (the system). 174 - PersistentVolumeClaimVolumeSource: { 177 + PersistentVolumeClaimVolumeSource :: { 175 178 // ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. 176 179 // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims 177 180 claimName: string @go(ClaimName) @protobuf(1,bytes,opt) ··· 184 187 185 188 // PersistentVolumeSource is similar to VolumeSource but meant for the 186 189 // administrator who creates PVs. Exactly one of its members must be set. 187 - PersistentVolumeSource: { 190 + PersistentVolumeSource :: { 188 191 // GCEPersistentDisk represents a GCE Disk resource that is attached to a 189 192 // kubelet's host machine and then exposed to the pod. Provisioned by an admin. 190 193 // More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk ··· 291 294 292 295 // BetaStorageClassAnnotation represents the beta/previous StorageClass annotation. 293 296 // It's currently still used and will be held for backwards compatibility 294 - BetaStorageClassAnnotation: "volume.beta.kubernetes.io/storage-class" 297 + BetaStorageClassAnnotation :: "volume.beta.kubernetes.io/storage-class" 295 298 296 299 // MountOptionAnnotation defines mount option annotation used in PVs 297 - MountOptionAnnotation: "volume.beta.kubernetes.io/mount-options" 300 + MountOptionAnnotation :: "volume.beta.kubernetes.io/mount-options" 298 301 299 302 // PersistentVolume (PV) is a storage resource provisioned by an administrator. 300 303 // It is analogous to a node. 301 304 // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes 302 - PersistentVolume: metav1.TypeMeta & { 305 + PersistentVolume :: { 306 + (metav1.TypeMeta) 307 + 303 308 // Standard object's metadata. 304 309 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 305 310 // +optional ··· 320 325 } 321 326 322 327 // PersistentVolumeSpec is the specification of a persistent volume. 323 - PersistentVolumeSpec: PersistentVolumeSource & { 328 + PersistentVolumeSpec :: { 324 329 // A description of the persistent volume's resources and capacity. 325 330 // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity 326 331 // +optional 327 332 capacity?: ResourceList @go(Capacity) @protobuf(1,bytes,rep,casttype=ResourceList,castkey=ResourceName) 328 333 334 + (PersistentVolumeSource) 335 + 329 336 // AccessModes contains all ways the volume can be mounted. 330 337 // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes 331 338 // +optional ··· 370 377 } 371 378 372 379 // VolumeNodeAffinity defines constraints that limit what nodes this volume can be accessed from. 373 - VolumeNodeAffinity: { 380 + VolumeNodeAffinity :: { 374 381 // Required specifies hard node constraints that must be met. 375 382 required?: null | NodeSelector @go(Required,*NodeSelector) @protobuf(1,bytes,opt) 376 383 } 377 384 378 385 // PersistentVolumeReclaimPolicy describes a policy for end-of-life maintenance of persistent volumes. 379 - PersistentVolumeReclaimPolicy: string // enumPersistentVolumeReclaimPolicy 386 + PersistentVolumeReclaimPolicy :: string // enumPersistentVolumeReclaimPolicy 380 387 381 - enumPersistentVolumeReclaimPolicy: 388 + enumPersistentVolumeReclaimPolicy :: 382 389 PersistentVolumeReclaimRecycle | 383 390 PersistentVolumeReclaimDelete | 384 391 PersistentVolumeReclaimRetain 385 392 386 393 // PersistentVolumeReclaimRecycle means the volume will be recycled back into the pool of unbound persistent volumes on release from its claim. 387 394 // The volume plugin must support Recycling. 388 - PersistentVolumeReclaimRecycle: PersistentVolumeReclaimPolicy & "Recycle" 395 + PersistentVolumeReclaimRecycle :: PersistentVolumeReclaimPolicy & "Recycle" 389 396 390 397 // PersistentVolumeReclaimDelete means the volume will be deleted from Kubernetes on release from its claim. 391 398 // The volume plugin must support Deletion. 392 - PersistentVolumeReclaimDelete: PersistentVolumeReclaimPolicy & "Delete" 399 + PersistentVolumeReclaimDelete :: PersistentVolumeReclaimPolicy & "Delete" 393 400 394 401 // PersistentVolumeReclaimRetain means the volume will be left in its current phase (Released) for manual reclamation by the administrator. 395 402 // The default policy is Retain. 396 - PersistentVolumeReclaimRetain: PersistentVolumeReclaimPolicy & "Retain" 403 + PersistentVolumeReclaimRetain :: PersistentVolumeReclaimPolicy & "Retain" 397 404 398 405 // PersistentVolumeMode describes how a volume is intended to be consumed, either Block or Filesystem. 399 - PersistentVolumeMode: string // enumPersistentVolumeMode 406 + PersistentVolumeMode :: string // enumPersistentVolumeMode 400 407 401 - enumPersistentVolumeMode: 408 + enumPersistentVolumeMode :: 402 409 PersistentVolumeBlock | 403 410 PersistentVolumeFilesystem 404 411 405 412 // PersistentVolumeBlock means the volume will not be formatted with a filesystem and will remain a raw block device. 406 - PersistentVolumeBlock: PersistentVolumeMode & "Block" 413 + PersistentVolumeBlock :: PersistentVolumeMode & "Block" 407 414 408 415 // PersistentVolumeFilesystem means the volume will be or is formatted with a filesystem. 409 - PersistentVolumeFilesystem: PersistentVolumeMode & "Filesystem" 416 + PersistentVolumeFilesystem :: PersistentVolumeMode & "Filesystem" 410 417 411 418 // PersistentVolumeStatus is the current status of a persistent volume. 412 - PersistentVolumeStatus: { 419 + PersistentVolumeStatus :: { 413 420 // Phase indicates if a volume is available, bound to a claim, or released by a claim. 414 421 // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#phase 415 422 // +optional ··· 426 433 } 427 434 428 435 // PersistentVolumeList is a list of PersistentVolume items. 429 - PersistentVolumeList: metav1.TypeMeta & { 436 + PersistentVolumeList :: { 437 + (metav1.TypeMeta) 438 + 430 439 // Standard list metadata. 431 440 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 432 441 // +optional ··· 438 447 } 439 448 440 449 // PersistentVolumeClaim is a user's request for and claim to a persistent volume 441 - PersistentVolumeClaim: metav1.TypeMeta & { 450 + PersistentVolumeClaim :: { 451 + (metav1.TypeMeta) 452 + 442 453 // Standard object's metadata. 443 454 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 444 455 // +optional ··· 457 468 } 458 469 459 470 // PersistentVolumeClaimList is a list of PersistentVolumeClaim items. 460 - PersistentVolumeClaimList: metav1.TypeMeta & { 471 + PersistentVolumeClaimList :: { 472 + (metav1.TypeMeta) 473 + 461 474 // Standard list metadata. 462 475 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 463 476 // +optional ··· 470 483 471 484 // PersistentVolumeClaimSpec describes the common attributes of storage devices 472 485 // and allows a Source for provider-specific attributes 473 - PersistentVolumeClaimSpec: { 486 + PersistentVolumeClaimSpec :: { 474 487 // AccessModes contains the desired access modes the volume should have. 475 488 // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 476 489 // +optional ··· 513 526 } 514 527 515 528 // PersistentVolumeClaimConditionType is a valid value of PersistentVolumeClaimCondition.Type 516 - PersistentVolumeClaimConditionType: string // enumPersistentVolumeClaimConditionType 529 + PersistentVolumeClaimConditionType :: string // enumPersistentVolumeClaimConditionType 517 530 518 - enumPersistentVolumeClaimConditionType: 531 + enumPersistentVolumeClaimConditionType :: 519 532 PersistentVolumeClaimResizing | 520 533 PersistentVolumeClaimFileSystemResizePending 521 534 522 535 // PersistentVolumeClaimResizing - a user trigger resize of pvc has been started 523 - PersistentVolumeClaimResizing: PersistentVolumeClaimConditionType & "Resizing" 536 + PersistentVolumeClaimResizing :: PersistentVolumeClaimConditionType & "Resizing" 524 537 525 538 // PersistentVolumeClaimFileSystemResizePending - controller resize is finished and a file system resize is pending on node 526 - PersistentVolumeClaimFileSystemResizePending: PersistentVolumeClaimConditionType & "FileSystemResizePending" 539 + PersistentVolumeClaimFileSystemResizePending :: PersistentVolumeClaimConditionType & "FileSystemResizePending" 527 540 528 541 // PersistentVolumeClaimCondition contails details about state of pvc 529 - PersistentVolumeClaimCondition: { 542 + PersistentVolumeClaimCondition :: { 530 543 type: PersistentVolumeClaimConditionType @go(Type) @protobuf(1,bytes,opt,casttype=PersistentVolumeClaimConditionType) 531 544 status: ConditionStatus @go(Status) @protobuf(2,bytes,opt,casttype=ConditionStatus) 532 545 ··· 550 563 } 551 564 552 565 // PersistentVolumeClaimStatus is the current status of a persistent volume claim. 553 - PersistentVolumeClaimStatus: { 566 + PersistentVolumeClaimStatus :: { 554 567 // Phase represents the current phase of PersistentVolumeClaim. 555 568 // +optional 556 569 phase?: PersistentVolumeClaimPhase @go(Phase) @protobuf(1,bytes,opt,casttype=PersistentVolumeClaimPhase) ··· 572 585 conditions?: [...PersistentVolumeClaimCondition] @go(Conditions,[]PersistentVolumeClaimCondition) @protobuf(4,bytes,rep) 573 586 } 574 587 575 - PersistentVolumeAccessMode: string // enumPersistentVolumeAccessMode 588 + PersistentVolumeAccessMode :: string // enumPersistentVolumeAccessMode 576 589 577 - enumPersistentVolumeAccessMode: 590 + enumPersistentVolumeAccessMode :: 578 591 ReadWriteOnce | 579 592 ReadOnlyMany | 580 593 ReadWriteMany 581 594 582 595 // can be mounted in read/write mode to exactly 1 host 583 - ReadWriteOnce: PersistentVolumeAccessMode & "ReadWriteOnce" 596 + ReadWriteOnce :: PersistentVolumeAccessMode & "ReadWriteOnce" 584 597 585 598 // can be mounted in read-only mode to many hosts 586 - ReadOnlyMany: PersistentVolumeAccessMode & "ReadOnlyMany" 599 + ReadOnlyMany :: PersistentVolumeAccessMode & "ReadOnlyMany" 587 600 588 601 // can be mounted in read/write mode to many hosts 589 - ReadWriteMany: PersistentVolumeAccessMode & "ReadWriteMany" 602 + ReadWriteMany :: PersistentVolumeAccessMode & "ReadWriteMany" 590 603 591 - PersistentVolumePhase: string // enumPersistentVolumePhase 604 + PersistentVolumePhase :: string // enumPersistentVolumePhase 592 605 593 - enumPersistentVolumePhase: 606 + enumPersistentVolumePhase :: 594 607 VolumePending | 595 608 VolumeAvailable | 596 609 VolumeBound | ··· 598 611 VolumeFailed 599 612 600 613 // used for PersistentVolumes that are not available 601 - VolumePending: PersistentVolumePhase & "Pending" 614 + VolumePending :: PersistentVolumePhase & "Pending" 602 615 603 616 // used for PersistentVolumes that are not yet bound 604 617 // Available volumes are held by the binder and matched to PersistentVolumeClaims 605 - VolumeAvailable: PersistentVolumePhase & "Available" 618 + VolumeAvailable :: PersistentVolumePhase & "Available" 606 619 607 620 // used for PersistentVolumes that are bound 608 - VolumeBound: PersistentVolumePhase & "Bound" 621 + VolumeBound :: PersistentVolumePhase & "Bound" 609 622 610 623 // used for PersistentVolumes where the bound PersistentVolumeClaim was deleted 611 624 // released volumes must be recycled before becoming available again 612 625 // this phase is used by the persistent volume claim binder to signal to another process to reclaim the resource 613 - VolumeReleased: PersistentVolumePhase & "Released" 626 + VolumeReleased :: PersistentVolumePhase & "Released" 614 627 615 628 // used for PersistentVolumes that failed to be correctly recycled or deleted after being released from a claim 616 - VolumeFailed: PersistentVolumePhase & "Failed" 629 + VolumeFailed :: PersistentVolumePhase & "Failed" 617 630 618 - PersistentVolumeClaimPhase: string // enumPersistentVolumeClaimPhase 631 + PersistentVolumeClaimPhase :: string // enumPersistentVolumeClaimPhase 619 632 620 - enumPersistentVolumeClaimPhase: 633 + enumPersistentVolumeClaimPhase :: 621 634 ClaimPending | 622 635 ClaimBound | 623 636 ClaimLost 624 637 625 638 // used for PersistentVolumeClaims that are not yet bound 626 - ClaimPending: PersistentVolumeClaimPhase & "Pending" 639 + ClaimPending :: PersistentVolumeClaimPhase & "Pending" 627 640 628 641 // used for PersistentVolumeClaims that are bound 629 - ClaimBound: PersistentVolumeClaimPhase & "Bound" 642 + ClaimBound :: PersistentVolumeClaimPhase & "Bound" 630 643 631 644 // used for PersistentVolumeClaims that lost their underlying 632 645 // PersistentVolume. The claim was bound to a PersistentVolume and this 633 646 // volume does not exist any longer and all data on it was lost. 634 - ClaimLost: PersistentVolumeClaimPhase & "Lost" 647 + ClaimLost :: PersistentVolumeClaimPhase & "Lost" 635 648 636 - HostPathType: string // enumHostPathType 649 + HostPathType :: string // enumHostPathType 637 650 638 - enumHostPathType: 651 + enumHostPathType :: 639 652 HostPathUnset | 640 653 HostPathDirectoryOrCreate | 641 654 HostPathDirectory | ··· 646 659 HostPathBlockDev 647 660 648 661 // For backwards compatible, leave it empty if unset 649 - HostPathUnset: HostPathType & "" 662 + HostPathUnset :: HostPathType & "" 650 663 651 664 // If nothing exists at the given path, an empty directory will be created there 652 665 // as needed with file mode 0755, having the same group and ownership with Kubelet. 653 - HostPathDirectoryOrCreate: HostPathType & "DirectoryOrCreate" 666 + HostPathDirectoryOrCreate :: HostPathType & "DirectoryOrCreate" 654 667 655 668 // A directory must exist at the given path 656 - HostPathDirectory: HostPathType & "Directory" 669 + HostPathDirectory :: HostPathType & "Directory" 657 670 658 671 // If nothing exists at the given path, an empty file will be created there 659 672 // as needed with file mode 0644, having the same group and ownership with Kubelet. 660 - HostPathFileOrCreate: HostPathType & "FileOrCreate" 673 + HostPathFileOrCreate :: HostPathType & "FileOrCreate" 661 674 662 675 // A file must exist at the given path 663 - HostPathFile: HostPathType & "File" 676 + HostPathFile :: HostPathType & "File" 664 677 665 678 // A UNIX socket must exist at the given path 666 - HostPathSocket: HostPathType & "Socket" 679 + HostPathSocket :: HostPathType & "Socket" 667 680 668 681 // A character device must exist at the given path 669 - HostPathCharDev: HostPathType & "CharDevice" 682 + HostPathCharDev :: HostPathType & "CharDevice" 670 683 671 684 // A block device must exist at the given path 672 - HostPathBlockDev: HostPathType & "BlockDevice" 685 + HostPathBlockDev :: HostPathType & "BlockDevice" 673 686 674 687 // Represents a host path mapped into a pod. 675 688 // Host path volumes do not support ownership management or SELinux relabeling. 676 - HostPathVolumeSource: { 689 + HostPathVolumeSource :: { 677 690 // Path of the directory on the host. 678 691 // If the path is a symlink, it will follow the link to the real path. 679 692 // More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath ··· 688 701 689 702 // Represents an empty directory for a pod. 690 703 // Empty directory volumes support ownership management and SELinux relabeling. 691 - EmptyDirVolumeSource: { 704 + EmptyDirVolumeSource :: { 692 705 // What type of storage medium should back this directory. 693 706 // The default is "" which means to use the node's default medium. 694 707 // Must be an empty string (default) or Memory. ··· 708 721 709 722 // Represents a Glusterfs mount that lasts the lifetime of a pod. 710 723 // Glusterfs volumes do not support ownership management or SELinux relabeling. 711 - GlusterfsVolumeSource: { 724 + GlusterfsVolumeSource :: { 712 725 // EndpointsName is the endpoint name that details Glusterfs topology. 713 726 // More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod 714 727 endpoints: string @go(EndpointsName) @protobuf(1,bytes,opt) ··· 726 739 727 740 // Represents a Glusterfs mount that lasts the lifetime of a pod. 728 741 // Glusterfs volumes do not support ownership management or SELinux relabeling. 729 - GlusterfsPersistentVolumeSource: { 742 + GlusterfsPersistentVolumeSource :: { 730 743 // EndpointsName is the endpoint name that details Glusterfs topology. 731 744 // More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod 732 745 endpoints: string @go(EndpointsName) @protobuf(1,bytes,opt) ··· 750 763 751 764 // Represents a Rados Block Device mount that lasts the lifetime of a pod. 752 765 // RBD volumes support ownership management and SELinux relabeling. 753 - RBDVolumeSource: { 766 + RBDVolumeSource :: { 754 767 // A collection of Ceph monitors. 755 768 // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it 756 769 monitors: [...string] @go(CephMonitors,[]string) @protobuf(1,bytes,rep) ··· 801 814 802 815 // Represents a Rados Block Device mount that lasts the lifetime of a pod. 803 816 // RBD volumes support ownership management and SELinux relabeling. 804 - RBDPersistentVolumeSource: { 817 + RBDPersistentVolumeSource :: { 805 818 // A collection of Ceph monitors. 806 819 // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it 807 820 monitors: [...string] @go(CephMonitors,[]string) @protobuf(1,bytes,rep) ··· 854 867 // A Cinder volume must exist before mounting to a container. 855 868 // The volume must also be in the same region as the kubelet. 856 869 // Cinder volumes support ownership management and SELinux relabeling. 857 - CinderVolumeSource: { 870 + CinderVolumeSource :: { 858 871 // volume id used to identify the volume in cinder. 859 872 // More info: https://examples.k8s.io/mysql-cinder-pd/README.md 860 873 volumeID: string @go(VolumeID) @protobuf(1,bytes,opt) ··· 882 895 // A Cinder volume must exist before mounting to a container. 883 896 // The volume must also be in the same region as the kubelet. 884 897 // Cinder volumes support ownership management and SELinux relabeling. 885 - CinderPersistentVolumeSource: { 898 + CinderPersistentVolumeSource :: { 886 899 // volume id used to identify the volume in cinder. 887 900 // More info: https://examples.k8s.io/mysql-cinder-pd/README.md 888 901 volumeID: string @go(VolumeID) @protobuf(1,bytes,opt) ··· 908 921 909 922 // Represents a Ceph Filesystem mount that lasts the lifetime of a pod 910 923 // Cephfs volumes do not support ownership management or SELinux relabeling. 911 - CephFSVolumeSource: { 924 + CephFSVolumeSource :: { 912 925 // Required: Monitors is a collection of Ceph monitors 913 926 // More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it 914 927 monitors: [...string] @go(Monitors,[]string) @protobuf(1,bytes,rep) ··· 941 954 942 955 // SecretReference represents a Secret Reference. It has enough information to retrieve secret 943 956 // in any namespace 944 - SecretReference: { 957 + SecretReference :: { 945 958 // Name is unique within a namespace to reference a secret resource. 946 959 // +optional 947 960 name?: string @go(Name) @protobuf(1,bytes,opt) ··· 953 966 954 967 // Represents a Ceph Filesystem mount that lasts the lifetime of a pod 955 968 // Cephfs volumes do not support ownership management or SELinux relabeling. 956 - CephFSPersistentVolumeSource: { 969 + CephFSPersistentVolumeSource :: { 957 970 // Required: Monitors is a collection of Ceph monitors 958 971 // More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it 959 972 monitors: [...string] @go(Monitors,[]string) @protobuf(1,bytes,rep) ··· 987 1000 // Represents a Flocker volume mounted by the Flocker agent. 988 1001 // One and only one of datasetName and datasetUUID should be set. 989 1002 // Flocker volumes do not support ownership management or SELinux relabeling. 990 - FlockerVolumeSource: { 1003 + FlockerVolumeSource :: { 991 1004 // Name of the dataset stored as metadata -> name on the dataset for Flocker 992 1005 // should be considered as deprecated 993 1006 // +optional ··· 999 1012 } 1000 1013 1001 1014 // StorageMedium defines ways that storage can be allocated to a volume. 1002 - StorageMedium: string // enumStorageMedium 1015 + StorageMedium :: string // enumStorageMedium 1003 1016 1004 - enumStorageMedium: 1017 + enumStorageMedium :: 1005 1018 StorageMediumDefault | 1006 1019 StorageMediumMemory | 1007 1020 StorageMediumHugePages 1008 1021 1009 - StorageMediumDefault: StorageMedium & "" 1010 - StorageMediumMemory: StorageMedium & "Memory" 1011 - StorageMediumHugePages: StorageMedium & "HugePages" 1022 + StorageMediumDefault :: StorageMedium & "" 1023 + StorageMediumMemory :: StorageMedium & "Memory" 1024 + StorageMediumHugePages :: StorageMedium & "HugePages" 1012 1025 1013 1026 // Protocol defines network protocols supported for things like container ports. 1014 - Protocol: string // enumProtocol 1027 + Protocol :: string // enumProtocol 1015 1028 1016 - enumProtocol: 1029 + enumProtocol :: 1017 1030 ProtocolTCP | 1018 1031 ProtocolUDP | 1019 1032 ProtocolSCTP 1020 1033 1021 1034 // ProtocolTCP is the TCP protocol. 1022 - ProtocolTCP: Protocol & "TCP" 1035 + ProtocolTCP :: Protocol & "TCP" 1023 1036 1024 1037 // ProtocolUDP is the UDP protocol. 1025 - ProtocolUDP: Protocol & "UDP" 1038 + ProtocolUDP :: Protocol & "UDP" 1026 1039 1027 1040 // ProtocolSCTP is the SCTP protocol. 1028 - ProtocolSCTP: Protocol & "SCTP" 1041 + ProtocolSCTP :: Protocol & "SCTP" 1029 1042 1030 1043 // Represents a Persistent Disk resource in Google Compute Engine. 1031 1044 // ··· 1033 1046 // also be in the same GCE project and zone as the kubelet. A GCE PD 1034 1047 // can only be mounted as read/write once or read-only many times. GCE 1035 1048 // PDs support ownership management and SELinux relabeling. 1036 - GCEPersistentDiskVolumeSource: { 1049 + GCEPersistentDiskVolumeSource :: { 1037 1050 // Unique name of the PD resource in GCE. Used to identify the disk in GCE. 1038 1051 // More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk 1039 1052 pdName: string @go(PDName) @protobuf(1,bytes,opt) ··· 1063 1076 1064 1077 // Represents a Quobyte mount that lasts the lifetime of a pod. 1065 1078 // Quobyte volumes do not support ownership management or SELinux relabeling. 1066 - QuobyteVolumeSource: { 1079 + QuobyteVolumeSource :: { 1067 1080 // Registry represents a single or multiple Quobyte Registry services 1068 1081 // specified as a string as host:port pair (multiple entries are separated with commas) 1069 1082 // which acts as the central registry for volumes ··· 1095 1108 1096 1109 // FlexPersistentVolumeSource represents a generic persistent volume resource that is 1097 1110 // provisioned/attached using an exec based plugin. 1098 - FlexPersistentVolumeSource: { 1111 + FlexPersistentVolumeSource :: { 1099 1112 // Driver is the name of the driver to use for this volume. 1100 1113 driver: string @go(Driver) @protobuf(1,bytes,opt) 1101 1114 ··· 1125 1138 1126 1139 // FlexVolume represents a generic volume resource that is 1127 1140 // provisioned/attached using an exec based plugin. 1128 - FlexVolumeSource: { 1141 + FlexVolumeSource :: { 1129 1142 // Driver is the name of the driver to use for this volume. 1130 1143 driver: string @go(Driver) @protobuf(1,bytes,opt) 1131 1144 ··· 1159 1172 // must also be in the same AWS zone as the kubelet. An AWS EBS disk 1160 1173 // can only be mounted as read/write once. AWS EBS volumes support 1161 1174 // ownership management and SELinux relabeling. 1162 - AWSElasticBlockStoreVolumeSource: { 1175 + AWSElasticBlockStoreVolumeSource :: { 1163 1176 // Unique ID of the persistent disk resource in AWS (Amazon EBS volume). 1164 1177 // More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore 1165 1178 volumeID: string @go(VolumeID) @protobuf(1,bytes,opt) ··· 1193 1206 // DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an 1194 1207 // EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir 1195 1208 // into the Pod's container. 1196 - GitRepoVolumeSource: { 1209 + GitRepoVolumeSource :: { 1197 1210 // Repository URL 1198 1211 repository: string @go(Repository) @protobuf(1,bytes,opt) 1199 1212 ··· 1214 1227 // The contents of the target Secret's Data field will be presented in a volume 1215 1228 // as files using the keys in the Data field as the file names. 1216 1229 // Secret volumes support ownership management and SELinux relabeling. 1217 - SecretVolumeSource: { 1230 + SecretVolumeSource :: { 1218 1231 // Name of the secret in the pod's namespace to use. 1219 1232 // More info: https://kubernetes.io/docs/concepts/storage/volumes#secret 1220 1233 // +optional ··· 1243 1256 optional?: null | bool @go(Optional,*bool) @protobuf(4,varint,opt) 1244 1257 } 1245 1258 1246 - SecretVolumeSourceDefaultMode: int32 & 0o644 1259 + SecretVolumeSourceDefaultMode :: int32 & 0o644 1247 1260 1248 1261 // Adapts a secret into a projected volume. 1249 1262 // ··· 1251 1264 // projected volume as files using the keys in the Data field as the file names. 1252 1265 // Note that this is identical to a secret volume source without the default 1253 1266 // mode. 1254 - SecretProjection: LocalObjectReference & { 1267 + SecretProjection :: { 1268 + (LocalObjectReference) 1269 + 1255 1270 // If unspecified, each key-value pair in the Data field of the referenced 1256 1271 // Secret will be projected into the volume as a file whose name is the 1257 1272 // key and content is the value. If specified, the listed keys will be ··· 1269 1284 1270 1285 // Represents an NFS mount that lasts the lifetime of a pod. 1271 1286 // NFS volumes do not support ownership management or SELinux relabeling. 1272 - NFSVolumeSource: { 1287 + NFSVolumeSource :: { 1273 1288 // Server is the hostname or IP address of the NFS server. 1274 1289 // More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs 1275 1290 server: string @go(Server) @protobuf(1,bytes,opt) ··· 1289 1304 // Represents an ISCSI disk. 1290 1305 // ISCSI volumes can only be mounted as read/write once. 1291 1306 // ISCSI volumes support ownership management and SELinux relabeling. 1292 - ISCSIVolumeSource: { 1307 + ISCSIVolumeSource :: { 1293 1308 // iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port 1294 1309 // is other than default (typically TCP ports 860 and 3260). 1295 1310 targetPortal: string @go(TargetPortal) @protobuf(1,bytes,opt) ··· 1345 1360 // ISCSIPersistentVolumeSource represents an ISCSI disk. 1346 1361 // ISCSI volumes can only be mounted as read/write once. 1347 1362 // ISCSI volumes support ownership management and SELinux relabeling. 1348 - ISCSIPersistentVolumeSource: { 1363 + ISCSIPersistentVolumeSource :: { 1349 1364 // iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port 1350 1365 // is other than default (typically TCP ports 860 and 3260). 1351 1366 targetPortal: string @go(TargetPortal) @protobuf(1,bytes,opt) ··· 1401 1416 // Represents a Fibre Channel volume. 1402 1417 // Fibre Channel volumes can only be mounted as read/write once. 1403 1418 // Fibre Channel volumes support ownership management and SELinux relabeling. 1404 - FCVolumeSource: { 1419 + FCVolumeSource :: { 1405 1420 // Optional: FC target worldwide names (WWNs) 1406 1421 // +optional 1407 1422 targetWWNs?: [...string] @go(TargetWWNs,[]string) @protobuf(1,bytes,rep) ··· 1429 1444 } 1430 1445 1431 1446 // AzureFile represents an Azure File Service mount on the host and bind mount to the pod. 1432 - AzureFileVolumeSource: { 1447 + AzureFileVolumeSource :: { 1433 1448 // the name of secret that contains Azure Storage Account Name and Key 1434 1449 secretName: string @go(SecretName) @protobuf(1,bytes,opt) 1435 1450 ··· 1443 1458 } 1444 1459 1445 1460 // AzureFile represents an Azure File Service mount on the host and bind mount to the pod. 1446 - AzureFilePersistentVolumeSource: { 1461 + AzureFilePersistentVolumeSource :: { 1447 1462 // the name of secret that contains Azure Storage Account Name and Key 1448 1463 secretName: string @go(SecretName) @protobuf(1,bytes,opt) 1449 1464 ··· 1462 1477 } 1463 1478 1464 1479 // Represents a vSphere volume resource. 1465 - VsphereVirtualDiskVolumeSource: { 1480 + VsphereVirtualDiskVolumeSource :: { 1466 1481 // Path that identifies vSphere volume vmdk 1467 1482 volumePath: string @go(VolumePath) @protobuf(1,bytes,opt) 1468 1483 ··· 1482 1497 } 1483 1498 1484 1499 // Represents a Photon Controller persistent disk resource. 1485 - PhotonPersistentDiskVolumeSource: { 1500 + PhotonPersistentDiskVolumeSource :: { 1486 1501 // ID that identifies Photon Controller persistent disk 1487 1502 pdID: string @go(PdID) @protobuf(1,bytes,opt) 1488 1503 ··· 1492 1507 fsType?: string @go(FSType) @protobuf(2,bytes,opt) 1493 1508 } 1494 1509 1495 - AzureDataDiskCachingMode: string // enumAzureDataDiskCachingMode 1510 + AzureDataDiskCachingMode :: string // enumAzureDataDiskCachingMode 1496 1511 1497 - enumAzureDataDiskCachingMode: 1512 + enumAzureDataDiskCachingMode :: 1498 1513 AzureDataDiskCachingNone | 1499 1514 AzureDataDiskCachingReadOnly | 1500 1515 AzureDataDiskCachingReadWrite 1501 1516 1502 - AzureDataDiskKind: string // enumAzureDataDiskKind 1517 + AzureDataDiskKind :: string // enumAzureDataDiskKind 1503 1518 1504 - enumAzureDataDiskKind: 1519 + enumAzureDataDiskKind :: 1505 1520 AzureSharedBlobDisk | 1506 1521 AzureDedicatedBlobDisk | 1507 1522 AzureManagedDisk 1508 1523 1509 - AzureDataDiskCachingNone: AzureDataDiskCachingMode & "None" 1510 - AzureDataDiskCachingReadOnly: AzureDataDiskCachingMode & "ReadOnly" 1511 - AzureDataDiskCachingReadWrite: AzureDataDiskCachingMode & "ReadWrite" 1512 - AzureSharedBlobDisk: AzureDataDiskKind & "Shared" 1513 - AzureDedicatedBlobDisk: AzureDataDiskKind & "Dedicated" 1514 - AzureManagedDisk: AzureDataDiskKind & "Managed" 1524 + AzureDataDiskCachingNone :: AzureDataDiskCachingMode & "None" 1525 + AzureDataDiskCachingReadOnly :: AzureDataDiskCachingMode & "ReadOnly" 1526 + AzureDataDiskCachingReadWrite :: AzureDataDiskCachingMode & "ReadWrite" 1527 + AzureSharedBlobDisk :: AzureDataDiskKind & "Shared" 1528 + AzureDedicatedBlobDisk :: AzureDataDiskKind & "Dedicated" 1529 + AzureManagedDisk :: AzureDataDiskKind & "Managed" 1515 1530 1516 1531 // AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. 1517 - AzureDiskVolumeSource: { 1532 + AzureDiskVolumeSource :: { 1518 1533 // The Name of the data disk in the blob storage 1519 1534 diskName: string @go(DiskName) @protobuf(1,bytes,opt) 1520 1535 ··· 1541 1556 } 1542 1557 1543 1558 // PortworxVolumeSource represents a Portworx volume resource. 1544 - PortworxVolumeSource: { 1559 + PortworxVolumeSource :: { 1545 1560 // VolumeID uniquely identifies a Portworx volume 1546 1561 volumeID: string @go(VolumeID) @protobuf(1,bytes,opt) 1547 1562 ··· 1557 1572 } 1558 1573 1559 1574 // ScaleIOVolumeSource represents a persistent ScaleIO volume 1560 - ScaleIOVolumeSource: { 1575 + ScaleIOVolumeSource :: { 1561 1576 // The host address of the ScaleIO API Gateway. 1562 1577 gateway: string @go(Gateway) @protobuf(1,bytes,opt) 1563 1578 ··· 1603 1618 } 1604 1619 1605 1620 // ScaleIOPersistentVolumeSource represents a persistent ScaleIO volume 1606 - ScaleIOPersistentVolumeSource: { 1621 + ScaleIOPersistentVolumeSource :: { 1607 1622 // The host address of the ScaleIO API Gateway. 1608 1623 gateway: string @go(Gateway) @protobuf(1,bytes,opt) 1609 1624 ··· 1649 1664 } 1650 1665 1651 1666 // Represents a StorageOS persistent volume resource. 1652 - StorageOSVolumeSource: { 1667 + StorageOSVolumeSource :: { 1653 1668 // VolumeName is the human-readable name of the StorageOS volume. Volume 1654 1669 // names are only unique within a namespace. 1655 1670 volumeName?: string @go(VolumeName) @protobuf(1,bytes,opt) ··· 1681 1696 } 1682 1697 1683 1698 // Represents a StorageOS persistent volume resource. 1684 - StorageOSPersistentVolumeSource: { 1699 + StorageOSPersistentVolumeSource :: { 1685 1700 // VolumeName is the human-readable name of the StorageOS volume. Volume 1686 1701 // names are only unique within a namespace. 1687 1702 volumeName?: string @go(VolumeName) @protobuf(1,bytes,opt) ··· 1718 1733 // volume as files using the keys in the Data field as the file names, unless 1719 1734 // the items element is populated with specific mappings of keys to paths. 1720 1735 // ConfigMap volumes support ownership management and SELinux relabeling. 1721 - ConfigMapVolumeSource: LocalObjectReference & { 1736 + ConfigMapVolumeSource :: { 1737 + (LocalObjectReference) 1738 + 1722 1739 // If unspecified, each key-value pair in the Data field of the referenced 1723 1740 // ConfigMap will be projected into the volume as a file whose name is the 1724 1741 // key and content is the value. If specified, the listed keys will be ··· 1742 1759 optional?: null | bool @go(Optional,*bool) @protobuf(4,varint,opt) 1743 1760 } 1744 1761 1745 - ConfigMapVolumeSourceDefaultMode: int32 & 0o644 1762 + ConfigMapVolumeSourceDefaultMode :: int32 & 0o644 1746 1763 1747 1764 // Adapts a ConfigMap into a projected volume. 1748 1765 // ··· 1751 1768 // unless the items element is populated with specific mappings of keys to paths. 1752 1769 // Note that this is identical to a configmap volume source without the default 1753 1770 // mode. 1754 - ConfigMapProjection: LocalObjectReference & { 1771 + ConfigMapProjection :: { 1772 + (LocalObjectReference) 1773 + 1755 1774 // If unspecified, each key-value pair in the Data field of the referenced 1756 1775 // ConfigMap will be projected into the volume as a file whose name is the 1757 1776 // key and content is the value. If specified, the listed keys will be ··· 1771 1790 // volume. This projection can be used to insert a service account token into 1772 1791 // the pods runtime filesystem for use against APIs (Kubernetes API Server or 1773 1792 // otherwise). 1774 - ServiceAccountTokenProjection: { 1793 + ServiceAccountTokenProjection :: { 1775 1794 // Audience is the intended audience of the token. A recipient of a token 1776 1795 // must identify itself with an identifier specified in the audience of the 1777 1796 // token, and otherwise should reject the token. The audience defaults to the ··· 1794 1813 } 1795 1814 1796 1815 // Represents a projected volume source 1797 - ProjectedVolumeSource: { 1816 + ProjectedVolumeSource :: { 1798 1817 // list of volume projections 1799 1818 sources: [...VolumeProjection] @go(Sources,[]VolumeProjection) @protobuf(1,bytes,rep) 1800 1819 ··· 1808 1827 } 1809 1828 1810 1829 // Projection that may be projected along with other supported volume types 1811 - VolumeProjection: { 1830 + VolumeProjection :: { 1812 1831 // information about the secret data to project 1813 1832 // +optional 1814 1833 secret?: null | SecretProjection @go(Secret,*SecretProjection) @protobuf(1,bytes,opt) ··· 1826 1845 serviceAccountToken?: null | ServiceAccountTokenProjection @go(ServiceAccountToken,*ServiceAccountTokenProjection) @protobuf(4,bytes,opt) 1827 1846 } 1828 1847 1829 - ProjectedVolumeSourceDefaultMode: int32 & 0o644 1848 + ProjectedVolumeSourceDefaultMode :: int32 & 0o644 1830 1849 1831 1850 // Maps a string key to a path within a volume. 1832 - KeyToPath: { 1851 + KeyToPath :: { 1833 1852 // The key to project. 1834 1853 key: string @go(Key) @protobuf(1,bytes,opt) 1835 1854 ··· 1848 1867 } 1849 1868 1850 1869 // Local represents directly-attached storage with node affinity (Beta feature) 1851 - LocalVolumeSource: { 1870 + LocalVolumeSource :: { 1852 1871 // The full path to the volume on the node. 1853 1872 // It can be either a directory or block device (disk, partition, ...). 1854 1873 path: string @go(Path) @protobuf(1,bytes,opt) ··· 1862 1881 } 1863 1882 1864 1883 // Represents storage that is managed by an external CSI volume driver (Beta feature) 1865 - CSIPersistentVolumeSource: { 1884 + CSIPersistentVolumeSource :: { 1866 1885 // Driver is the name of the driver to use for this volume. 1867 1886 // Required. 1868 1887 driver: string @go(Driver) @protobuf(1,bytes,opt) ··· 1922 1941 } 1923 1942 1924 1943 // Represents a source location of a volume to mount, managed by an external CSI driver 1925 - CSIVolumeSource: { 1944 + CSIVolumeSource :: { 1926 1945 // Driver is the name of the CSI driver that handles this volume. 1927 1946 // Consult with your admin for the correct name as registered in the cluster. 1928 1947 driver: string @go(Driver) @protobuf(1,bytes,opt) ··· 1953 1972 } 1954 1973 1955 1974 // ContainerPort represents a network port in a single container. 1956 - ContainerPort: { 1975 + ContainerPort :: { 1957 1976 // If specified, this must be an IANA_SVC_NAME and unique within the pod. Each 1958 1977 // named port in a pod must have a unique name. Name for the port that can be 1959 1978 // referred to by services. ··· 1982 2001 } 1983 2002 1984 2003 // VolumeMount describes a mounting of a Volume within a container. 1985 - VolumeMount: { 2004 + VolumeMount :: { 1986 2005 // This must match the Name of a Volume. 1987 2006 name: string @go(Name) @protobuf(1,bytes,opt) 1988 2007 ··· 2017 2036 } 2018 2037 2019 2038 // MountPropagationMode describes mount propagation. 2020 - MountPropagationMode: string // enumMountPropagationMode 2039 + MountPropagationMode :: string // enumMountPropagationMode 2021 2040 2022 - enumMountPropagationMode: 2041 + enumMountPropagationMode :: 2023 2042 MountPropagationNone | 2024 2043 MountPropagationHostToContainer | 2025 2044 MountPropagationBidirectional ··· 2029 2048 // mounted inside the container won't be propagated to the host or other 2030 2049 // containers. 2031 2050 // Note that this mode corresponds to "private" in Linux terminology. 2032 - MountPropagationNone: MountPropagationMode & "None" 2051 + MountPropagationNone :: MountPropagationMode & "None" 2033 2052 2034 2053 // MountPropagationHostToContainer means that the volume in a container will 2035 2054 // receive new mounts from the host or other containers, but filesystems ··· 2037 2056 // containers. 2038 2057 // Note that this mode is recursively applied to all mounts in the volume 2039 2058 // ("rslave" in Linux terminology). 2040 - MountPropagationHostToContainer: MountPropagationMode & "HostToContainer" 2059 + MountPropagationHostToContainer :: MountPropagationMode & "HostToContainer" 2041 2060 2042 2061 // MountPropagationBidirectional means that the volume in a container will 2043 2062 // receive new mounts from the host or other containers, and its own mounts 2044 2063 // will be propagated from the container to the host or other containers. 2045 2064 // Note that this mode is recursively applied to all mounts in the volume 2046 2065 // ("rshared" in Linux terminology). 2047 - MountPropagationBidirectional: MountPropagationMode & "Bidirectional" 2066 + MountPropagationBidirectional :: MountPropagationMode & "Bidirectional" 2048 2067 2049 2068 // volumeDevice describes a mapping of a raw block device within a container. 2050 - VolumeDevice: { 2069 + VolumeDevice :: { 2051 2070 // name must match the name of a persistentVolumeClaim in the pod 2052 2071 name: string @go(Name) @protobuf(1,bytes,opt) 2053 2072 ··· 2056 2075 } 2057 2076 2058 2077 // EnvVar represents an environment variable present in a Container. 2059 - EnvVar: { 2078 + EnvVar :: { 2060 2079 // Name of the environment variable. Must be a C_IDENTIFIER. 2061 2080 name: string @go(Name) @protobuf(1,bytes,opt) 2062 2081 ··· 2077 2096 } 2078 2097 2079 2098 // EnvVarSource represents a source for the value of an EnvVar. 2080 - EnvVarSource: { 2099 + EnvVarSource :: { 2081 2100 // Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, 2082 2101 // spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP. 2083 2102 // +optional ··· 2098 2117 } 2099 2118 2100 2119 // ObjectFieldSelector selects an APIVersioned field of an object. 2101 - ObjectFieldSelector: { 2120 + ObjectFieldSelector :: { 2102 2121 // Version of the schema the FieldPath is written in terms of, defaults to "v1". 2103 2122 // +optional 2104 2123 apiVersion?: string @go(APIVersion) @protobuf(1,bytes,opt) ··· 2108 2127 } 2109 2128 2110 2129 // ResourceFieldSelector represents container resources (cpu, memory) and their output format 2111 - ResourceFieldSelector: { 2130 + ResourceFieldSelector :: { 2112 2131 // Container name: required for volumes, optional for env vars 2113 2132 // +optional 2114 2133 containerName?: string @go(ContainerName) @protobuf(1,bytes,opt) ··· 2122 2141 } 2123 2142 2124 2143 // Selects a key from a ConfigMap. 2125 - ConfigMapKeySelector: LocalObjectReference & { 2144 + ConfigMapKeySelector :: { 2145 + (LocalObjectReference) 2146 + 2126 2147 // The key to select. 2127 2148 key: string @go(Key) @protobuf(2,bytes,opt) 2128 2149 ··· 2132 2153 } 2133 2154 2134 2155 // SecretKeySelector selects a key of a Secret. 2135 - SecretKeySelector: LocalObjectReference & { 2156 + SecretKeySelector :: { 2157 + (LocalObjectReference) 2158 + 2136 2159 // The key of the secret to select from. Must be a valid secret key. 2137 2160 key: string @go(Key) @protobuf(2,bytes,opt) 2138 2161 ··· 2142 2165 } 2143 2166 2144 2167 // EnvFromSource represents the source of a set of ConfigMaps 2145 - EnvFromSource: { 2168 + EnvFromSource :: { 2146 2169 // An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. 2147 2170 // +optional 2148 2171 prefix?: string @go(Prefix) @protobuf(1,bytes,opt) ··· 2161 2184 // 2162 2185 // The contents of the target ConfigMap's Data field will represent the 2163 2186 // key-value pairs as environment variables. 2164 - ConfigMapEnvSource: LocalObjectReference & { 2187 + ConfigMapEnvSource :: { 2188 + (LocalObjectReference) 2189 + 2165 2190 // Specify whether the ConfigMap must be defined 2166 2191 // +optional 2167 2192 optional?: null | bool @go(Optional,*bool) @protobuf(2,varint,opt) ··· 2172 2197 // 2173 2198 // The contents of the target Secret's Data field will represent the 2174 2199 // key-value pairs as environment variables. 2175 - SecretEnvSource: LocalObjectReference & { 2200 + SecretEnvSource :: { 2201 + (LocalObjectReference) 2202 + 2176 2203 // Specify whether the Secret must be defined 2177 2204 // +optional 2178 2205 optional?: null | bool @go(Optional,*bool) @protobuf(2,varint,opt) 2179 2206 } 2180 2207 2181 2208 // HTTPHeader describes a custom header to be used in HTTP probes 2182 - HTTPHeader: { 2209 + HTTPHeader :: { 2183 2210 // The header field name 2184 2211 name: string @go(Name) @protobuf(1,bytes,opt) 2185 2212 ··· 2188 2215 } 2189 2216 2190 2217 // HTTPGetAction describes an action based on HTTP Get requests. 2191 - HTTPGetAction: { 2218 + HTTPGetAction :: { 2192 2219 // Path to access on the HTTP server. 2193 2220 // +optional 2194 2221 path?: string @go(Path) @protobuf(1,bytes,opt) ··· 2214 2241 } 2215 2242 2216 2243 // URIScheme identifies the scheme used for connection to a host for Get actions 2217 - URIScheme: string // enumURIScheme 2244 + URIScheme :: string // enumURIScheme 2218 2245 2219 - enumURIScheme: 2246 + enumURIScheme :: 2220 2247 URISchemeHTTP | 2221 2248 URISchemeHTTPS 2222 2249 2223 2250 // URISchemeHTTP means that the scheme used will be http:// 2224 - URISchemeHTTP: URIScheme & "HTTP" 2251 + URISchemeHTTP :: URIScheme & "HTTP" 2225 2252 2226 2253 // URISchemeHTTPS means that the scheme used will be https:// 2227 - URISchemeHTTPS: URIScheme & "HTTPS" 2254 + URISchemeHTTPS :: URIScheme & "HTTPS" 2228 2255 2229 2256 // TCPSocketAction describes an action based on opening a socket 2230 - TCPSocketAction: { 2257 + TCPSocketAction :: { 2231 2258 // Number or name of the port to access on the container. 2232 2259 // Number must be in the range 1 to 65535. 2233 2260 // Name must be an IANA_SVC_NAME. ··· 2239 2266 } 2240 2267 2241 2268 // ExecAction describes a "run in container" action. 2242 - ExecAction: { 2269 + ExecAction :: { 2243 2270 // Command is the command line to execute inside the container, the working directory for the 2244 2271 // command is root ('/') in the container's filesystem. The command is simply exec'd, it is 2245 2272 // not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use ··· 2251 2278 2252 2279 // Probe describes a health check to be performed against a container to determine whether it is 2253 2280 // alive or ready to receive traffic. 2254 - Probe: Handler & { 2281 + Probe :: { 2282 + (Handler) 2283 + 2255 2284 // Number of seconds after the container has started before liveness probes are initiated. 2256 2285 // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes 2257 2286 // +optional ··· 2280 2309 } 2281 2310 2282 2311 // PullPolicy describes a policy for if/when to pull a container image 2283 - PullPolicy: string // enumPullPolicy 2312 + PullPolicy :: string // enumPullPolicy 2284 2313 2285 - enumPullPolicy: 2314 + enumPullPolicy :: 2286 2315 PullAlways | 2287 2316 PullNever | 2288 2317 PullIfNotPresent 2289 2318 2290 2319 // PullAlways means that kubelet always attempts to pull the latest image. Container will fail If the pull fails. 2291 - PullAlways: PullPolicy & "Always" 2320 + PullAlways :: PullPolicy & "Always" 2292 2321 2293 2322 // PullNever means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present 2294 - PullNever: PullPolicy & "Never" 2323 + PullNever :: PullPolicy & "Never" 2295 2324 2296 2325 // PullIfNotPresent means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails. 2297 - PullIfNotPresent: PullPolicy & "IfNotPresent" 2326 + PullIfNotPresent :: PullPolicy & "IfNotPresent" 2298 2327 2299 2328 // PreemptionPolicy describes a policy for if/when to preempt a pod. 2300 - PreemptionPolicy: string // enumPreemptionPolicy 2329 + PreemptionPolicy :: string // enumPreemptionPolicy 2301 2330 2302 - enumPreemptionPolicy: 2331 + enumPreemptionPolicy :: 2303 2332 PreemptLowerPriority | 2304 2333 PreemptNever 2305 2334 2306 2335 // PreemptLowerPriority means that pod can preempt other pods with lower priority. 2307 - PreemptLowerPriority: PreemptionPolicy & "PreemptLowerPriority" 2336 + PreemptLowerPriority :: PreemptionPolicy & "PreemptLowerPriority" 2308 2337 2309 2338 // PreemptNever means that pod never preempts other pods with lower priority. 2310 - PreemptNever: PreemptionPolicy & "Never" 2339 + PreemptNever :: PreemptionPolicy & "Never" 2311 2340 2312 2341 // TerminationMessagePolicy describes how termination messages are retrieved from a container. 2313 - TerminationMessagePolicy: string // enumTerminationMessagePolicy 2342 + TerminationMessagePolicy :: string // enumTerminationMessagePolicy 2314 2343 2315 - enumTerminationMessagePolicy: 2344 + enumTerminationMessagePolicy :: 2316 2345 TerminationMessageReadFile | 2317 2346 TerminationMessageFallbackToLogsOnError 2318 2347 2319 2348 // TerminationMessageReadFile is the default behavior and will set the container status message to 2320 2349 // the contents of the container's terminationMessagePath when the container exits. 2321 - TerminationMessageReadFile: TerminationMessagePolicy & "File" 2350 + TerminationMessageReadFile :: TerminationMessagePolicy & "File" 2322 2351 2323 2352 // TerminationMessageFallbackToLogsOnError will read the most recent contents of the container logs 2324 2353 // for the container status message when the container exits with an error and the 2325 2354 // terminationMessagePath has no contents. 2326 - TerminationMessageFallbackToLogsOnError: TerminationMessagePolicy & "FallbackToLogsOnError" 2355 + TerminationMessageFallbackToLogsOnError :: TerminationMessagePolicy & "FallbackToLogsOnError" 2327 2356 2328 2357 // Capability represent POSIX capabilities type 2329 - Capability: string 2358 + Capability :: string 2330 2359 2331 2360 // Adds and removes POSIX capabilities from running containers. 2332 - Capabilities: { 2361 + Capabilities :: { 2333 2362 // Added capabilities 2334 2363 // +optional 2335 2364 add?: [...Capability] @go(Add,[]Capability) @protobuf(1,bytes,rep,casttype=Capability) ··· 2340 2369 } 2341 2370 2342 2371 // ResourceRequirements describes the compute resource requirements. 2343 - ResourceRequirements: { 2372 + ResourceRequirements :: { 2344 2373 // Limits describes the maximum amount of compute resources allowed. 2345 2374 // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ 2346 2375 // +optional ··· 2355 2384 } 2356 2385 2357 2386 // TerminationMessagePathDefault means the default path to capture the application termination message running in a container 2358 - TerminationMessagePathDefault: "/dev/termination-log" 2387 + TerminationMessagePathDefault :: "/dev/termination-log" 2359 2388 2360 2389 // A single application container that you want to run within a pod. 2361 - Container: { 2390 + Container :: { 2362 2391 // Name of the container specified as a DNS_LABEL. 2363 2392 // Each container in a pod must have a unique name (DNS_LABEL). 2364 2393 // Cannot be updated. ··· 2539 2568 2540 2569 // Handler defines a specific action that should be taken 2541 2570 // TODO: pass structured data to these actions, and document that data here. 2542 - Handler: { 2571 + Handler :: { 2543 2572 // One and only one of the following should be specified. 2544 2573 // Exec specifies the action to take. 2545 2574 // +optional ··· 2559 2588 // Lifecycle describes actions that the management system should take in response to container lifecycle 2560 2589 // events. For the PostStart and PreStop lifecycle handlers, management of the container blocks 2561 2590 // until the action is complete, unless the container process fails, in which case the handler is aborted. 2562 - Lifecycle: { 2591 + Lifecycle :: { 2563 2592 // PostStart is called immediately after a container is created. If the handler fails, 2564 2593 // the container is terminated and restarted according to its restart policy. 2565 2594 // Other management of the container blocks until the hook completes. ··· 2581 2610 preStop?: null | Handler @go(PreStop,*Handler) @protobuf(2,bytes,opt) 2582 2611 } 2583 2612 2584 - ConditionStatus: string // enumConditionStatus 2613 + ConditionStatus :: string // enumConditionStatus 2585 2614 2586 - enumConditionStatus: 2615 + enumConditionStatus :: 2587 2616 ConditionTrue | 2588 2617 ConditionFalse | 2589 2618 ConditionUnknown 2590 2619 2591 - ConditionTrue: ConditionStatus & "True" 2592 - ConditionFalse: ConditionStatus & "False" 2593 - ConditionUnknown: ConditionStatus & "Unknown" 2620 + ConditionTrue :: ConditionStatus & "True" 2621 + ConditionFalse :: ConditionStatus & "False" 2622 + ConditionUnknown :: ConditionStatus & "Unknown" 2594 2623 2595 2624 // ContainerStateWaiting is a waiting state of a container. 2596 - ContainerStateWaiting: { 2625 + ContainerStateWaiting :: { 2597 2626 // (brief) reason the container is not yet running. 2598 2627 // +optional 2599 2628 reason?: string @go(Reason) @protobuf(1,bytes,opt) ··· 2604 2633 } 2605 2634 2606 2635 // ContainerStateRunning is a running state of a container. 2607 - ContainerStateRunning: { 2636 + ContainerStateRunning :: { 2608 2637 // Time at which the container was last (re-)started 2609 2638 // +optional 2610 2639 startedAt?: metav1.Time @go(StartedAt) @protobuf(1,bytes,opt) 2611 2640 } 2612 2641 2613 2642 // ContainerStateTerminated is a terminated state of a container. 2614 - ContainerStateTerminated: { 2643 + ContainerStateTerminated :: { 2615 2644 // Exit status from the last termination of the container 2616 2645 exitCode: int32 @go(ExitCode) @protobuf(1,varint,opt) 2617 2646 ··· 2643 2672 // ContainerState holds a possible state of container. 2644 2673 // Only one of its members may be specified. 2645 2674 // If none of them is specified, the default one is ContainerStateWaiting. 2646 - ContainerState: { 2675 + ContainerState :: { 2647 2676 // Details about a waiting container 2648 2677 // +optional 2649 2678 waiting?: null | ContainerStateWaiting @go(Waiting,*ContainerStateWaiting) @protobuf(1,bytes,opt) ··· 2658 2687 } 2659 2688 2660 2689 // ContainerStatus contains details for the current status of this container. 2661 - ContainerStatus: { 2690 + ContainerStatus :: { 2662 2691 // This must be a DNS_LABEL. Each container in a pod must have a unique name. 2663 2692 // Cannot be updated. 2664 2693 name: string @go(Name) @protobuf(1,bytes,opt) ··· 2701 2730 } 2702 2731 2703 2732 // PodPhase is a label for the condition of a pod at the current time. 2704 - PodPhase: string // enumPodPhase 2733 + PodPhase :: string // enumPodPhase 2705 2734 2706 - enumPodPhase: 2735 + enumPodPhase :: 2707 2736 PodPending | 2708 2737 PodRunning | 2709 2738 PodSucceeded | ··· 2713 2742 // PodPending means the pod has been accepted by the system, but one or more of the containers 2714 2743 // has not been started. This includes time before being bound to a node, as well as time spent 2715 2744 // pulling images onto the host. 2716 - PodPending: PodPhase & "Pending" 2745 + PodPending :: PodPhase & "Pending" 2717 2746 2718 2747 // PodRunning means the pod has been bound to a node and all of the containers have been started. 2719 2748 // At least one container is still running or is in the process of being restarted. 2720 - PodRunning: PodPhase & "Running" 2749 + PodRunning :: PodPhase & "Running" 2721 2750 2722 2751 // PodSucceeded means that all containers in the pod have voluntarily terminated 2723 2752 // with a container exit code of 0, and the system is not going to restart any of these containers. 2724 - PodSucceeded: PodPhase & "Succeeded" 2753 + PodSucceeded :: PodPhase & "Succeeded" 2725 2754 2726 2755 // PodFailed means that all containers in the pod have terminated, and at least one container has 2727 2756 // terminated in a failure (exited with a non-zero exit code or was stopped by the system). 2728 - PodFailed: PodPhase & "Failed" 2757 + PodFailed :: PodPhase & "Failed" 2729 2758 2730 2759 // PodUnknown means that for some reason the state of the pod could not be obtained, typically due 2731 2760 // to an error in communicating with the host of the pod. 2732 - PodUnknown: PodPhase & "Unknown" 2761 + PodUnknown :: PodPhase & "Unknown" 2733 2762 2734 2763 // PodConditionType is a valid value for PodCondition.Type 2735 - PodConditionType: string // enumPodConditionType 2764 + PodConditionType :: string // enumPodConditionType 2736 2765 2737 - enumPodConditionType: 2766 + enumPodConditionType :: 2738 2767 ContainersReady | 2739 2768 PodInitialized | 2740 2769 PodReady | 2741 2770 PodScheduled 2742 2771 2743 2772 // ContainersReady indicates whether all containers in the pod are ready. 2744 - ContainersReady: PodConditionType & "ContainersReady" 2773 + ContainersReady :: PodConditionType & "ContainersReady" 2745 2774 2746 2775 // PodInitialized means that all init containers in the pod have started successfully. 2747 - PodInitialized: PodConditionType & "Initialized" 2776 + PodInitialized :: PodConditionType & "Initialized" 2748 2777 2749 2778 // PodReady means the pod is able to service requests and should be added to the 2750 2779 // load balancing pools of all matching services. 2751 - PodReady: PodConditionType & "Ready" 2780 + PodReady :: PodConditionType & "Ready" 2752 2781 2753 2782 // PodScheduled represents status of the scheduling process for this pod. 2754 - PodScheduled: PodConditionType & "PodScheduled" 2783 + PodScheduled :: PodConditionType & "PodScheduled" 2755 2784 2756 2785 // PodReasonUnschedulable reason in PodScheduled PodCondition means that the scheduler 2757 2786 // can't schedule the pod right now, for example due to insufficient resources in the cluster. 2758 - PodReasonUnschedulable: "Unschedulable" 2787 + PodReasonUnschedulable :: "Unschedulable" 2759 2788 2760 2789 // PodCondition contains details for the current condition of this pod. 2761 - PodCondition: { 2790 + PodCondition :: { 2762 2791 // Type is the type of the condition. 2763 2792 // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions 2764 2793 type: PodConditionType @go(Type) @protobuf(1,bytes,opt,casttype=PodConditionType) ··· 2789 2818 // Only one of the following restart policies may be specified. 2790 2819 // If none of the following policies is specified, the default one 2791 2820 // is RestartPolicyAlways. 2792 - RestartPolicy: string // enumRestartPolicy 2821 + RestartPolicy :: string // enumRestartPolicy 2793 2822 2794 - enumRestartPolicy: 2823 + enumRestartPolicy :: 2795 2824 RestartPolicyAlways | 2796 2825 RestartPolicyOnFailure | 2797 2826 RestartPolicyNever 2798 2827 2799 - RestartPolicyAlways: RestartPolicy & "Always" 2800 - RestartPolicyOnFailure: RestartPolicy & "OnFailure" 2801 - RestartPolicyNever: RestartPolicy & "Never" 2828 + RestartPolicyAlways :: RestartPolicy & "Always" 2829 + RestartPolicyOnFailure :: RestartPolicy & "OnFailure" 2830 + RestartPolicyNever :: RestartPolicy & "Never" 2802 2831 2803 2832 // DNSPolicy defines how a pod's DNS will be configured. 2804 - DNSPolicy: string // enumDNSPolicy 2833 + DNSPolicy :: string // enumDNSPolicy 2805 2834 2806 - enumDNSPolicy: 2835 + enumDNSPolicy :: 2807 2836 DNSClusterFirstWithHostNet | 2808 2837 DNSClusterFirst | 2809 2838 DNSDefault | ··· 2812 2841 // DNSClusterFirstWithHostNet indicates that the pod should use cluster DNS 2813 2842 // first, if it is available, then fall back on the default 2814 2843 // (as determined by kubelet) DNS settings. 2815 - DNSClusterFirstWithHostNet: DNSPolicy & "ClusterFirstWithHostNet" 2844 + DNSClusterFirstWithHostNet :: DNSPolicy & "ClusterFirstWithHostNet" 2816 2845 2817 2846 // DNSClusterFirst indicates that the pod should use cluster DNS 2818 2847 // first unless hostNetwork is true, if it is available, then 2819 2848 // fall back on the default (as determined by kubelet) DNS settings. 2820 - DNSClusterFirst: DNSPolicy & "ClusterFirst" 2849 + DNSClusterFirst :: DNSPolicy & "ClusterFirst" 2821 2850 2822 2851 // DNSDefault indicates that the pod should use the default (as 2823 2852 // determined by kubelet) DNS settings. 2824 - DNSDefault: DNSPolicy & "Default" 2853 + DNSDefault :: DNSPolicy & "Default" 2825 2854 2826 2855 // DNSNone indicates that the pod should use empty DNS settings. DNS 2827 2856 // parameters such as nameservers and search paths should be defined via 2828 2857 // DNSConfig. 2829 - DNSNone: DNSPolicy & "None" 2858 + DNSNone :: DNSPolicy & "None" 2830 2859 2831 2860 // DefaultTerminationGracePeriodSeconds indicates the default duration in 2832 2861 // seconds a pod needs to terminate gracefully. 2833 - DefaultTerminationGracePeriodSeconds: 30 2862 + DefaultTerminationGracePeriodSeconds :: 30 2834 2863 2835 2864 // A node selector represents the union of the results of one or more label queries 2836 2865 // over a set of nodes; that is, it represents the OR of the selectors represented 2837 2866 // by the node selector terms. 2838 - NodeSelector: { 2867 + NodeSelector :: { 2839 2868 //Required. A list of node selector terms. The terms are ORed. 2840 2869 nodeSelectorTerms: [...NodeSelectorTerm] @go(NodeSelectorTerms,[]NodeSelectorTerm) @protobuf(1,bytes,rep) 2841 2870 } ··· 2843 2872 // A null or empty node selector term matches no objects. The requirements of 2844 2873 // them are ANDed. 2845 2874 // The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. 2846 - NodeSelectorTerm: { 2875 + NodeSelectorTerm :: { 2847 2876 // A list of node selector requirements by node's labels. 2848 2877 // +optional 2849 2878 matchExpressions?: [...NodeSelectorRequirement] @go(MatchExpressions,[]NodeSelectorRequirement) @protobuf(1,bytes,rep) ··· 2855 2884 2856 2885 // A node selector requirement is a selector that contains values, a key, and an operator 2857 2886 // that relates the key and values. 2858 - NodeSelectorRequirement: { 2887 + NodeSelectorRequirement :: { 2859 2888 // The label key that the selector applies to. 2860 2889 key: string @go(Key) @protobuf(1,bytes,opt) 2861 2890 ··· 2874 2903 2875 2904 // A node selector operator is the set of operators that can be used in 2876 2905 // a node selector requirement. 2877 - NodeSelectorOperator: string // enumNodeSelectorOperator 2906 + NodeSelectorOperator :: string // enumNodeSelectorOperator 2878 2907 2879 - enumNodeSelectorOperator: 2908 + enumNodeSelectorOperator :: 2880 2909 NodeSelectorOpIn | 2881 2910 NodeSelectorOpNotIn | 2882 2911 NodeSelectorOpExists | ··· 2884 2913 NodeSelectorOpGt | 2885 2914 NodeSelectorOpLt 2886 2915 2887 - NodeSelectorOpIn: NodeSelectorOperator & "In" 2888 - NodeSelectorOpNotIn: NodeSelectorOperator & "NotIn" 2889 - NodeSelectorOpExists: NodeSelectorOperator & "Exists" 2890 - NodeSelectorOpDoesNotExist: NodeSelectorOperator & "DoesNotExist" 2891 - NodeSelectorOpGt: NodeSelectorOperator & "Gt" 2892 - NodeSelectorOpLt: NodeSelectorOperator & "Lt" 2916 + NodeSelectorOpIn :: NodeSelectorOperator & "In" 2917 + NodeSelectorOpNotIn :: NodeSelectorOperator & "NotIn" 2918 + NodeSelectorOpExists :: NodeSelectorOperator & "Exists" 2919 + NodeSelectorOpDoesNotExist :: NodeSelectorOperator & "DoesNotExist" 2920 + NodeSelectorOpGt :: NodeSelectorOperator & "Gt" 2921 + NodeSelectorOpLt :: NodeSelectorOperator & "Lt" 2893 2922 2894 2923 // A topology selector term represents the result of label queries. 2895 2924 // A null or empty topology selector term matches no objects. 2896 2925 // The requirements of them are ANDed. 2897 2926 // It provides a subset of functionality as NodeSelectorTerm. 2898 2927 // This is an alpha feature and may change in the future. 2899 - TopologySelectorTerm: { 2928 + TopologySelectorTerm :: { 2900 2929 // A list of topology selector requirements by labels. 2901 2930 // +optional 2902 2931 matchLabelExpressions?: [...TopologySelectorLabelRequirement] @go(MatchLabelExpressions,[]TopologySelectorLabelRequirement) @protobuf(1,bytes,rep) ··· 2904 2933 2905 2934 // A topology selector requirement is a selector that matches given label. 2906 2935 // This is an alpha feature and may change in the future. 2907 - TopologySelectorLabelRequirement: { 2936 + TopologySelectorLabelRequirement :: { 2908 2937 // The label key that the selector applies to. 2909 2938 key: string @go(Key) @protobuf(1,bytes,opt) 2910 2939 ··· 2914 2943 } 2915 2944 2916 2945 // Affinity is a group of affinity scheduling rules. 2917 - Affinity: { 2946 + Affinity :: { 2918 2947 // Describes node affinity scheduling rules for the pod. 2919 2948 // +optional 2920 2949 nodeAffinity?: null | NodeAffinity @go(NodeAffinity,*NodeAffinity) @protobuf(1,bytes,opt) ··· 2929 2958 } 2930 2959 2931 2960 // Pod affinity is a group of inter pod affinity scheduling rules. 2932 - PodAffinity: { 2961 + PodAffinity :: { 2933 2962 // If the affinity requirements specified by this field are not met at 2934 2963 // scheduling time, the pod will not be scheduled onto the node. 2935 2964 // If the affinity requirements specified by this field cease to be met ··· 2954 2983 } 2955 2984 2956 2985 // Pod anti affinity is a group of inter pod anti affinity scheduling rules. 2957 - PodAntiAffinity: { 2986 + PodAntiAffinity :: { 2958 2987 // If the anti-affinity requirements specified by this field are not met at 2959 2988 // scheduling time, the pod will not be scheduled onto the node. 2960 2989 // If the anti-affinity requirements specified by this field cease to be met ··· 2979 3008 } 2980 3009 2981 3010 // The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) 2982 - WeightedPodAffinityTerm: { 3011 + WeightedPodAffinityTerm :: { 2983 3012 // weight associated with matching the corresponding podAffinityTerm, 2984 3013 // in the range 1-100. 2985 3014 weight: int32 @go(Weight) @protobuf(1,varint,opt) ··· 2994 3023 // where co-located is defined as running on a node whose value of 2995 3024 // the label with key <topologyKey> matches that of any node on which 2996 3025 // a pod of the set of pods is running 2997 - PodAffinityTerm: { 3026 + PodAffinityTerm :: { 2998 3027 // A label query over a set of resources, in this case pods. 2999 3028 // +optional 3000 3029 labelSelector?: null | metav1.LabelSelector @go(LabelSelector,*metav1.LabelSelector) @protobuf(1,bytes,opt) ··· 3013 3042 } 3014 3043 3015 3044 // Node affinity is a group of node affinity scheduling rules. 3016 - NodeAffinity: { 3045 + NodeAffinity :: { 3017 3046 // If the affinity requirements specified by this field are not met at 3018 3047 // scheduling time, the pod will not be scheduled onto the node. 3019 3048 // If the affinity requirements specified by this field cease to be met ··· 3037 3066 3038 3067 // An empty preferred scheduling term matches all objects with implicit weight 0 3039 3068 // (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). 3040 - PreferredSchedulingTerm: { 3069 + PreferredSchedulingTerm :: { 3041 3070 // Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. 3042 3071 weight: int32 @go(Weight) @protobuf(1,varint,opt) 3043 3072 ··· 3047 3076 3048 3077 // The node this Taint is attached to has the "effect" on 3049 3078 // any pod that does not tolerate the Taint. 3050 - Taint: { 3079 + Taint :: { 3051 3080 // Required. The taint key to be applied to a node. 3052 3081 key: string @go(Key) @protobuf(1,bytes,opt) 3053 3082 ··· 3066 3095 timeAdded?: null | metav1.Time @go(TimeAdded,*metav1.Time) @protobuf(4,bytes,opt) 3067 3096 } 3068 3097 3069 - TaintEffect: string // enumTaintEffect 3098 + TaintEffect :: string // enumTaintEffect 3070 3099 3071 - enumTaintEffect: 3100 + enumTaintEffect :: 3072 3101 TaintEffectNoSchedule | 3073 3102 TaintEffectPreferNoSchedule | 3074 3103 TaintEffectNoExecute ··· 3077 3106 // but allow all pods submitted to Kubelet without going through the scheduler 3078 3107 // to start, and allow all already-running pods to continue running. 3079 3108 // Enforced by the scheduler. 3080 - TaintEffectNoSchedule: TaintEffect & "NoSchedule" 3109 + TaintEffectNoSchedule :: TaintEffect & "NoSchedule" 3081 3110 3082 3111 // Like TaintEffectNoSchedule, but the scheduler tries not to schedule 3083 3112 // new pods onto the node, rather than prohibiting new pods from scheduling 3084 3113 // onto the node entirely. Enforced by the scheduler. 3085 - TaintEffectPreferNoSchedule: TaintEffect & "PreferNoSchedule" 3114 + TaintEffectPreferNoSchedule :: TaintEffect & "PreferNoSchedule" 3086 3115 3087 3116 // Evict any already-running pods that do not tolerate the taint. 3088 3117 // Currently enforced by NodeController. 3089 - TaintEffectNoExecute: TaintEffect & "NoExecute" 3118 + TaintEffectNoExecute :: TaintEffect & "NoExecute" 3090 3119 3091 3120 // The pod this Toleration is attached to tolerates any taint that matches 3092 3121 // the triple <key,value,effect> using the matching operator <operator>. 3093 - Toleration: { 3122 + Toleration :: { 3094 3123 // Key is the taint key that the toleration applies to. Empty means match all taint keys. 3095 3124 // If the key is empty, operator must be Exists; this combination means to match all values and all keys. 3096 3125 // +optional ··· 3122 3151 } 3123 3152 3124 3153 // A toleration operator is the set of operators that can be used in a toleration. 3125 - TolerationOperator: string // enumTolerationOperator 3154 + TolerationOperator :: string // enumTolerationOperator 3126 3155 3127 - enumTolerationOperator: 3156 + enumTolerationOperator :: 3128 3157 TolerationOpExists | 3129 3158 TolerationOpEqual 3130 3159 3131 - TolerationOpExists: TolerationOperator & "Exists" 3132 - TolerationOpEqual: TolerationOperator & "Equal" 3160 + TolerationOpExists :: TolerationOperator & "Exists" 3161 + TolerationOpEqual :: TolerationOperator & "Equal" 3133 3162 3134 3163 // PodReadinessGate contains the reference to a pod condition 3135 - PodReadinessGate: { 3164 + PodReadinessGate :: { 3136 3165 // ConditionType refers to a condition in the pod's condition list with matching type. 3137 3166 conditionType: PodConditionType @go(ConditionType) @protobuf(1,bytes,opt,casttype=PodConditionType) 3138 3167 } 3139 3168 3140 3169 // PodSpec is a description of a pod. 3141 - PodSpec: { 3170 + PodSpec :: { 3142 3171 // List of volumes that can be mounted by containers belonging to the pod. 3143 3172 // More info: https://kubernetes.io/docs/concepts/storage/volumes 3144 3173 // +optional ··· 3390 3419 topologySpreadConstraints?: [...TopologySpreadConstraint] @go(TopologySpreadConstraints,[]TopologySpreadConstraint) @protobuf(33,bytes,opt) 3391 3420 } 3392 3421 3393 - UnsatisfiableConstraintAction: string // enumUnsatisfiableConstraintAction 3422 + UnsatisfiableConstraintAction :: string // enumUnsatisfiableConstraintAction 3394 3423 3395 - enumUnsatisfiableConstraintAction: 3424 + enumUnsatisfiableConstraintAction :: 3396 3425 DoNotSchedule | 3397 3426 ScheduleAnyway 3398 3427 3399 3428 // DoNotSchedule instructs the scheduler not to schedule the pod 3400 3429 // when constraints are not satisfied. 3401 - DoNotSchedule: UnsatisfiableConstraintAction & "DoNotSchedule" 3430 + DoNotSchedule :: UnsatisfiableConstraintAction & "DoNotSchedule" 3402 3431 3403 3432 // ScheduleAnyway instructs the scheduler to schedule the pod 3404 3433 // even if constraints are not satisfied. 3405 - ScheduleAnyway: UnsatisfiableConstraintAction & "ScheduleAnyway" 3434 + ScheduleAnyway :: UnsatisfiableConstraintAction & "ScheduleAnyway" 3406 3435 3407 3436 // TopologySpreadConstraint specifies how to spread matching pods among the given topology. 3408 - TopologySpreadConstraint: { 3437 + TopologySpreadConstraint :: { 3409 3438 // MaxSkew describes the degree to which pods may be unevenly distributed. 3410 3439 // It's the maximum permitted difference between the number of matching pods in 3411 3440 // any two topology domains of a given topology type. ··· 3458 3487 } 3459 3488 3460 3489 // The default value for enableServiceLinks attribute. 3461 - DefaultEnableServiceLinks: true 3490 + DefaultEnableServiceLinks :: true 3462 3491 3463 3492 // HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the 3464 3493 // pod's hosts file. 3465 - HostAlias: { 3494 + HostAlias :: { 3466 3495 // IP address of the host file entry. 3467 3496 ip?: string @go(IP) @protobuf(1,bytes,opt) 3468 3497 ··· 3473 3502 // PodSecurityContext holds pod-level security attributes and common container settings. 3474 3503 // Some fields are also present in container.securityContext. Field values of 3475 3504 // container.securityContext take precedence over field values of PodSecurityContext. 3476 - PodSecurityContext: { 3505 + PodSecurityContext :: { 3477 3506 // The SELinux context to be applied to all containers. 3478 3507 // If unspecified, the container runtime will allocate a random SELinux context for each 3479 3508 // container. May also be set in SecurityContext. If set in ··· 3538 3567 } 3539 3568 3540 3569 // PodQOSClass defines the supported qos classes of Pods. 3541 - PodQOSClass: string // enumPodQOSClass 3570 + PodQOSClass :: string // enumPodQOSClass 3542 3571 3543 - enumPodQOSClass: 3572 + enumPodQOSClass :: 3544 3573 PodQOSGuaranteed | 3545 3574 PodQOSBurstable | 3546 3575 PodQOSBestEffort 3547 3576 3548 3577 // PodQOSGuaranteed is the Guaranteed qos class. 3549 - PodQOSGuaranteed: PodQOSClass & "Guaranteed" 3578 + PodQOSGuaranteed :: PodQOSClass & "Guaranteed" 3550 3579 3551 3580 // PodQOSBurstable is the Burstable qos class. 3552 - PodQOSBurstable: PodQOSClass & "Burstable" 3581 + PodQOSBurstable :: PodQOSClass & "Burstable" 3553 3582 3554 3583 // PodQOSBestEffort is the BestEffort qos class. 3555 - PodQOSBestEffort: PodQOSClass & "BestEffort" 3584 + PodQOSBestEffort :: PodQOSClass & "BestEffort" 3556 3585 3557 3586 // PodDNSConfig defines the DNS parameters of a pod in addition to 3558 3587 // those generated from DNSPolicy. 3559 - PodDNSConfig: { 3588 + PodDNSConfig :: { 3560 3589 // A list of DNS name server IP addresses. 3561 3590 // This will be appended to the base nameservers generated from DNSPolicy. 3562 3591 // Duplicated nameservers will be removed. ··· 3578 3607 } 3579 3608 3580 3609 // PodDNSConfigOption defines DNS resolver options of a pod. 3581 - PodDNSConfigOption: { 3610 + PodDNSConfigOption :: { 3582 3611 // Required. 3583 3612 name?: string @go(Name) @protobuf(1,bytes,opt) 3584 3613 ··· 3589 3618 // IP address information for entries in the (plural) PodIPs field. 3590 3619 // Each entry includes: 3591 3620 // IP: An IP address allocated to the pod. Routable at least within the cluster. 3592 - PodIP: { 3621 + PodIP :: { 3593 3622 // ip is an IP address (IPv4 or IPv6) assigned to the pod 3594 3623 ip?: string @go(IP) @protobuf(1,bytes,opt) 3595 3624 } ··· 3598 3627 // EphemeralContainer. This separate type allows easy conversion from EphemeralContainer 3599 3628 // to Container and allows separate documentation for the fields of EphemeralContainer. 3600 3629 // When a new field is added to Container it must be added here as well. 3601 - EphemeralContainerCommon: { 3630 + EphemeralContainerCommon :: { 3602 3631 // Name of the ephemeral container specified as a DNS_LABEL. 3603 3632 // This name must be unique among all containers, init containers and ephemeral containers. 3604 3633 name: string @go(Name) @protobuf(1,bytes,opt) ··· 3753 3782 // via the pod's ephemeralcontainers subresource, and they will appear in the pod spec 3754 3783 // once added. 3755 3784 // This is an alpha feature enabled by the EphemeralContainers feature flag. 3756 - EphemeralContainer: EphemeralContainerCommon & { 3785 + EphemeralContainer :: { 3786 + (EphemeralContainerCommon) 3787 + 3757 3788 // If set, the name of the container from PodSpec that this ephemeral container targets. 3758 3789 // The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container. 3759 3790 // If not set then the ephemeral container is run in whatever namespaces are shared ··· 3765 3796 // PodStatus represents information about the status of a pod. Status may trail the actual 3766 3797 // state of a system, especially if the node that hosts the pod cannot contact the control 3767 3798 // plane. 3768 - PodStatus: { 3799 + PodStatus :: { 3769 3800 // The phase of a Pod is a simple, high-level summary of where the Pod is in its lifecycle. 3770 3801 // The conditions array, the reason and message fields, and the individual container status 3771 3802 // arrays contain more detail about the pod's status. ··· 3860 3891 } 3861 3892 3862 3893 // PodStatusResult is a wrapper for PodStatus returned by kubelet that can be encode/decoded 3863 - PodStatusResult: metav1.TypeMeta & { 3894 + PodStatusResult :: { 3895 + (metav1.TypeMeta) 3896 + 3864 3897 // Standard object's metadata. 3865 3898 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 3866 3899 // +optional ··· 3877 3910 3878 3911 // Pod is a collection of containers that can run on a host. This resource is created 3879 3912 // by clients and scheduled onto hosts. 3880 - Pod: metav1.TypeMeta & { 3913 + Pod :: { 3914 + (metav1.TypeMeta) 3915 + 3881 3916 // Standard object's metadata. 3882 3917 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 3883 3918 // +optional ··· 3898 3933 } 3899 3934 3900 3935 // PodList is a list of Pods. 3901 - PodList: metav1.TypeMeta & { 3936 + PodList :: { 3937 + (metav1.TypeMeta) 3938 + 3902 3939 // Standard list metadata. 3903 3940 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 3904 3941 // +optional ··· 3910 3947 } 3911 3948 3912 3949 // PodTemplateSpec describes the data a pod should have when created from a template 3913 - PodTemplateSpec: { 3950 + PodTemplateSpec :: { 3914 3951 // Standard object's metadata. 3915 3952 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 3916 3953 // +optional ··· 3923 3960 } 3924 3961 3925 3962 // PodTemplate describes a template for creating copies of a predefined pod. 3926 - PodTemplate: metav1.TypeMeta & { 3963 + PodTemplate :: { 3964 + (metav1.TypeMeta) 3965 + 3927 3966 // Standard object's metadata. 3928 3967 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 3929 3968 // +optional ··· 3936 3975 } 3937 3976 3938 3977 // PodTemplateList is a list of PodTemplates. 3939 - PodTemplateList: metav1.TypeMeta & { 3978 + PodTemplateList :: { 3979 + (metav1.TypeMeta) 3980 + 3940 3981 // Standard list metadata. 3941 3982 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 3942 3983 // +optional ··· 3947 3988 } 3948 3989 3949 3990 // ReplicationControllerSpec is the specification of a replication controller. 3950 - ReplicationControllerSpec: { 3991 + ReplicationControllerSpec :: { 3951 3992 // Replicas is the number of desired replicas. 3952 3993 // This is a pointer to distinguish between explicit zero and unspecified. 3953 3994 // Defaults to 1. ··· 3978 4019 3979 4020 // ReplicationControllerStatus represents the current status of a replication 3980 4021 // controller. 3981 - ReplicationControllerStatus: { 4022 + ReplicationControllerStatus :: { 3982 4023 // Replicas is the most recently oberved number of replicas. 3983 4024 // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#what-is-a-replicationcontroller 3984 4025 replicas: int32 @go(Replicas) @protobuf(1,varint,opt) ··· 4006 4047 conditions?: [...ReplicationControllerCondition] @go(Conditions,[]ReplicationControllerCondition) @protobuf(6,bytes,rep) 4007 4048 } 4008 4049 4009 - ReplicationControllerConditionType: string // enumReplicationControllerConditionType 4050 + ReplicationControllerConditionType :: string // enumReplicationControllerConditionType 4010 4051 4011 - enumReplicationControllerConditionType: 4052 + enumReplicationControllerConditionType :: 4012 4053 ReplicationControllerReplicaFailure 4013 4054 4014 4055 // ReplicationControllerReplicaFailure is added in a replication controller when one of its pods 4015 4056 // fails to be created due to insufficient quota, limit ranges, pod security policy, node selectors, 4016 4057 // etc. or deleted due to kubelet being down or finalizers are failing. 4017 - ReplicationControllerReplicaFailure: ReplicationControllerConditionType & "ReplicaFailure" 4058 + ReplicationControllerReplicaFailure :: ReplicationControllerConditionType & "ReplicaFailure" 4018 4059 4019 4060 // ReplicationControllerCondition describes the state of a replication controller at a certain point. 4020 - ReplicationControllerCondition: { 4061 + ReplicationControllerCondition :: { 4021 4062 // Type of replication controller condition. 4022 4063 type: ReplicationControllerConditionType @go(Type) @protobuf(1,bytes,opt,casttype=ReplicationControllerConditionType) 4023 4064 ··· 4038 4079 } 4039 4080 4040 4081 // ReplicationController represents the configuration of a replication controller. 4041 - ReplicationController: metav1.TypeMeta & { 4082 + ReplicationController :: { 4083 + (metav1.TypeMeta) 4084 + 4042 4085 // If the Labels of a ReplicationController are empty, they are defaulted to 4043 4086 // be the same as the Pod(s) that the replication controller manages. 4044 4087 // Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata ··· 4060 4103 } 4061 4104 4062 4105 // ReplicationControllerList is a collection of replication controllers. 4063 - ReplicationControllerList: metav1.TypeMeta & { 4106 + ReplicationControllerList :: { 4107 + (metav1.TypeMeta) 4108 + 4064 4109 // Standard list metadata. 4065 4110 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 4066 4111 // +optional ··· 4072 4117 } 4073 4118 4074 4119 // Session Affinity Type string 4075 - ServiceAffinity: string // enumServiceAffinity 4120 + ServiceAffinity :: string // enumServiceAffinity 4076 4121 4077 - enumServiceAffinity: 4122 + enumServiceAffinity :: 4078 4123 ServiceAffinityClientIP | 4079 4124 ServiceAffinityNone 4080 4125 4081 4126 // ServiceAffinityClientIP is the Client IP based. 4082 - ServiceAffinityClientIP: ServiceAffinity & "ClientIP" 4127 + ServiceAffinityClientIP :: ServiceAffinity & "ClientIP" 4083 4128 4084 4129 // ServiceAffinityNone - no session affinity. 4085 - ServiceAffinityNone: ServiceAffinity & "None" 4130 + ServiceAffinityNone :: ServiceAffinity & "None" 4086 4131 4087 - DefaultClientIPServiceAffinitySeconds: int32 & 10800 4132 + DefaultClientIPServiceAffinitySeconds :: int32 & 10800 4088 4133 4089 4134 // SessionAffinityConfig represents the configurations of session affinity. 4090 - SessionAffinityConfig: { 4135 + SessionAffinityConfig :: { 4091 4136 // clientIP contains the configurations of Client IP based session affinity. 4092 4137 // +optional 4093 4138 clientIP?: null | ClientIPConfig @go(ClientIP,*ClientIPConfig) @protobuf(1,bytes,opt) 4094 4139 } 4095 4140 4096 4141 // ClientIPConfig represents the configurations of Client IP based session affinity. 4097 - ClientIPConfig: { 4142 + ClientIPConfig :: { 4098 4143 // timeoutSeconds specifies the seconds of ClientIP type session sticky time. 4099 4144 // The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP". 4100 4145 // Default value is 10800(for 3 hours). ··· 4103 4148 } 4104 4149 4105 4150 // Service Type string describes ingress methods for a service 4106 - ServiceType: string // enumServiceType 4151 + ServiceType :: string // enumServiceType 4107 4152 4108 - enumServiceType: 4153 + enumServiceType :: 4109 4154 ServiceTypeClusterIP | 4110 4155 ServiceTypeNodePort | 4111 4156 ServiceTypeLoadBalancer | ··· 4113 4158 4114 4159 // ServiceTypeClusterIP means a service will only be accessible inside the 4115 4160 // cluster, via the cluster IP. 4116 - ServiceTypeClusterIP: ServiceType & "ClusterIP" 4161 + ServiceTypeClusterIP :: ServiceType & "ClusterIP" 4117 4162 4118 4163 // ServiceTypeNodePort means a service will be exposed on one port of 4119 4164 // every node, in addition to 'ClusterIP' type. 4120 - ServiceTypeNodePort: ServiceType & "NodePort" 4165 + ServiceTypeNodePort :: ServiceType & "NodePort" 4121 4166 4122 4167 // ServiceTypeLoadBalancer means a service will be exposed via an 4123 4168 // external load balancer (if the cloud provider supports it), in addition 4124 4169 // to 'NodePort' type. 4125 - ServiceTypeLoadBalancer: ServiceType & "LoadBalancer" 4170 + ServiceTypeLoadBalancer :: ServiceType & "LoadBalancer" 4126 4171 4127 4172 // ServiceTypeExternalName means a service consists of only a reference to 4128 4173 // an external name that kubedns or equivalent will return as a CNAME 4129 4174 // record, with no exposing or proxying of any pods involved. 4130 - ServiceTypeExternalName: ServiceType & "ExternalName" 4175 + ServiceTypeExternalName :: ServiceType & "ExternalName" 4131 4176 4132 4177 // Service External Traffic Policy Type string 4133 - ServiceExternalTrafficPolicyType: string // enumServiceExternalTrafficPolicyType 4178 + ServiceExternalTrafficPolicyType :: string // enumServiceExternalTrafficPolicyType 4134 4179 4135 - enumServiceExternalTrafficPolicyType: 4180 + enumServiceExternalTrafficPolicyType :: 4136 4181 ServiceExternalTrafficPolicyTypeLocal | 4137 4182 ServiceExternalTrafficPolicyTypeCluster 4138 4183 4139 4184 // ServiceExternalTrafficPolicyTypeLocal specifies node-local endpoints behavior. 4140 - ServiceExternalTrafficPolicyTypeLocal: ServiceExternalTrafficPolicyType & "Local" 4185 + ServiceExternalTrafficPolicyTypeLocal :: ServiceExternalTrafficPolicyType & "Local" 4141 4186 4142 4187 // ServiceExternalTrafficPolicyTypeCluster specifies node-global (legacy) behavior. 4143 - ServiceExternalTrafficPolicyTypeCluster: ServiceExternalTrafficPolicyType & "Cluster" 4188 + ServiceExternalTrafficPolicyTypeCluster :: ServiceExternalTrafficPolicyType & "Cluster" 4144 4189 4145 4190 // ServiceStatus represents the current status of a service. 4146 - ServiceStatus: { 4191 + ServiceStatus :: { 4147 4192 // LoadBalancer contains the current status of the load-balancer, 4148 4193 // if one is present. 4149 4194 // +optional ··· 4151 4196 } 4152 4197 4153 4198 // LoadBalancerStatus represents the status of a load-balancer. 4154 - LoadBalancerStatus: { 4199 + LoadBalancerStatus :: { 4155 4200 // Ingress is a list containing ingress points for the load-balancer. 4156 4201 // Traffic intended for the service should be sent to these ingress points. 4157 4202 // +optional ··· 4160 4205 4161 4206 // LoadBalancerIngress represents the status of a load-balancer ingress point: 4162 4207 // traffic intended for the service should be sent to an ingress point. 4163 - LoadBalancerIngress: { 4208 + LoadBalancerIngress :: { 4164 4209 // IP is set for load-balancer ingress points that are IP based 4165 4210 // (typically GCE or OpenStack load-balancers) 4166 4211 // +optional ··· 4174 4219 4175 4220 // IPFamily represents the IP Family (IPv4 or IPv6). This type is used 4176 4221 // to express the family of an IP expressed by a type (i.e. service.Spec.IPFamily) 4177 - IPFamily: string // enumIPFamily 4222 + IPFamily :: string // enumIPFamily 4178 4223 4179 - enumIPFamily: 4224 + enumIPFamily :: 4180 4225 IPv4Protocol | 4181 4226 IPv6Protocol 4182 4227 4183 4228 // IPv4Protocol indicates that this IP is IPv4 protocol 4184 - IPv4Protocol: IPFamily & "IPv4" 4229 + IPv4Protocol :: IPFamily & "IPv4" 4185 4230 4186 4231 // IPv6Protocol indicates that this IP is IPv6 protocol 4187 - IPv6Protocol: IPFamily & "IPv6" 4232 + IPv6Protocol :: IPFamily & "IPv6" 4188 4233 4189 4234 // ServiceSpec describes the attributes that a user creates on a service. 4190 - ServiceSpec: { 4235 + ServiceSpec :: { 4191 4236 // The list of ports that are exposed by this service. 4192 4237 // More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies 4193 4238 // +patchMergeKey=port ··· 4315 4360 } 4316 4361 4317 4362 // ServicePort contains information on service's port. 4318 - ServicePort: { 4363 + ServicePort :: { 4319 4364 // The name of this port within the service. This must be a DNS_LABEL. 4320 4365 // All ports within a ServiceSpec must have unique names. When considering 4321 4366 // the endpoints for a Service, this must match the 'name' field in the ··· 4355 4400 // Service is a named abstraction of software service (for example, mysql) consisting of local port 4356 4401 // (for example 3306) that the proxy listens on, and the selector that determines which pods 4357 4402 // will answer requests sent through the proxy. 4358 - Service: metav1.TypeMeta & { 4403 + Service :: { 4404 + (metav1.TypeMeta) 4405 + 4359 4406 // Standard object's metadata. 4360 4407 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 4361 4408 // +optional ··· 4376 4423 4377 4424 // ClusterIPNone - do not assign a cluster IP 4378 4425 // no proxying required and no environment variables should be created for pods 4379 - ClusterIPNone: "None" 4426 + ClusterIPNone :: "None" 4380 4427 4381 4428 // ServiceList holds a list of services. 4382 - ServiceList: metav1.TypeMeta & { 4429 + ServiceList :: { 4430 + (metav1.TypeMeta) 4431 + 4383 4432 // Standard list metadata. 4384 4433 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 4385 4434 // +optional ··· 4393 4442 // * a name, understood by users, and perhaps by peripheral systems, for an identity 4394 4443 // * a principal that can be authenticated and authorized 4395 4444 // * a set of secrets 4396 - ServiceAccount: metav1.TypeMeta & { 4445 + ServiceAccount :: { 4446 + (metav1.TypeMeta) 4447 + 4397 4448 // Standard object's metadata. 4398 4449 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 4399 4450 // +optional ··· 4420 4471 } 4421 4472 4422 4473 // ServiceAccountList is a list of ServiceAccount objects 4423 - ServiceAccountList: metav1.TypeMeta & { 4474 + ServiceAccountList :: { 4475 + (metav1.TypeMeta) 4476 + 4424 4477 // Standard list metadata. 4425 4478 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 4426 4479 // +optional ··· 4443 4496 // Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}] 4444 4497 // }, 4445 4498 // ] 4446 - Endpoints: metav1.TypeMeta & { 4499 + Endpoints :: { 4500 + (metav1.TypeMeta) 4501 + 4447 4502 // Standard object's metadata. 4448 4503 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 4449 4504 // +optional ··· 4470 4525 // The resulting set of endpoints can be viewed as: 4471 4526 // a: [ 10.10.1.1:8675, 10.10.2.2:8675 ], 4472 4527 // b: [ 10.10.1.1:309, 10.10.2.2:309 ] 4473 - EndpointSubset: { 4528 + EndpointSubset :: { 4474 4529 // IP addresses which offer the related ports that are marked as ready. These endpoints 4475 4530 // should be considered safe for load balancers and clients to utilize. 4476 4531 // +optional ··· 4488 4543 } 4489 4544 4490 4545 // EndpointAddress is a tuple that describes single IP address. 4491 - EndpointAddress: { 4546 + EndpointAddress :: { 4492 4547 // The IP of this endpoint. 4493 4548 // May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), 4494 4549 // or link-local multicast ((224.0.0.0/24). ··· 4511 4566 } 4512 4567 4513 4568 // EndpointPort is a tuple that describes a single port. 4514 - EndpointPort: { 4569 + EndpointPort :: { 4515 4570 // The name of this port. This must match the 'name' field in the 4516 4571 // corresponding ServicePort. 4517 4572 // Must be a DNS_LABEL. ··· 4530 4585 } 4531 4586 4532 4587 // EndpointsList is a list of endpoints. 4533 - EndpointsList: metav1.TypeMeta & { 4588 + EndpointsList :: { 4589 + (metav1.TypeMeta) 4590 + 4534 4591 // Standard list metadata. 4535 4592 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 4536 4593 // +optional ··· 4541 4598 } 4542 4599 4543 4600 // NodeSpec describes the attributes that a node is created with. 4544 - NodeSpec: { 4601 + NodeSpec :: { 4545 4602 // PodCIDR represents the pod IP range assigned to the node. 4546 4603 // +optional 4547 4604 podCIDR?: string @go(PodCIDR) @protobuf(1,bytes,opt) ··· 4578 4635 } 4579 4636 4580 4637 // NodeConfigSource specifies a source of node configuration. Exactly one subfield (excluding metadata) must be non-nil. 4581 - NodeConfigSource: { 4638 + NodeConfigSource :: { 4582 4639 // ConfigMap is a reference to a Node's ConfigMap 4583 4640 configMap?: null | ConfigMapNodeConfigSource @go(ConfigMap,*ConfigMapNodeConfigSource) @protobuf(2,bytes,opt) 4584 4641 } 4585 4642 4586 4643 // ConfigMapNodeConfigSource contains the information to reference a ConfigMap as a config source for the Node. 4587 - ConfigMapNodeConfigSource: { 4644 + ConfigMapNodeConfigSource :: { 4588 4645 // Namespace is the metadata.namespace of the referenced ConfigMap. 4589 4646 // This field is required in all cases. 4590 4647 namespace: string @go(Namespace) @protobuf(1,bytes,opt) ··· 4609 4666 } 4610 4667 4611 4668 // DaemonEndpoint contains information about a single Daemon endpoint. 4612 - DaemonEndpoint: { 4669 + DaemonEndpoint :: { 4613 4670 // Port number of the given endpoint. 4614 4671 Port: int32 @protobuf(1,varint,opt) 4615 4672 } 4616 4673 4617 4674 // NodeDaemonEndpoints lists ports opened by daemons running on the Node. 4618 - NodeDaemonEndpoints: { 4675 + NodeDaemonEndpoints :: { 4619 4676 // Endpoint on which Kubelet is listening. 4620 4677 // +optional 4621 4678 kubeletEndpoint?: DaemonEndpoint @go(KubeletEndpoint) @protobuf(1,bytes,opt) 4622 4679 } 4623 4680 4624 4681 // NodeSystemInfo is a set of ids/uuids to uniquely identify the node. 4625 - NodeSystemInfo: { 4682 + NodeSystemInfo :: { 4626 4683 // MachineID reported by the node. For unique machine identification 4627 4684 // in the cluster this field is preferred. Learn more from man(5) 4628 4685 // machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html ··· 4659 4716 } 4660 4717 4661 4718 // NodeConfigStatus describes the status of the config assigned by Node.Spec.ConfigSource. 4662 - NodeConfigStatus: { 4719 + NodeConfigStatus :: { 4663 4720 // Assigned reports the checkpointed config the node will try to use. 4664 4721 // When Node.Spec.ConfigSource is updated, the node checkpoints the associated 4665 4722 // config payload to local disk, along with a record indicating intended ··· 4709 4766 } 4710 4767 4711 4768 // NodeStatus is information about the current status of a node. 4712 - NodeStatus: { 4769 + NodeStatus :: { 4713 4770 // Capacity represents the total resources of a node. 4714 4771 // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity 4715 4772 // +optional ··· 4770 4827 config?: null | NodeConfigStatus @go(Config,*NodeConfigStatus) @protobuf(11,bytes,opt) 4771 4828 } 4772 4829 4773 - UniqueVolumeName: string 4830 + UniqueVolumeName :: string 4774 4831 4775 4832 // AttachedVolume describes a volume attached to a node 4776 - AttachedVolume: { 4833 + AttachedVolume :: { 4777 4834 // Name of the attached volume 4778 4835 name: UniqueVolumeName @go(Name) @protobuf(1,bytes,rep) 4779 4836 ··· 4784 4841 // AvoidPods describes pods that should avoid this node. This is the value for a 4785 4842 // Node annotation with key scheduler.alpha.kubernetes.io/preferAvoidPods and 4786 4843 // will eventually become a field of NodeStatus. 4787 - AvoidPods: { 4844 + AvoidPods :: { 4788 4845 // Bounded-sized list of signatures of pods that should avoid this node, sorted 4789 4846 // in timestamp order from oldest to newest. Size of the slice is unspecified. 4790 4847 // +optional ··· 4792 4849 } 4793 4850 4794 4851 // Describes a class of pods that should avoid this node. 4795 - PreferAvoidPodsEntry: { 4852 + PreferAvoidPodsEntry :: { 4796 4853 // The class of pods. 4797 4854 podSignature: PodSignature @go(PodSignature) @protobuf(1,bytes,opt) 4798 4855 ··· 4811 4868 4812 4869 // Describes the class of pods that should avoid this node. 4813 4870 // Exactly one field should be set. 4814 - PodSignature: { 4871 + PodSignature :: { 4815 4872 // Reference to controller whose pods should avoid this node. 4816 4873 // +optional 4817 4874 podController?: null | metav1.OwnerReference @go(PodController,*metav1.OwnerReference) @protobuf(1,bytes,opt) 4818 4875 } 4819 4876 4820 4877 // Describe a container image 4821 - ContainerImage: { 4878 + ContainerImage :: { 4822 4879 // Names by which this image is known. 4823 4880 // e.g. ["k8s.gcr.io/hyperkube:v1.0.7", "dockerhub.io/google_containers/hyperkube:v1.0.7"] 4824 4881 names: [...string] @go(Names,[]string) @protobuf(1,bytes,rep) ··· 4828 4885 sizeBytes?: int64 @go(SizeBytes) @protobuf(2,varint,opt) 4829 4886 } 4830 4887 4831 - NodePhase: string // enumNodePhase 4888 + NodePhase :: string // enumNodePhase 4832 4889 4833 - enumNodePhase: 4890 + enumNodePhase :: 4834 4891 NodePending | 4835 4892 NodeRunning | 4836 4893 NodeTerminated 4837 4894 4838 4895 // NodePending means the node has been created/added by the system, but not configured. 4839 - NodePending: NodePhase & "Pending" 4896 + NodePending :: NodePhase & "Pending" 4840 4897 4841 4898 // NodeRunning means the node has been configured and has Kubernetes components running. 4842 - NodeRunning: NodePhase & "Running" 4899 + NodeRunning :: NodePhase & "Running" 4843 4900 4844 4901 // NodeTerminated means the node has been removed from the cluster. 4845 - NodeTerminated: NodePhase & "Terminated" 4902 + NodeTerminated :: NodePhase & "Terminated" 4846 4903 4847 - NodeConditionType: string // enumNodeConditionType 4904 + NodeConditionType :: string // enumNodeConditionType 4848 4905 4849 - enumNodeConditionType: 4906 + enumNodeConditionType :: 4850 4907 NodeReady | 4851 4908 NodeMemoryPressure | 4852 4909 NodeDiskPressure | ··· 4854 4911 NodeNetworkUnavailable 4855 4912 4856 4913 // NodeReady means kubelet is healthy and ready to accept pods. 4857 - NodeReady: NodeConditionType & "Ready" 4914 + NodeReady :: NodeConditionType & "Ready" 4858 4915 4859 4916 // NodeMemoryPressure means the kubelet is under pressure due to insufficient available memory. 4860 - NodeMemoryPressure: NodeConditionType & "MemoryPressure" 4917 + NodeMemoryPressure :: NodeConditionType & "MemoryPressure" 4861 4918 4862 4919 // NodeDiskPressure means the kubelet is under pressure due to insufficient available disk. 4863 - NodeDiskPressure: NodeConditionType & "DiskPressure" 4920 + NodeDiskPressure :: NodeConditionType & "DiskPressure" 4864 4921 4865 4922 // NodePIDPressure means the kubelet is under pressure due to insufficient available PID. 4866 - NodePIDPressure: NodeConditionType & "PIDPressure" 4923 + NodePIDPressure :: NodeConditionType & "PIDPressure" 4867 4924 4868 4925 // NodeNetworkUnavailable means that network for the node is not correctly configured. 4869 - NodeNetworkUnavailable: NodeConditionType & "NetworkUnavailable" 4926 + NodeNetworkUnavailable :: NodeConditionType & "NetworkUnavailable" 4870 4927 4871 4928 // NodeCondition contains condition information for a node. 4872 - NodeCondition: { 4929 + NodeCondition :: { 4873 4930 // Type of node condition. 4874 4931 type: NodeConditionType @go(Type) @protobuf(1,bytes,opt,casttype=NodeConditionType) 4875 4932 ··· 4893 4950 message?: string @go(Message) @protobuf(6,bytes,opt) 4894 4951 } 4895 4952 4896 - NodeAddressType: string // enumNodeAddressType 4953 + NodeAddressType :: string // enumNodeAddressType 4897 4954 4898 - enumNodeAddressType: 4955 + enumNodeAddressType :: 4899 4956 NodeHostName | 4900 4957 NodeExternalIP | 4901 4958 NodeInternalIP | 4902 4959 NodeExternalDNS | 4903 4960 NodeInternalDNS 4904 4961 4905 - NodeHostName: NodeAddressType & "Hostname" 4906 - NodeExternalIP: NodeAddressType & "ExternalIP" 4907 - NodeInternalIP: NodeAddressType & "InternalIP" 4908 - NodeExternalDNS: NodeAddressType & "ExternalDNS" 4909 - NodeInternalDNS: NodeAddressType & "InternalDNS" 4962 + NodeHostName :: NodeAddressType & "Hostname" 4963 + NodeExternalIP :: NodeAddressType & "ExternalIP" 4964 + NodeInternalIP :: NodeAddressType & "InternalIP" 4965 + NodeExternalDNS :: NodeAddressType & "ExternalDNS" 4966 + NodeInternalDNS :: NodeAddressType & "InternalDNS" 4910 4967 4911 4968 // NodeAddress contains information for the node's address. 4912 - NodeAddress: { 4969 + NodeAddress :: { 4913 4970 // Node address type, one of Hostname, ExternalIP or InternalIP. 4914 4971 type: NodeAddressType @go(Type) @protobuf(1,bytes,opt,casttype=NodeAddressType) 4915 4972 ··· 4918 4975 } 4919 4976 4920 4977 // ResourceName is the name identifying various resources in a ResourceList. 4921 - ResourceName: string // enumResourceName 4978 + ResourceName :: string // enumResourceName 4922 4979 4923 - enumResourceName: 4980 + enumResourceName :: 4924 4981 ResourceCPU | 4925 4982 ResourceMemory | 4926 4983 ResourceStorage | ··· 4943 5000 ResourceLimitsEphemeralStorage 4944 5001 4945 5002 // CPU, in cores. (500m = .5 cores) 4946 - ResourceCPU: ResourceName & "cpu" 5003 + ResourceCPU :: ResourceName & "cpu" 4947 5004 4948 5005 // Memory, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) 4949 - ResourceMemory: ResourceName & "memory" 5006 + ResourceMemory :: ResourceName & "memory" 4950 5007 4951 5008 // Volume size, in bytes (e,g. 5Gi = 5GiB = 5 * 1024 * 1024 * 1024) 4952 - ResourceStorage: ResourceName & "storage" 5009 + ResourceStorage :: ResourceName & "storage" 4953 5010 4954 5011 // Local ephemeral storage, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) 4955 5012 // The resource name for ResourceEphemeralStorage is alpha and it can change across releases. 4956 - ResourceEphemeralStorage: ResourceName & "ephemeral-storage" 5013 + ResourceEphemeralStorage :: ResourceName & "ephemeral-storage" 4957 5014 4958 5015 // Default namespace prefix. 4959 - ResourceDefaultNamespacePrefix: "kubernetes.io/" 5016 + ResourceDefaultNamespacePrefix :: "kubernetes.io/" 4960 5017 4961 5018 // Name prefix for huge page resources (alpha). 4962 - ResourceHugePagesPrefix: "hugepages-" 5019 + ResourceHugePagesPrefix :: "hugepages-" 4963 5020 4964 5021 // Name prefix for storage resource limits 4965 - ResourceAttachableVolumesPrefix: "attachable-volumes-" 5022 + ResourceAttachableVolumesPrefix :: "attachable-volumes-" 4966 5023 4967 5024 // ResourceList is a set of (resource name, quantity) pairs. 4968 - ResourceList: {<_>: resource.Quantity} 5025 + ResourceList :: {<_>: resource.Quantity} 4969 5026 4970 5027 // Node is a worker node in Kubernetes. 4971 5028 // Each node will have a unique identifier in the cache (i.e. in etcd). 4972 - Node: metav1.TypeMeta & { 5029 + Node :: { 5030 + (metav1.TypeMeta) 5031 + 4973 5032 // Standard object's metadata. 4974 5033 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 4975 5034 // +optional ··· 4989 5048 } 4990 5049 4991 5050 // NodeList is the whole list of all Nodes which have been registered with master. 4992 - NodeList: metav1.TypeMeta & { 5051 + NodeList :: { 5052 + (metav1.TypeMeta) 5053 + 4993 5054 // Standard list metadata. 4994 5055 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 4995 5056 // +optional ··· 5000 5061 } 5001 5062 5002 5063 // FinalizerName is the name identifying a finalizer during namespace lifecycle. 5003 - FinalizerName: string // enumFinalizerName 5064 + FinalizerName :: string // enumFinalizerName 5004 5065 5005 - enumFinalizerName: 5066 + enumFinalizerName :: 5006 5067 FinalizerKubernetes 5007 5068 5008 - FinalizerKubernetes: FinalizerName & "kubernetes" 5069 + FinalizerKubernetes :: FinalizerName & "kubernetes" 5009 5070 5010 5071 // NamespaceSpec describes the attributes on a Namespace. 5011 - NamespaceSpec: { 5072 + NamespaceSpec :: { 5012 5073 // Finalizers is an opaque list of values that must be empty to permanently remove object from storage. 5013 5074 // More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/ 5014 5075 // +optional ··· 5016 5077 } 5017 5078 5018 5079 // NamespaceStatus is information about the current status of a Namespace. 5019 - NamespaceStatus: { 5080 + NamespaceStatus :: { 5020 5081 // Phase is the current lifecycle phase of the namespace. 5021 5082 // More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/ 5022 5083 // +optional ··· 5029 5090 conditions?: [...NamespaceCondition] @go(Conditions,[]NamespaceCondition) @protobuf(2,bytes,rep) 5030 5091 } 5031 5092 5032 - NamespacePhase: string // enumNamespacePhase 5093 + NamespacePhase :: string // enumNamespacePhase 5033 5094 5034 - enumNamespacePhase: 5095 + enumNamespacePhase :: 5035 5096 NamespaceActive | 5036 5097 NamespaceTerminating 5037 5098 5038 5099 // NamespaceActive means the namespace is available for use in the system 5039 - NamespaceActive: NamespacePhase & "Active" 5100 + NamespaceActive :: NamespacePhase & "Active" 5040 5101 5041 5102 // NamespaceTerminating means the namespace is undergoing graceful termination 5042 - NamespaceTerminating: NamespacePhase & "Terminating" 5103 + NamespaceTerminating :: NamespacePhase & "Terminating" 5043 5104 5044 - NamespaceConditionType: string // enumNamespaceConditionType 5105 + NamespaceConditionType :: string // enumNamespaceConditionType 5045 5106 5046 - enumNamespaceConditionType: 5107 + enumNamespaceConditionType :: 5047 5108 NamespaceDeletionDiscoveryFailure | 5048 5109 NamespaceDeletionContentFailure | 5049 5110 NamespaceDeletionGVParsingFailure 5050 5111 5051 5112 // NamespaceDeletionDiscoveryFailure contains information about namespace deleter errors during resource discovery. 5052 - NamespaceDeletionDiscoveryFailure: NamespaceConditionType & "NamespaceDeletionDiscoveryFailure" 5113 + NamespaceDeletionDiscoveryFailure :: NamespaceConditionType & "NamespaceDeletionDiscoveryFailure" 5053 5114 5054 5115 // NamespaceDeletionContentFailure contains information about namespace deleter errors during deletion of resources. 5055 - NamespaceDeletionContentFailure: NamespaceConditionType & "NamespaceDeletionContentFailure" 5116 + NamespaceDeletionContentFailure :: NamespaceConditionType & "NamespaceDeletionContentFailure" 5056 5117 5057 5118 // NamespaceDeletionGVParsingFailure contains information about namespace deleter errors parsing GV for legacy types. 5058 - NamespaceDeletionGVParsingFailure: NamespaceConditionType & "NamespaceDeletionGroupVersionParsingFailure" 5119 + NamespaceDeletionGVParsingFailure :: NamespaceConditionType & "NamespaceDeletionGroupVersionParsingFailure" 5059 5120 5060 5121 // NamespaceCondition contains details about state of namespace. 5061 - NamespaceCondition: { 5122 + NamespaceCondition :: { 5062 5123 // Type of namespace controller condition. 5063 5124 type: NamespaceConditionType @go(Type) @protobuf(1,bytes,opt,casttype=NamespaceConditionType) 5064 5125 ··· 5077 5138 5078 5139 // Namespace provides a scope for Names. 5079 5140 // Use of multiple namespaces is optional. 5080 - Namespace: metav1.TypeMeta & { 5141 + Namespace :: { 5142 + (metav1.TypeMeta) 5143 + 5081 5144 // Standard object's metadata. 5082 5145 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 5083 5146 // +optional ··· 5095 5158 } 5096 5159 5097 5160 // NamespaceList is a list of Namespaces. 5098 - NamespaceList: metav1.TypeMeta & { 5161 + NamespaceList :: { 5162 + (metav1.TypeMeta) 5163 + 5099 5164 // Standard list metadata. 5100 5165 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5101 5166 // +optional ··· 5108 5173 5109 5174 // Binding ties one object to another; for example, a pod is bound to a node by a scheduler. 5110 5175 // Deprecated in 1.7, please use the bindings subresource of pods instead. 5111 - Binding: metav1.TypeMeta & { 5176 + Binding :: { 5177 + (metav1.TypeMeta) 5178 + 5112 5179 // Standard object's metadata. 5113 5180 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 5114 5181 // +optional ··· 5119 5186 } 5120 5187 5121 5188 // A list of ephemeral containers used with the Pod ephemeralcontainers subresource. 5122 - EphemeralContainers: metav1.TypeMeta & { 5189 + EphemeralContainers :: { 5190 + (metav1.TypeMeta) 5191 + 5123 5192 // +optional 5124 5193 metadata?: metav1.ObjectMeta @go(ObjectMeta) @protobuf(1,bytes,opt) 5125 5194 ··· 5133 5202 5134 5203 // Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. 5135 5204 // +k8s:openapi-gen=false 5136 - Preconditions: { 5205 + Preconditions :: { 5137 5206 // Specifies the target UID. 5138 5207 // +optional 5139 5208 uid?: null | types.UID @go(UID,*types.UID) @protobuf(1,bytes,opt,casttype=k8s.io/apimachinery/pkg/types.UID) 5140 5209 } 5141 5210 5142 5211 // PodLogOptions is the query options for a Pod's logs REST call. 5143 - PodLogOptions: metav1.TypeMeta & { 5212 + PodLogOptions :: { 5213 + (metav1.TypeMeta) 5214 + 5144 5215 // The container for which to stream logs. Defaults to only container if there is one container in the pod. 5145 5216 // +optional 5146 5217 container?: string @go(Container) @protobuf(1,bytes,opt) ··· 5188 5259 // --- 5189 5260 // TODO: merge w/ PodExecOptions below for stdin, stdout, etc 5190 5261 // and also when we cut V2, we should export a "StreamOptions" or somesuch that contains Stdin, Stdout, Stder and TTY 5191 - PodAttachOptions: metav1.TypeMeta & { 5262 + PodAttachOptions :: { 5263 + (metav1.TypeMeta) 5264 + 5192 5265 // Stdin if true, redirects the standard input stream of the pod for this call. 5193 5266 // Defaults to false. 5194 5267 // +optional ··· 5221 5294 // --- 5222 5295 // TODO: This is largely identical to PodAttachOptions above, make sure they stay in sync and see about merging 5223 5296 // and also when we cut V2, we should export a "StreamOptions" or somesuch that contains Stdin, Stdout, Stder and TTY 5224 - PodExecOptions: metav1.TypeMeta & { 5297 + PodExecOptions :: { 5298 + (metav1.TypeMeta) 5299 + 5225 5300 // Redirect the standard input stream of the pod for this call. 5226 5301 // Defaults to false. 5227 5302 // +optional ··· 5257 5332 // ports (comma separated) to forward over. 5258 5333 // Port forwarding over SPDY does not use these options. It requires the port 5259 5334 // to be passed in the `port` header as part of request. 5260 - PodPortForwardOptions: metav1.TypeMeta & { 5335 + PodPortForwardOptions :: { 5336 + (metav1.TypeMeta) 5337 + 5261 5338 // List of ports to forward 5262 5339 // Required when using WebSockets 5263 5340 // +optional ··· 5265 5342 } 5266 5343 5267 5344 // PodProxyOptions is the query options to a Pod's proxy call. 5268 - PodProxyOptions: metav1.TypeMeta & { 5345 + PodProxyOptions :: { 5346 + (metav1.TypeMeta) 5347 + 5269 5348 // Path is the URL path to use for the current proxy request to pod. 5270 5349 // +optional 5271 5350 path?: string @go(Path) @protobuf(1,bytes,opt) 5272 5351 } 5273 5352 5274 5353 // NodeProxyOptions is the query options to a Node's proxy call. 5275 - NodeProxyOptions: metav1.TypeMeta & { 5354 + NodeProxyOptions :: { 5355 + (metav1.TypeMeta) 5356 + 5276 5357 // Path is the URL path to use for the current proxy request to node. 5277 5358 // +optional 5278 5359 path?: string @go(Path) @protobuf(1,bytes,opt) 5279 5360 } 5280 5361 5281 5362 // ServiceProxyOptions is the query options to a Service's proxy call. 5282 - ServiceProxyOptions: metav1.TypeMeta & { 5363 + ServiceProxyOptions :: { 5364 + (metav1.TypeMeta) 5365 + 5283 5366 // Path is the part of URLs that include service endpoints, suffixes, 5284 5367 // and parameters to use for the current proxy request to service. 5285 5368 // For example, the whole request URL is ··· 5291 5374 5292 5375 // ObjectReference contains enough information to let you inspect or modify the referred object. 5293 5376 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 5294 - ObjectReference: { 5377 + ObjectReference :: { 5295 5378 // Kind of the referent. 5296 5379 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5297 5380 // +optional ··· 5335 5418 5336 5419 // LocalObjectReference contains enough information to let you locate the 5337 5420 // referenced object inside the same namespace. 5338 - LocalObjectReference: { 5421 + LocalObjectReference :: { 5339 5422 // Name of the referent. 5340 5423 // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names 5341 5424 // TODO: Add other useful fields. apiVersion, kind, uid? ··· 5345 5428 5346 5429 // TypedLocalObjectReference contains enough information to let you locate the 5347 5430 // typed referenced object inside the same namespace. 5348 - TypedLocalObjectReference: { 5431 + TypedLocalObjectReference :: { 5349 5432 // APIGroup is the group for the resource being referenced. 5350 5433 // If APIGroup is not specified, the specified Kind must be in the core API group. 5351 5434 // For any other third-party types, APIGroup is required. ··· 5360 5443 } 5361 5444 5362 5445 // SerializedReference is a reference to serialized object. 5363 - SerializedReference: metav1.TypeMeta & { 5446 + SerializedReference :: { 5447 + (metav1.TypeMeta) 5448 + 5364 5449 // The reference to an object in the system. 5365 5450 // +optional 5366 5451 reference?: ObjectReference @go(Reference) @protobuf(1,bytes,opt) 5367 5452 } 5368 5453 5369 5454 // EventSource contains information for an event. 5370 - EventSource: { 5455 + EventSource :: { 5371 5456 // Component from which the event is generated. 5372 5457 // +optional 5373 5458 component?: string @go(Component) @protobuf(1,bytes,opt) ··· 5378 5463 } 5379 5464 5380 5465 // Information only and will not cause any problems 5381 - EventTypeNormal: "Normal" 5466 + EventTypeNormal :: "Normal" 5382 5467 5383 5468 // These events are to warn that something might go wrong 5384 - EventTypeWarning: "Warning" 5469 + EventTypeWarning :: "Warning" 5385 5470 5386 5471 // Event is a report of an event somewhere in the cluster. 5387 - Event: metav1.TypeMeta & { 5472 + Event :: { 5473 + (metav1.TypeMeta) 5474 + 5388 5475 // Standard object's metadata. 5389 5476 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 5390 5477 metadata: metav1.ObjectMeta @go(ObjectMeta) @protobuf(1,bytes,opt) ··· 5450 5537 5451 5538 // EventSeries contain information on series of events, i.e. thing that was/is happening 5452 5539 // continuously for some time. 5453 - EventSeries: { 5540 + EventSeries :: { 5454 5541 // Number of occurrences in this series up to the last heartbeat time 5455 5542 count?: int32 @go(Count) @protobuf(1,varint) 5456 5543 ··· 5462 5549 state?: EventSeriesState @go(State) @protobuf(3,bytes) 5463 5550 } 5464 5551 5465 - EventSeriesState: string // enumEventSeriesState 5552 + EventSeriesState :: string // enumEventSeriesState 5466 5553 5467 - enumEventSeriesState: 5554 + enumEventSeriesState :: 5468 5555 EventSeriesStateOngoing | 5469 5556 EventSeriesStateFinished | 5470 5557 EventSeriesStateUnknown 5471 5558 5472 - EventSeriesStateOngoing: EventSeriesState & "Ongoing" 5473 - EventSeriesStateFinished: EventSeriesState & "Finished" 5474 - EventSeriesStateUnknown: EventSeriesState & "Unknown" 5559 + EventSeriesStateOngoing :: EventSeriesState & "Ongoing" 5560 + EventSeriesStateFinished :: EventSeriesState & "Finished" 5561 + EventSeriesStateUnknown :: EventSeriesState & "Unknown" 5475 5562 5476 5563 // EventList is a list of events. 5477 - EventList: metav1.TypeMeta & { 5564 + EventList :: { 5565 + (metav1.TypeMeta) 5566 + 5478 5567 // Standard list metadata. 5479 5568 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5480 5569 // +optional ··· 5485 5574 } 5486 5575 5487 5576 // List holds a list of objects, which may not be known by the server. 5488 - List: metav1.List 5577 + List :: metav1.List 5489 5578 5490 5579 // LimitType is a type of object that is limited 5491 - LimitType: string // enumLimitType 5580 + LimitType :: string // enumLimitType 5492 5581 5493 - enumLimitType: 5582 + enumLimitType :: 5494 5583 LimitTypePod | 5495 5584 LimitTypeContainer | 5496 5585 LimitTypePersistentVolumeClaim 5497 5586 5498 5587 // Limit that applies to all pods in a namespace 5499 - LimitTypePod: LimitType & "Pod" 5588 + LimitTypePod :: LimitType & "Pod" 5500 5589 5501 5590 // Limit that applies to all containers in a namespace 5502 - LimitTypeContainer: LimitType & "Container" 5591 + LimitTypeContainer :: LimitType & "Container" 5503 5592 5504 5593 // Limit that applies to all persistent volume claims in a namespace 5505 - LimitTypePersistentVolumeClaim: LimitType & "PersistentVolumeClaim" 5594 + LimitTypePersistentVolumeClaim :: LimitType & "PersistentVolumeClaim" 5506 5595 5507 5596 // LimitRangeItem defines a min/max usage limit for any resource that matches on kind. 5508 - LimitRangeItem: { 5597 + LimitRangeItem :: { 5509 5598 // Type of resource that this limit applies to. 5510 5599 // +optional 5511 5600 type?: LimitType @go(Type) @protobuf(1,bytes,opt,casttype=LimitType) ··· 5532 5621 } 5533 5622 5534 5623 // LimitRangeSpec defines a min/max usage limit for resources that match on kind. 5535 - LimitRangeSpec: { 5624 + LimitRangeSpec :: { 5536 5625 // Limits is the list of LimitRangeItem objects that are enforced. 5537 5626 limits: [...LimitRangeItem] @go(Limits,[]LimitRangeItem) @protobuf(1,bytes,rep) 5538 5627 } 5539 5628 5540 5629 // LimitRange sets resource usage limits for each kind of resource in a Namespace. 5541 - LimitRange: metav1.TypeMeta & { 5630 + LimitRange :: { 5631 + (metav1.TypeMeta) 5632 + 5542 5633 // Standard object's metadata. 5543 5634 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 5544 5635 // +optional ··· 5551 5642 } 5552 5643 5553 5644 // LimitRangeList is a list of LimitRange items. 5554 - LimitRangeList: metav1.TypeMeta & { 5645 + LimitRangeList :: { 5646 + (metav1.TypeMeta) 5647 + 5555 5648 // Standard list metadata. 5556 5649 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5557 5650 // +optional ··· 5563 5656 } 5564 5657 5565 5658 // Pods, number 5566 - ResourcePods: ResourceName & "pods" 5659 + ResourcePods :: ResourceName & "pods" 5567 5660 5568 5661 // Services, number 5569 - ResourceServices: ResourceName & "services" 5662 + ResourceServices :: ResourceName & "services" 5570 5663 5571 5664 // ReplicationControllers, number 5572 - ResourceReplicationControllers: ResourceName & "replicationcontrollers" 5665 + ResourceReplicationControllers :: ResourceName & "replicationcontrollers" 5573 5666 5574 5667 // ResourceQuotas, number 5575 - ResourceQuotas: ResourceName & "resourcequotas" 5668 + ResourceQuotas :: ResourceName & "resourcequotas" 5576 5669 5577 5670 // ResourceSecrets, number 5578 - ResourceSecrets: ResourceName & "secrets" 5671 + ResourceSecrets :: ResourceName & "secrets" 5579 5672 5580 5673 // ResourceConfigMaps, number 5581 - ResourceConfigMaps: ResourceName & "configmaps" 5674 + ResourceConfigMaps :: ResourceName & "configmaps" 5582 5675 5583 5676 // ResourcePersistentVolumeClaims, number 5584 - ResourcePersistentVolumeClaims: ResourceName & "persistentvolumeclaims" 5677 + ResourcePersistentVolumeClaims :: ResourceName & "persistentvolumeclaims" 5585 5678 5586 5679 // ResourceServicesNodePorts, number 5587 - ResourceServicesNodePorts: ResourceName & "services.nodeports" 5680 + ResourceServicesNodePorts :: ResourceName & "services.nodeports" 5588 5681 5589 5682 // ResourceServicesLoadBalancers, number 5590 - ResourceServicesLoadBalancers: ResourceName & "services.loadbalancers" 5683 + ResourceServicesLoadBalancers :: ResourceName & "services.loadbalancers" 5591 5684 5592 5685 // CPU request, in cores. (500m = .5 cores) 5593 - ResourceRequestsCPU: ResourceName & "requests.cpu" 5686 + ResourceRequestsCPU :: ResourceName & "requests.cpu" 5594 5687 5595 5688 // Memory request, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) 5596 - ResourceRequestsMemory: ResourceName & "requests.memory" 5689 + ResourceRequestsMemory :: ResourceName & "requests.memory" 5597 5690 5598 5691 // Storage request, in bytes 5599 - ResourceRequestsStorage: ResourceName & "requests.storage" 5692 + ResourceRequestsStorage :: ResourceName & "requests.storage" 5600 5693 5601 5694 // Local ephemeral storage request, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) 5602 - ResourceRequestsEphemeralStorage: ResourceName & "requests.ephemeral-storage" 5695 + ResourceRequestsEphemeralStorage :: ResourceName & "requests.ephemeral-storage" 5603 5696 5604 5697 // CPU limit, in cores. (500m = .5 cores) 5605 - ResourceLimitsCPU: ResourceName & "limits.cpu" 5698 + ResourceLimitsCPU :: ResourceName & "limits.cpu" 5606 5699 5607 5700 // Memory limit, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) 5608 - ResourceLimitsMemory: ResourceName & "limits.memory" 5701 + ResourceLimitsMemory :: ResourceName & "limits.memory" 5609 5702 5610 5703 // Local ephemeral storage limit, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) 5611 - ResourceLimitsEphemeralStorage: ResourceName & "limits.ephemeral-storage" 5704 + ResourceLimitsEphemeralStorage :: ResourceName & "limits.ephemeral-storage" 5612 5705 5613 5706 // HugePages request, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) 5614 5707 // As burst is not supported for HugePages, we would only quota its request, and ignore the limit. 5615 - ResourceRequestsHugePagesPrefix: "requests.hugepages-" 5708 + ResourceRequestsHugePagesPrefix :: "requests.hugepages-" 5616 5709 5617 5710 // Default resource requests prefix 5618 - DefaultResourceRequestsPrefix: "requests." 5711 + DefaultResourceRequestsPrefix :: "requests." 5619 5712 5620 5713 // A ResourceQuotaScope defines a filter that must match each object tracked by a quota 5621 - ResourceQuotaScope: string // enumResourceQuotaScope 5714 + ResourceQuotaScope :: string // enumResourceQuotaScope 5622 5715 5623 - enumResourceQuotaScope: 5716 + enumResourceQuotaScope :: 5624 5717 ResourceQuotaScopeTerminating | 5625 5718 ResourceQuotaScopeNotTerminating | 5626 5719 ResourceQuotaScopeBestEffort | ··· 5628 5721 ResourceQuotaScopePriorityClass 5629 5722 5630 5723 // Match all pod objects where spec.activeDeadlineSeconds 5631 - ResourceQuotaScopeTerminating: ResourceQuotaScope & "Terminating" 5724 + ResourceQuotaScopeTerminating :: ResourceQuotaScope & "Terminating" 5632 5725 5633 5726 // Match all pod objects where !spec.activeDeadlineSeconds 5634 - ResourceQuotaScopeNotTerminating: ResourceQuotaScope & "NotTerminating" 5727 + ResourceQuotaScopeNotTerminating :: ResourceQuotaScope & "NotTerminating" 5635 5728 5636 5729 // Match all pod objects that have best effort quality of service 5637 - ResourceQuotaScopeBestEffort: ResourceQuotaScope & "BestEffort" 5730 + ResourceQuotaScopeBestEffort :: ResourceQuotaScope & "BestEffort" 5638 5731 5639 5732 // Match all pod objects that do not have best effort quality of service 5640 - ResourceQuotaScopeNotBestEffort: ResourceQuotaScope & "NotBestEffort" 5733 + ResourceQuotaScopeNotBestEffort :: ResourceQuotaScope & "NotBestEffort" 5641 5734 5642 5735 // Match all pod objects that have priority class mentioned 5643 - ResourceQuotaScopePriorityClass: ResourceQuotaScope & "PriorityClass" 5736 + ResourceQuotaScopePriorityClass :: ResourceQuotaScope & "PriorityClass" 5644 5737 5645 5738 // ResourceQuotaSpec defines the desired hard limits to enforce for Quota. 5646 - ResourceQuotaSpec: { 5739 + ResourceQuotaSpec :: { 5647 5740 // hard is the set of desired hard limits for each named resource. 5648 5741 // More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/ 5649 5742 // +optional ··· 5663 5756 5664 5757 // A scope selector represents the AND of the selectors represented 5665 5758 // by the scoped-resource selector requirements. 5666 - ScopeSelector: { 5759 + ScopeSelector :: { 5667 5760 // A list of scope selector requirements by scope of the resources. 5668 5761 // +optional 5669 5762 matchExpressions?: [...ScopedResourceSelectorRequirement] @go(MatchExpressions,[]ScopedResourceSelectorRequirement) @protobuf(1,bytes,rep) ··· 5671 5764 5672 5765 // A scoped-resource selector requirement is a selector that contains values, a scope name, and an operator 5673 5766 // that relates the scope name and values. 5674 - ScopedResourceSelectorRequirement: { 5767 + ScopedResourceSelectorRequirement :: { 5675 5768 // The name of the scope that the selector applies to. 5676 5769 scopeName: ResourceQuotaScope @go(ScopeName) @protobuf(1,bytes,opt) 5677 5770 ··· 5689 5782 5690 5783 // A scope selector operator is the set of operators that can be used in 5691 5784 // a scope selector requirement. 5692 - ScopeSelectorOperator: string // enumScopeSelectorOperator 5785 + ScopeSelectorOperator :: string // enumScopeSelectorOperator 5693 5786 5694 - enumScopeSelectorOperator: 5787 + enumScopeSelectorOperator :: 5695 5788 ScopeSelectorOpIn | 5696 5789 ScopeSelectorOpNotIn | 5697 5790 ScopeSelectorOpExists | 5698 5791 ScopeSelectorOpDoesNotExist 5699 5792 5700 - ScopeSelectorOpIn: ScopeSelectorOperator & "In" 5701 - ScopeSelectorOpNotIn: ScopeSelectorOperator & "NotIn" 5702 - ScopeSelectorOpExists: ScopeSelectorOperator & "Exists" 5703 - ScopeSelectorOpDoesNotExist: ScopeSelectorOperator & "DoesNotExist" 5793 + ScopeSelectorOpIn :: ScopeSelectorOperator & "In" 5794 + ScopeSelectorOpNotIn :: ScopeSelectorOperator & "NotIn" 5795 + ScopeSelectorOpExists :: ScopeSelectorOperator & "Exists" 5796 + ScopeSelectorOpDoesNotExist :: ScopeSelectorOperator & "DoesNotExist" 5704 5797 5705 5798 // ResourceQuotaStatus defines the enforced hard limits and observed use. 5706 - ResourceQuotaStatus: { 5799 + ResourceQuotaStatus :: { 5707 5800 // Hard is the set of enforced hard limits for each named resource. 5708 5801 // More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/ 5709 5802 // +optional ··· 5715 5808 } 5716 5809 5717 5810 // ResourceQuota sets aggregate quota restrictions enforced per namespace 5718 - ResourceQuota: metav1.TypeMeta & { 5811 + ResourceQuota :: { 5812 + (metav1.TypeMeta) 5813 + 5719 5814 // Standard object's metadata. 5720 5815 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 5721 5816 // +optional ··· 5733 5828 } 5734 5829 5735 5830 // ResourceQuotaList is a list of ResourceQuota items. 5736 - ResourceQuotaList: metav1.TypeMeta & { 5831 + ResourceQuotaList :: { 5832 + (metav1.TypeMeta) 5833 + 5737 5834 // Standard list metadata. 5738 5835 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5739 5836 // +optional ··· 5746 5843 5747 5844 // Secret holds secret data of a certain type. The total bytes of the values in 5748 5845 // the Data field must be less than MaxSecretSize bytes. 5749 - Secret: metav1.TypeMeta & { 5846 + Secret :: { 5847 + (metav1.TypeMeta) 5848 + 5750 5849 // Standard object's metadata. 5751 5850 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 5752 5851 // +optional ··· 5772 5871 type?: SecretType @go(Type) @protobuf(3,bytes,opt,casttype=SecretType) 5773 5872 } 5774 5873 5775 - MaxSecretSize: 1048576 5874 + MaxSecretSize :: 1048576 5776 5875 5777 - SecretType: string // enumSecretType 5876 + SecretType :: string // enumSecretType 5778 5877 5779 - enumSecretType: 5878 + enumSecretType :: 5780 5879 SecretTypeOpaque | 5781 5880 SecretTypeServiceAccountToken | 5782 5881 SecretTypeDockercfg | ··· 5787 5886 SecretTypeBootstrapToken 5788 5887 5789 5888 // SecretTypeOpaque is the default. Arbitrary user-defined data 5790 - SecretTypeOpaque: SecretType & "Opaque" 5889 + SecretTypeOpaque :: SecretType & "Opaque" 5791 5890 5792 5891 // SecretTypeServiceAccountToken contains a token that identifies a service account to the API 5793 5892 // ··· 5795 5894 // - Secret.Annotations["kubernetes.io/service-account.name"] - the name of the ServiceAccount the token identifies 5796 5895 // - Secret.Annotations["kubernetes.io/service-account.uid"] - the UID of the ServiceAccount the token identifies 5797 5896 // - Secret.Data["token"] - a token that identifies the service account to the API 5798 - SecretTypeServiceAccountToken: SecretType & "kubernetes.io/service-account-token" 5897 + SecretTypeServiceAccountToken :: SecretType & "kubernetes.io/service-account-token" 5799 5898 5800 5899 // ServiceAccountNameKey is the key of the required annotation for SecretTypeServiceAccountToken secrets 5801 - ServiceAccountNameKey: "kubernetes.io/service-account.name" 5900 + ServiceAccountNameKey :: "kubernetes.io/service-account.name" 5802 5901 5803 5902 // ServiceAccountUIDKey is the key of the required annotation for SecretTypeServiceAccountToken secrets 5804 - ServiceAccountUIDKey: "kubernetes.io/service-account.uid" 5903 + ServiceAccountUIDKey :: "kubernetes.io/service-account.uid" 5805 5904 5806 5905 // ServiceAccountTokenKey is the key of the required data for SecretTypeServiceAccountToken secrets 5807 - ServiceAccountTokenKey: "token" 5906 + ServiceAccountTokenKey :: "token" 5808 5907 5809 5908 // ServiceAccountKubeconfigKey is the key of the optional kubeconfig data for SecretTypeServiceAccountToken secrets 5810 - ServiceAccountKubeconfigKey: "kubernetes.kubeconfig" 5909 + ServiceAccountKubeconfigKey :: "kubernetes.kubeconfig" 5811 5910 5812 5911 // ServiceAccountRootCAKey is the key of the optional root certificate authority for SecretTypeServiceAccountToken secrets 5813 - ServiceAccountRootCAKey: "ca.crt" 5912 + ServiceAccountRootCAKey :: "ca.crt" 5814 5913 5815 5914 // ServiceAccountNamespaceKey is the key of the optional namespace to use as the default for namespaced API calls 5816 - ServiceAccountNamespaceKey: "namespace" 5915 + ServiceAccountNamespaceKey :: "namespace" 5817 5916 5818 5917 // SecretTypeDockercfg contains a dockercfg file that follows the same format rules as ~/.dockercfg 5819 5918 // 5820 5919 // Required fields: 5821 5920 // - Secret.Data[".dockercfg"] - a serialized ~/.dockercfg file 5822 - SecretTypeDockercfg: SecretType & "kubernetes.io/dockercfg" 5921 + SecretTypeDockercfg :: SecretType & "kubernetes.io/dockercfg" 5823 5922 5824 5923 // DockerConfigKey is the key of the required data for SecretTypeDockercfg secrets 5825 - DockerConfigKey: ".dockercfg" 5924 + DockerConfigKey :: ".dockercfg" 5826 5925 5827 5926 // SecretTypeDockerConfigJson contains a dockercfg file that follows the same format rules as ~/.docker/config.json 5828 5927 // 5829 5928 // Required fields: 5830 5929 // - Secret.Data[".dockerconfigjson"] - a serialized ~/.docker/config.json file 5831 - SecretTypeDockerConfigJson: SecretType & "kubernetes.io/dockerconfigjson" 5930 + SecretTypeDockerConfigJson :: SecretType & "kubernetes.io/dockerconfigjson" 5832 5931 5833 5932 // DockerConfigJsonKey is the key of the required data for SecretTypeDockerConfigJson secrets 5834 - DockerConfigJsonKey: ".dockerconfigjson" 5933 + DockerConfigJsonKey :: ".dockerconfigjson" 5835 5934 5836 5935 // SecretTypeBasicAuth contains data needed for basic authentication. 5837 5936 // 5838 5937 // Required at least one of fields: 5839 5938 // - Secret.Data["username"] - username used for authentication 5840 5939 // - Secret.Data["password"] - password or token needed for authentication 5841 - SecretTypeBasicAuth: SecretType & "kubernetes.io/basic-auth" 5940 + SecretTypeBasicAuth :: SecretType & "kubernetes.io/basic-auth" 5842 5941 5843 5942 // BasicAuthUsernameKey is the key of the username for SecretTypeBasicAuth secrets 5844 - BasicAuthUsernameKey: "username" 5943 + BasicAuthUsernameKey :: "username" 5845 5944 5846 5945 // BasicAuthPasswordKey is the key of the password or token for SecretTypeBasicAuth secrets 5847 - BasicAuthPasswordKey: "password" 5946 + BasicAuthPasswordKey :: "password" 5848 5947 5849 5948 // SecretTypeSSHAuth contains data needed for SSH authetication. 5850 5949 // 5851 5950 // Required field: 5852 5951 // - Secret.Data["ssh-privatekey"] - private SSH key needed for authentication 5853 - SecretTypeSSHAuth: SecretType & "kubernetes.io/ssh-auth" 5952 + SecretTypeSSHAuth :: SecretType & "kubernetes.io/ssh-auth" 5854 5953 5855 5954 // SSHAuthPrivateKey is the key of the required SSH private key for SecretTypeSSHAuth secrets 5856 - SSHAuthPrivateKey: "ssh-privatekey" 5955 + SSHAuthPrivateKey :: "ssh-privatekey" 5857 5956 5858 5957 // SecretTypeTLS contains information about a TLS client or server secret. It 5859 5958 // is primarily used with TLS termination of the Ingress resource, but may be ··· 5863 5962 // - Secret.Data["tls.key"] - TLS private key. 5864 5963 // Secret.Data["tls.crt"] - TLS certificate. 5865 5964 // TODO: Consider supporting different formats, specifying CA/destinationCA. 5866 - SecretTypeTLS: SecretType & "kubernetes.io/tls" 5965 + SecretTypeTLS :: SecretType & "kubernetes.io/tls" 5867 5966 5868 5967 // TLSCertKey is the key for tls certificates in a TLS secert. 5869 - TLSCertKey: "tls.crt" 5968 + TLSCertKey :: "tls.crt" 5870 5969 5871 5970 // TLSPrivateKeyKey is the key for the private key field in a TLS secret. 5872 - TLSPrivateKeyKey: "tls.key" 5971 + TLSPrivateKeyKey :: "tls.key" 5873 5972 5874 5973 // SecretTypeBootstrapToken is used during the automated bootstrap process (first 5875 5974 // implemented by kubeadm). It stores tokens that are used to sign well known 5876 5975 // ConfigMaps. They are used for authn. 5877 - SecretTypeBootstrapToken: SecretType & "bootstrap.kubernetes.io/token" 5976 + SecretTypeBootstrapToken :: SecretType & "bootstrap.kubernetes.io/token" 5878 5977 5879 5978 // SecretList is a list of Secret. 5880 - SecretList: metav1.TypeMeta & { 5979 + SecretList :: { 5980 + (metav1.TypeMeta) 5981 + 5881 5982 // Standard list metadata. 5882 5983 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5883 5984 // +optional ··· 5889 5990 } 5890 5991 5891 5992 // ConfigMap holds configuration data for pods to consume. 5892 - ConfigMap: metav1.TypeMeta & { 5993 + ConfigMap :: { 5994 + (metav1.TypeMeta) 5995 + 5893 5996 // Standard object's metadata. 5894 5997 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 5895 5998 // +optional ··· 5915 6018 } 5916 6019 5917 6020 // ConfigMapList is a resource containing a list of ConfigMap objects. 5918 - ConfigMapList: metav1.TypeMeta & { 6021 + ConfigMapList :: { 6022 + (metav1.TypeMeta) 6023 + 5919 6024 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 5920 6025 // +optional 5921 6026 metadata?: metav1.ListMeta @go(ListMeta) @protobuf(1,bytes,opt) ··· 5925 6030 } 5926 6031 5927 6032 // Type and constants for component health validation. 5928 - ComponentConditionType: string // enumComponentConditionType 6033 + ComponentConditionType :: string // enumComponentConditionType 5929 6034 5930 - enumComponentConditionType: 6035 + enumComponentConditionType :: 5931 6036 ComponentHealthy 5932 6037 5933 - ComponentHealthy: ComponentConditionType & "Healthy" 6038 + ComponentHealthy :: ComponentConditionType & "Healthy" 5934 6039 5935 6040 // Information about the condition of a component. 5936 - ComponentCondition: { 6041 + ComponentCondition :: { 5937 6042 // Type of condition for a component. 5938 6043 // Valid value: "Healthy" 5939 6044 type: ComponentConditionType @go(Type) @protobuf(1,bytes,opt,casttype=ComponentConditionType) ··· 5954 6059 } 5955 6060 5956 6061 // ComponentStatus (and ComponentStatusList) holds the cluster validation info. 5957 - ComponentStatus: metav1.TypeMeta & { 6062 + ComponentStatus :: { 6063 + (metav1.TypeMeta) 6064 + 5958 6065 // Standard object's metadata. 5959 6066 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 5960 6067 // +optional ··· 5968 6075 } 5969 6076 5970 6077 // Status of all the conditions for the component as a list of ComponentStatus objects. 5971 - ComponentStatusList: metav1.TypeMeta & { 6078 + ComponentStatusList :: { 6079 + (metav1.TypeMeta) 6080 + 5972 6081 // Standard list metadata. 5973 6082 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 5974 6083 // +optional ··· 5980 6089 5981 6090 // DownwardAPIVolumeSource represents a volume containing downward API info. 5982 6091 // Downward API volumes support ownership management and SELinux relabeling. 5983 - DownwardAPIVolumeSource: { 6092 + DownwardAPIVolumeSource :: { 5984 6093 // Items is a list of downward API volume file 5985 6094 // +optional 5986 6095 items?: [...DownwardAPIVolumeFile] @go(Items,[]DownwardAPIVolumeFile) @protobuf(1,bytes,rep) ··· 5994 6103 defaultMode?: null | int32 @go(DefaultMode,*int32) @protobuf(2,varint,opt) 5995 6104 } 5996 6105 5997 - DownwardAPIVolumeSourceDefaultMode: int32 & 0o644 6106 + DownwardAPIVolumeSourceDefaultMode :: int32 & 0o644 5998 6107 5999 6108 // DownwardAPIVolumeFile represents information to create the file containing the pod field 6000 - DownwardAPIVolumeFile: { 6109 + DownwardAPIVolumeFile :: { 6001 6110 // Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' 6002 6111 path: string @go(Path) @protobuf(1,bytes,opt) 6003 6112 ··· 6021 6130 // Represents downward API info for projecting into a projected volume. 6022 6131 // Note that this is identical to a downwardAPI volume source without the default 6023 6132 // mode. 6024 - DownwardAPIProjection: { 6133 + DownwardAPIProjection :: { 6025 6134 // Items is a list of DownwardAPIVolume file 6026 6135 // +optional 6027 6136 items?: [...DownwardAPIVolumeFile] @go(Items,[]DownwardAPIVolumeFile) @protobuf(1,bytes,rep) ··· 6030 6139 // SecurityContext holds security configuration that will be applied to a container. 6031 6140 // Some fields are present in both SecurityContext and PodSecurityContext. When both 6032 6141 // are set, the values in SecurityContext take precedence. 6033 - SecurityContext: { 6142 + SecurityContext :: { 6034 6143 // The capabilities to add/drop when running containers. 6035 6144 // Defaults to the default set of capabilities granted by the container runtime. 6036 6145 // +optional ··· 6100 6209 procMount?: null | ProcMountType @go(ProcMount,*ProcMountType) @protobuf(9,bytes,opt) 6101 6210 } 6102 6211 6103 - ProcMountType: string // enumProcMountType 6212 + ProcMountType :: string // enumProcMountType 6104 6213 6105 - enumProcMountType: 6214 + enumProcMountType :: 6106 6215 DefaultProcMount | 6107 6216 UnmaskedProcMount 6108 6217 6109 6218 // DefaultProcMount uses the container runtime defaults for readonly and masked 6110 6219 // paths for /proc. Most container runtimes mask certain paths in /proc to avoid 6111 6220 // accidental security exposure of special devices or information. 6112 - DefaultProcMount: ProcMountType & "Default" 6221 + DefaultProcMount :: ProcMountType & "Default" 6113 6222 6114 6223 // UnmaskedProcMount bypasses the default masking behavior of the container 6115 6224 // runtime and ensures the newly created /proc the container stays in tact with 6116 6225 // no modifications. 6117 - UnmaskedProcMount: ProcMountType & "Unmasked" 6226 + UnmaskedProcMount :: ProcMountType & "Unmasked" 6118 6227 6119 6228 // SELinuxOptions are the labels to be applied to the container 6120 - SELinuxOptions: { 6229 + SELinuxOptions :: { 6121 6230 // User is a SELinux user label that applies to the container. 6122 6231 // +optional 6123 6232 user?: string @go(User) @protobuf(1,bytes,opt) ··· 6136 6245 } 6137 6246 6138 6247 // WindowsSecurityContextOptions contain Windows-specific options and credentials. 6139 - WindowsSecurityContextOptions: { 6248 + WindowsSecurityContextOptions :: { 6140 6249 // GMSACredentialSpecName is the name of the GMSA credential spec to use. 6141 6250 // This field is alpha-level and is only honored by servers that enable the WindowsGMSA feature flag. 6142 6251 // +optional ··· 6159 6268 } 6160 6269 6161 6270 // RangeAllocation is not a public type. 6162 - RangeAllocation: metav1.TypeMeta & { 6271 + RangeAllocation :: { 6272 + (metav1.TypeMeta) 6273 + 6163 6274 // Standard object's metadata. 6164 6275 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 6165 6276 // +optional ··· 6173 6284 } 6174 6285 6175 6286 // "default-scheduler" is the name of default scheduler. 6176 - DefaultSchedulerName: "default-scheduler" 6287 + DefaultSchedulerName :: "default-scheduler" 6177 6288 6178 6289 // RequiredDuringScheduling affinity is not symmetric, but there is an implicit PreferredDuringScheduling affinity rule 6179 6290 // corresponding to every RequiredDuringScheduling affinity rule. 6180 6291 // When the --hard-pod-affinity-weight scheduler flag is not specified, 6181 6292 // DefaultHardPodAffinityWeight defines the weight of the implicit PreferredDuringScheduling affinity rule. 6182 - DefaultHardPodAffinitySymmetricWeight: int32 & 1 6293 + DefaultHardPodAffinitySymmetricWeight :: int32 & 1 6183 6294 6184 6295 // Sysctl defines a kernel parameter to be set 6185 - Sysctl: { 6296 + Sysctl :: { 6186 6297 // Name of a property to set 6187 6298 name: string @go(Name) @protobuf(1,bytes,opt) 6188 6299 ··· 6192 6303 6193 6304 // NodeResources is an object for conveying resource information about a node. 6194 6305 // see http://releases.k8s.io/HEAD/docs/design/resources.md for more details. 6195 - NodeResources: { 6306 + NodeResources :: { 6196 6307 // Capacity represents the available resources of a node 6197 6308 Capacity: ResourceList @protobuf(1,bytes,rep,name=capacity,casttype=ResourceList,castkey=ResourceName) 6198 6309 } 6199 6310 6200 6311 // Enable stdin for remote command execution 6201 - ExecStdinParam: "input" 6312 + ExecStdinParam :: "input" 6202 6313 6203 6314 // Enable stdout for remote command execution 6204 - ExecStdoutParam: "output" 6315 + ExecStdoutParam :: "output" 6205 6316 6206 6317 // Enable stderr for remote command execution 6207 - ExecStderrParam: "error" 6318 + ExecStderrParam :: "error" 6208 6319 6209 6320 // Enable TTY for remote command execution 6210 - ExecTTYParam: "tty" 6321 + ExecTTYParam :: "tty" 6211 6322 6212 6323 // Command to run for remote command execution 6213 - ExecCommandParam: "command" 6324 + ExecCommandParam :: "command" 6214 6325 6215 6326 // Name of header that specifies stream type 6216 - StreamType: "streamType" 6327 + StreamType :: "streamType" 6217 6328 6218 6329 // Value for streamType header for stdin stream 6219 - StreamTypeStdin: "stdin" 6330 + StreamTypeStdin :: "stdin" 6220 6331 6221 6332 // Value for streamType header for stdout stream 6222 - StreamTypeStdout: "stdout" 6333 + StreamTypeStdout :: "stdout" 6223 6334 6224 6335 // Value for streamType header for stderr stream 6225 - StreamTypeStderr: "stderr" 6336 + StreamTypeStderr :: "stderr" 6226 6337 6227 6338 // Value for streamType header for data stream 6228 - StreamTypeData: "data" 6339 + StreamTypeData :: "data" 6229 6340 6230 6341 // Value for streamType header for error stream 6231 - StreamTypeError: "error" 6342 + StreamTypeError :: "error" 6232 6343 6233 6344 // Value for streamType header for terminal resize stream 6234 - StreamTypeResize: "resize" 6345 + StreamTypeResize :: "resize" 6235 6346 6236 6347 // Name of header that specifies the port being forwarded 6237 - PortHeader: "port" 6348 + PortHeader :: "port" 6238 6349 6239 6350 // Name of header that specifies a request ID used to associate the error 6240 6351 // and data streams for a single forwarded connection 6241 - PortForwardRequestIDHeader: "requestID" 6352 + PortForwardRequestIDHeader :: "requestID"
+10 -10
doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/well_known_labels_go_gen.cue
··· 4 4 5 5 package v1 6 6 7 - LabelHostname: "kubernetes.io/hostname" 8 - LabelZoneFailureDomain: "failure-domain.beta.kubernetes.io/zone" 9 - LabelZoneRegion: "failure-domain.beta.kubernetes.io/region" 10 - LabelInstanceType: "beta.kubernetes.io/instance-type" 11 - LabelOSStable: "kubernetes.io/os" 12 - LabelArchStable: "kubernetes.io/arch" 7 + LabelHostname :: "kubernetes.io/hostname" 8 + LabelZoneFailureDomain :: "failure-domain.beta.kubernetes.io/zone" 9 + LabelZoneRegion :: "failure-domain.beta.kubernetes.io/region" 10 + LabelInstanceType :: "beta.kubernetes.io/instance-type" 11 + LabelOSStable :: "kubernetes.io/os" 12 + LabelArchStable :: "kubernetes.io/arch" 13 13 14 14 // LabelNamespaceSuffixKubelet is an allowed label namespace suffix kubelets can self-set ([*.]kubelet.kubernetes.io/*) 15 - LabelNamespaceSuffixKubelet: "kubelet.kubernetes.io" 15 + LabelNamespaceSuffixKubelet :: "kubelet.kubernetes.io" 16 16 17 17 // LabelNamespaceSuffixNode is an allowed label namespace suffix kubelets can self-set ([*.]node.kubernetes.io/*) 18 - LabelNamespaceSuffixNode: "node.kubernetes.io" 18 + LabelNamespaceSuffixNode :: "node.kubernetes.io" 19 19 20 20 // LabelNamespaceNodeRestriction is a forbidden label namespace that kubelets may not self-set when the NodeRestriction admission plugin is enabled 21 - LabelNamespaceNodeRestriction: "node-restriction.kubernetes.io" 21 + LabelNamespaceNodeRestriction :: "node-restriction.kubernetes.io" 22 22 23 23 // IsHeadlessService is added by Controller to an Endpoint denoting if its parent 24 24 // Service is Headless. The existence of this label can be used further by other 25 25 // controllers and kube-proxy to check if the Endpoint objects should be replicated when 26 26 // using Headless Services 27 - IsHeadlessService: "service.kubernetes.io/headless" 27 + IsHeadlessService :: "service.kubernetes.io/headless"
+1 -1
doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/register_go_gen.cue
··· 4 4 5 5 package v1beta1 6 6 7 - GroupName: "extensions" 7 + GroupName :: "extensions"
+138 -105
doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/types_go_gen.cue
··· 11 11 ) 12 12 13 13 // describes the attributes of a scale subresource 14 - ScaleSpec: { 14 + ScaleSpec :: { 15 15 // desired number of instances for the scaled object. 16 16 // +optional 17 17 replicas?: int32 @go(Replicas) @protobuf(1,varint,opt) 18 18 } 19 19 20 20 // represents the current status of a scale subresource. 21 - ScaleStatus: { 21 + ScaleStatus :: { 22 22 // actual number of observed instances of the scaled object. 23 23 replicas: int32 @go(Replicas) @protobuf(1,varint,opt) 24 24 ··· 37 37 } 38 38 39 39 // represents a scaling request for a resource. 40 - Scale: metav1.TypeMeta & { 40 + Scale :: { 41 + (metav1.TypeMeta) 42 + 41 43 // Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. 42 44 // +optional 43 45 metadata?: metav1.ObjectMeta @go(ObjectMeta) @protobuf(1,bytes,opt) ··· 52 54 } 53 55 54 56 // Dummy definition 55 - ReplicationControllerDummy: metav1.TypeMeta & { 57 + ReplicationControllerDummy :: { 58 + (metav1.TypeMeta) 59 + 56 60 } 57 61 58 62 // DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the release notes for 59 63 // more information. 60 64 // Deployment enables declarative updates for Pods and ReplicaSets. 61 - Deployment: metav1.TypeMeta & { 65 + Deployment :: { 66 + (metav1.TypeMeta) 67 + 62 68 // Standard object metadata. 63 69 // +optional 64 70 metadata?: metav1.ObjectMeta @go(ObjectMeta) @protobuf(1,bytes,opt) ··· 73 79 } 74 80 75 81 // DeploymentSpec is the specification of the desired behavior of the Deployment. 76 - DeploymentSpec: { 82 + DeploymentSpec :: { 77 83 // Number of desired pods. This is a pointer to distinguish between explicit 78 84 // zero and not specified. Defaults to 1. 79 85 // +optional ··· 127 133 128 134 // DEPRECATED. 129 135 // DeploymentRollback stores the information required to rollback a deployment. 130 - DeploymentRollback: metav1.TypeMeta & { 136 + DeploymentRollback :: { 137 + (metav1.TypeMeta) 138 + 131 139 // Required: This must match the Name of a deployment. 132 140 name: string @go(Name) @protobuf(1,bytes,opt) 133 141 ··· 140 148 } 141 149 142 150 // DEPRECATED. 143 - RollbackConfig: { 151 + RollbackConfig :: { 144 152 // The revision to rollback to. If set to 0, rollback to the last revision. 145 153 // +optional 146 154 revision?: int64 @go(Revision) @protobuf(1,varint,opt) ··· 149 157 // DefaultDeploymentUniqueLabelKey is the default key of the selector that is added 150 158 // to existing RCs (and label key that is added to its pods) to prevent the existing RCs 151 159 // to select new pods (and old pods being select by new RC). 152 - DefaultDeploymentUniqueLabelKey: "pod-template-hash" 160 + DefaultDeploymentUniqueLabelKey :: "pod-template-hash" 153 161 154 162 // DeploymentStrategy describes how to replace existing pods with new ones. 155 - DeploymentStrategy: { 163 + DeploymentStrategy :: { 156 164 // Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate. 157 165 // +optional 158 166 type?: DeploymentStrategyType @go(Type) @protobuf(1,bytes,opt,casttype=DeploymentStrategyType) ··· 166 174 rollingUpdate?: null | RollingUpdateDeployment @go(RollingUpdate,*RollingUpdateDeployment) @protobuf(2,bytes,opt) 167 175 } 168 176 169 - DeploymentStrategyType: string // enumDeploymentStrategyType 177 + DeploymentStrategyType :: string // enumDeploymentStrategyType 170 178 171 - enumDeploymentStrategyType: 179 + enumDeploymentStrategyType :: 172 180 RecreateDeploymentStrategyType | 173 181 RollingUpdateDeploymentStrategyType 174 182 175 183 // Kill all existing pods before creating new ones. 176 - RecreateDeploymentStrategyType: DeploymentStrategyType & "Recreate" 184 + RecreateDeploymentStrategyType :: DeploymentStrategyType & "Recreate" 177 185 178 186 // Replace the old RCs by new one using rolling update i.e gradually scale down the old RCs and scale up the new one. 179 - RollingUpdateDeploymentStrategyType: DeploymentStrategyType & "RollingUpdate" 187 + RollingUpdateDeploymentStrategyType :: DeploymentStrategyType & "RollingUpdate" 180 188 181 189 // Spec to control the desired behavior of rolling update. 182 - RollingUpdateDeployment: { 190 + RollingUpdateDeployment :: { 183 191 // The maximum number of pods that can be unavailable during the update. 184 192 // Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). 185 193 // Absolute number is calculated from percentage by rounding down. ··· 209 217 } 210 218 211 219 // DeploymentStatus is the most recently observed status of the Deployment. 212 - DeploymentStatus: { 220 + DeploymentStatus :: { 213 221 // The generation observed by the deployment controller. 214 222 // +optional 215 223 observedGeneration?: int64 @go(ObservedGeneration) @protobuf(1,varint,opt) ··· 248 256 collisionCount?: null | int32 @go(CollisionCount,*int32) @protobuf(8,varint,opt) 249 257 } 250 258 251 - DeploymentConditionType: string // enumDeploymentConditionType 259 + DeploymentConditionType :: string // enumDeploymentConditionType 252 260 253 - enumDeploymentConditionType: 261 + enumDeploymentConditionType :: 254 262 DeploymentAvailable | 255 263 DeploymentProgressing | 256 264 DeploymentReplicaFailure 257 265 258 266 // Available means the deployment is available, ie. at least the minimum available 259 267 // replicas required are up and running for at least minReadySeconds. 260 - DeploymentAvailable: DeploymentConditionType & "Available" 268 + DeploymentAvailable :: DeploymentConditionType & "Available" 261 269 262 270 // Progressing means the deployment is progressing. Progress for a deployment is 263 271 // considered when a new replica set is created or adopted, and when new pods scale 264 272 // up or old pods scale down. Progress is not estimated for paused deployments or 265 273 // when progressDeadlineSeconds is not specified. 266 - DeploymentProgressing: DeploymentConditionType & "Progressing" 274 + DeploymentProgressing :: DeploymentConditionType & "Progressing" 267 275 268 276 // ReplicaFailure is added in a deployment when one of its pods fails to be created 269 277 // or deleted. 270 - DeploymentReplicaFailure: DeploymentConditionType & "ReplicaFailure" 278 + DeploymentReplicaFailure :: DeploymentConditionType & "ReplicaFailure" 271 279 272 280 // DeploymentCondition describes the state of a deployment at a certain point. 273 - DeploymentCondition: { 281 + DeploymentCondition :: { 274 282 // Type of deployment condition. 275 283 type: DeploymentConditionType @go(Type) @protobuf(1,bytes,opt,casttype=DeploymentConditionType) 276 284 ··· 291 299 } 292 300 293 301 // DeploymentList is a list of Deployments. 294 - DeploymentList: metav1.TypeMeta & { 302 + DeploymentList :: { 303 + (metav1.TypeMeta) 304 + 295 305 // Standard list metadata. 296 306 // +optional 297 307 metadata?: metav1.ListMeta @go(ListMeta) @protobuf(1,bytes,opt) ··· 300 310 items: [...Deployment] @go(Items,[]Deployment) @protobuf(2,bytes,rep) 301 311 } 302 312 303 - DaemonSetUpdateStrategy: { 313 + DaemonSetUpdateStrategy :: { 304 314 // Type of daemon set update. Can be "RollingUpdate" or "OnDelete". 305 315 // Default is OnDelete. 306 316 // +optional ··· 315 325 rollingUpdate?: null | RollingUpdateDaemonSet @go(RollingUpdate,*RollingUpdateDaemonSet) @protobuf(2,bytes,opt) 316 326 } 317 327 318 - DaemonSetUpdateStrategyType: string // enumDaemonSetUpdateStrategyType 328 + DaemonSetUpdateStrategyType :: string // enumDaemonSetUpdateStrategyType 319 329 320 - enumDaemonSetUpdateStrategyType: 330 + enumDaemonSetUpdateStrategyType :: 321 331 RollingUpdateDaemonSetStrategyType | 322 332 OnDeleteDaemonSetStrategyType 323 333 324 334 // Replace the old daemons by new ones using rolling update i.e replace them on each node one after the other. 325 - RollingUpdateDaemonSetStrategyType: DaemonSetUpdateStrategyType & "RollingUpdate" 335 + RollingUpdateDaemonSetStrategyType :: DaemonSetUpdateStrategyType & "RollingUpdate" 326 336 327 337 // Replace the old daemons only when it's killed 328 - OnDeleteDaemonSetStrategyType: DaemonSetUpdateStrategyType & "OnDelete" 338 + OnDeleteDaemonSetStrategyType :: DaemonSetUpdateStrategyType & "OnDelete" 329 339 330 340 // Spec to control the desired behavior of daemon set rolling update. 331 - RollingUpdateDaemonSet: { 341 + RollingUpdateDaemonSet :: { 332 342 // The maximum number of DaemonSet pods that can be unavailable during the 333 343 // update. Value can be an absolute number (ex: 5) or a percentage of total 334 344 // number of DaemonSet pods at the start of the update (ex: 10%). Absolute ··· 348 358 } 349 359 350 360 // DaemonSetSpec is the specification of a daemon set. 351 - DaemonSetSpec: { 361 + DaemonSetSpec :: { 352 362 // A label query over pods that are managed by the daemon set. 353 363 // Must match in order to be controlled. 354 364 // If empty, defaulted to labels on Pod template. ··· 388 398 } 389 399 390 400 // DaemonSetStatus represents the current status of a daemon set. 391 - DaemonSetStatus: { 401 + DaemonSetStatus :: { 392 402 // The number of nodes that are running at least 1 393 403 // daemon pod and are supposed to run the daemon pod. 394 404 // More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/ ··· 441 451 conditions?: [...DaemonSetCondition] @go(Conditions,[]DaemonSetCondition) @protobuf(10,bytes,rep) 442 452 } 443 453 444 - DaemonSetConditionType: string 454 + DaemonSetConditionType :: string 445 455 446 456 // DaemonSetCondition describes the state of a DaemonSet at a certain point. 447 - DaemonSetCondition: { 457 + DaemonSetCondition :: { 448 458 // Type of DaemonSet condition. 449 459 type: DaemonSetConditionType @go(Type) @protobuf(1,bytes,opt,casttype=DaemonSetConditionType) 450 460 ··· 467 477 // DEPRECATED - This group version of DaemonSet is deprecated by apps/v1beta2/DaemonSet. See the release notes for 468 478 // more information. 469 479 // DaemonSet represents the configuration of a daemon set. 470 - DaemonSet: metav1.TypeMeta & { 480 + DaemonSet :: { 481 + (metav1.TypeMeta) 482 + 471 483 // Standard object's metadata. 472 484 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 473 485 // +optional ··· 491 503 // DaemonSetTemplateGenerationKey is the key of the labels that is added 492 504 // to daemon set pods to distinguish between old and new pod templates 493 505 // during DaemonSet template update. 494 - DaemonSetTemplateGenerationKey: "pod-template-generation" 506 + DaemonSetTemplateGenerationKey :: "pod-template-generation" 495 507 496 508 // DefaultDaemonSetUniqueLabelKey is the default label key that is added 497 509 // to existing DaemonSet pods to distinguish between old and new 498 510 // DaemonSet pods during DaemonSet template updates. 499 - DefaultDaemonSetUniqueLabelKey: "controller-revision-hash" 511 + DefaultDaemonSetUniqueLabelKey :: "controller-revision-hash" 500 512 501 513 // DaemonSetList is a collection of daemon sets. 502 - DaemonSetList: metav1.TypeMeta & { 514 + DaemonSetList :: { 515 + (metav1.TypeMeta) 516 + 503 517 // Standard list metadata. 504 518 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 505 519 // +optional ··· 514 528 // externally-reachable urls, load balance traffic, terminate SSL, offer name 515 529 // based virtual hosting etc. 516 530 // DEPRECATED - This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for more information. 517 - Ingress: metav1.TypeMeta & { 531 + Ingress :: { 532 + (metav1.TypeMeta) 533 + 518 534 // Standard object's metadata. 519 535 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 520 536 // +optional ··· 532 548 } 533 549 534 550 // IngressList is a collection of Ingress. 535 - IngressList: metav1.TypeMeta & { 551 + IngressList :: { 552 + (metav1.TypeMeta) 553 + 536 554 // Standard object's metadata. 537 555 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 538 556 // +optional ··· 543 561 } 544 562 545 563 // IngressSpec describes the Ingress the user wishes to exist. 546 - IngressSpec: { 564 + IngressSpec :: { 547 565 // A default backend capable of servicing requests that don't match any 548 566 // rule. At least one of 'backend' or 'rules' must be specified. This field 549 567 // is optional to allow the loadbalancer controller or defaulting logic to ··· 566 584 } 567 585 568 586 // IngressTLS describes the transport layer security associated with an Ingress. 569 - IngressTLS: { 587 + IngressTLS :: { 570 588 // Hosts are a list of hosts included in the TLS certificate. The values in 571 589 // this list must match the name/s used in the tlsSecret. Defaults to the 572 590 // wildcard host setting for the loadbalancer controller fulfilling this ··· 584 602 } 585 603 586 604 // IngressStatus describe the current state of the Ingress. 587 - IngressStatus: { 605 + IngressStatus :: { 588 606 // LoadBalancer contains the current status of the load-balancer. 589 607 // +optional 590 608 loadBalancer?: v1.LoadBalancerStatus @go(LoadBalancer) @protobuf(1,bytes,opt) ··· 593 611 // IngressRule represents the rules mapping the paths under a specified host to 594 612 // the related backend services. Incoming requests are first evaluated for a host 595 613 // match, then routed to the backend associated with the matching IngressRuleValue. 596 - IngressRule: IngressRuleValue & { 614 + IngressRule :: { 597 615 // Host is the fully qualified domain name of a network host, as defined 598 616 // by RFC 3986. Note the following deviations from the "host" part of the 599 617 // URI as defined in the RFC: ··· 608 626 // specified IngressRuleValue. 609 627 // +optional 610 628 host?: string @go(Host) @protobuf(1,bytes,opt) 629 + 630 + (IngressRuleValue) 631 + 611 632 } 612 633 613 634 // IngressRuleValue represents a rule to apply against incoming requests. If the 614 635 // rule is satisfied, the request is routed to the specified backend. Currently 615 636 // mixing different types of rules in a single Ingress is disallowed, so exactly 616 637 // one of the following must be set. 617 - IngressRuleValue: { 638 + IngressRuleValue :: { 618 639 // +optional 619 640 http?: null | HTTPIngressRuleValue @go(HTTP,*HTTPIngressRuleValue) @protobuf(1,bytes,opt) 620 641 } ··· 624 645 // where parts of the url correspond to RFC 3986, this resource will be used 625 646 // to match against everything after the last '/' and before the first '?' 626 647 // or '#'. 627 - HTTPIngressRuleValue: { 648 + HTTPIngressRuleValue :: { 628 649 // A collection of paths that map requests to backends. 629 650 paths: [...HTTPIngressPath] @go(Paths,[]HTTPIngressPath) @protobuf(1,bytes,rep) 630 651 } 631 652 632 653 // HTTPIngressPath associates a path regex with a backend. Incoming urls matching 633 654 // the path are forwarded to the backend. 634 - HTTPIngressPath: { 655 + HTTPIngressPath :: { 635 656 // Path is an extended POSIX regex as defined by IEEE Std 1003.1, 636 657 // (i.e this follows the egrep/unix syntax, not the perl syntax) 637 658 // matched against the path of an incoming request. Currently it can ··· 648 669 } 649 670 650 671 // IngressBackend describes all endpoints for a given service and port. 651 - IngressBackend: { 672 + IngressBackend :: { 652 673 // Specifies the name of the referenced service. 653 674 serviceName: string @go(ServiceName) @protobuf(1,bytes,opt) 654 675 ··· 659 680 // DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See the release notes for 660 681 // more information. 661 682 // ReplicaSet ensures that a specified number of pod replicas are running at any given time. 662 - ReplicaSet: metav1.TypeMeta & { 683 + ReplicaSet :: { 684 + (metav1.TypeMeta) 685 + 663 686 // If the Labels of a ReplicaSet are empty, they are defaulted to 664 687 // be the same as the Pod(s) that the ReplicaSet manages. 665 688 // Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata ··· 681 704 } 682 705 683 706 // ReplicaSetList is a collection of ReplicaSets. 684 - ReplicaSetList: metav1.TypeMeta & { 707 + ReplicaSetList :: { 708 + (metav1.TypeMeta) 709 + 685 710 // Standard list metadata. 686 711 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 687 712 // +optional ··· 693 718 } 694 719 695 720 // ReplicaSetSpec is the specification of a ReplicaSet. 696 - ReplicaSetSpec: { 721 + ReplicaSetSpec :: { 697 722 // Replicas is the number of desired replicas. 698 723 // This is a pointer to distinguish between explicit zero and unspecified. 699 724 // Defaults to 1. ··· 722 747 } 723 748 724 749 // ReplicaSetStatus represents the current status of a ReplicaSet. 725 - ReplicaSetStatus: { 750 + ReplicaSetStatus :: { 726 751 // Replicas is the most recently oberved number of replicas. 727 752 // More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller 728 753 replicas: int32 @go(Replicas) @protobuf(1,varint,opt) ··· 750 775 conditions?: [...ReplicaSetCondition] @go(Conditions,[]ReplicaSetCondition) @protobuf(6,bytes,rep) 751 776 } 752 777 753 - ReplicaSetConditionType: string // enumReplicaSetConditionType 778 + ReplicaSetConditionType :: string // enumReplicaSetConditionType 754 779 755 - enumReplicaSetConditionType: 780 + enumReplicaSetConditionType :: 756 781 ReplicaSetReplicaFailure 757 782 758 783 // ReplicaSetReplicaFailure is added in a replica set when one of its pods fails to be created 759 784 // due to insufficient quota, limit ranges, pod security policy, node selectors, etc. or deleted 760 785 // due to kubelet being down or finalizers are failing. 761 - ReplicaSetReplicaFailure: ReplicaSetConditionType & "ReplicaFailure" 786 + ReplicaSetReplicaFailure :: ReplicaSetConditionType & "ReplicaFailure" 762 787 763 788 // ReplicaSetCondition describes the state of a replica set at a certain point. 764 - ReplicaSetCondition: { 789 + ReplicaSetCondition :: { 765 790 // Type of replica set condition. 766 791 type: ReplicaSetConditionType @go(Type) @protobuf(1,bytes,opt,casttype=ReplicaSetConditionType) 767 792 ··· 784 809 // PodSecurityPolicy governs the ability to make requests that affect the Security Context 785 810 // that will be applied to a pod and container. 786 811 // Deprecated: use PodSecurityPolicy from policy API Group instead. 787 - PodSecurityPolicy: metav1.TypeMeta & { 812 + PodSecurityPolicy :: { 813 + (metav1.TypeMeta) 814 + 788 815 // Standard object's metadata. 789 816 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 790 817 // +optional ··· 797 824 798 825 // PodSecurityPolicySpec defines the policy enforced. 799 826 // Deprecated: use PodSecurityPolicySpec from policy API Group instead. 800 - PodSecurityPolicySpec: { 827 + PodSecurityPolicySpec :: { 801 828 // privileged determines if a pod can request to be run as privileged. 802 829 // +optional 803 830 privileged?: bool @go(Privileged) @protobuf(1,varint,opt) ··· 930 957 // AllowedHostPath defines the host volume conditions that will be enabled by a policy 931 958 // for pods to use. It requires the path prefix to be defined. 932 959 // Deprecated: use AllowedHostPath from policy API Group instead. 933 - AllowedHostPath: { 960 + AllowedHostPath :: { 934 961 // pathPrefix is the path prefix that the host volume must match. 935 962 // It does not support `*`. 936 963 // Trailing slashes are trimmed when validating the path prefix with a host path. ··· 947 974 948 975 // FSType gives strong typing to different file systems that are used by volumes. 949 976 // Deprecated: use FSType from policy API Group instead. 950 - FSType: string 977 + FSType :: string 951 978 952 979 // AllowedFlexVolume represents a single Flexvolume that is allowed to be used. 953 980 // Deprecated: use AllowedFlexVolume from policy API Group instead. 954 - AllowedFlexVolume: { 981 + AllowedFlexVolume :: { 955 982 // driver is the name of the Flexvolume driver. 956 983 driver: string @go(Driver) @protobuf(1,bytes,opt) 957 984 } 958 985 959 986 // AllowedCSIDriver represents a single inline CSI Driver that is allowed to be used. 960 - AllowedCSIDriver: { 987 + AllowedCSIDriver :: { 961 988 // Name is the registered name of the CSI driver 962 989 name: string @go(Name) @protobuf(1,bytes,opt) 963 990 } ··· 965 992 // HostPortRange defines a range of host ports that will be enabled by a policy 966 993 // for pods to use. It requires both the start and end to be defined. 967 994 // Deprecated: use HostPortRange from policy API Group instead. 968 - HostPortRange: { 995 + HostPortRange :: { 969 996 // min is the start of the range, inclusive. 970 997 min: int32 @go(Min) @protobuf(1,varint,opt) 971 998 ··· 975 1002 976 1003 // SELinuxStrategyOptions defines the strategy type and any options used to create the strategy. 977 1004 // Deprecated: use SELinuxStrategyOptions from policy API Group instead. 978 - SELinuxStrategyOptions: { 1005 + SELinuxStrategyOptions :: { 979 1006 // rule is the strategy that will dictate the allowable labels that may be set. 980 1007 rule: SELinuxStrategy @go(Rule) @protobuf(1,bytes,opt,casttype=SELinuxStrategy) 981 1008 ··· 988 1015 // SELinuxStrategy denotes strategy types for generating SELinux options for a 989 1016 // Security Context. 990 1017 // Deprecated: use SELinuxStrategy from policy API Group instead. 991 - SELinuxStrategy: string // enumSELinuxStrategy 1018 + SELinuxStrategy :: string // enumSELinuxStrategy 992 1019 993 - enumSELinuxStrategy: 1020 + enumSELinuxStrategy :: 994 1021 SELinuxStrategyMustRunAs | 995 1022 SELinuxStrategyRunAsAny 996 1023 997 1024 // SELinuxStrategyMustRunAs means that container must have SELinux labels of X applied. 998 1025 // Deprecated: use SELinuxStrategyMustRunAs from policy API Group instead. 999 - SELinuxStrategyMustRunAs: SELinuxStrategy & "MustRunAs" 1026 + SELinuxStrategyMustRunAs :: SELinuxStrategy & "MustRunAs" 1000 1027 1001 1028 // SELinuxStrategyRunAsAny means that container may make requests for any SELinux context labels. 1002 1029 // Deprecated: use SELinuxStrategyRunAsAny from policy API Group instead. 1003 - SELinuxStrategyRunAsAny: SELinuxStrategy & "RunAsAny" 1030 + SELinuxStrategyRunAsAny :: SELinuxStrategy & "RunAsAny" 1004 1031 1005 1032 // RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy. 1006 1033 // Deprecated: use RunAsUserStrategyOptions from policy API Group instead. 1007 - RunAsUserStrategyOptions: { 1034 + RunAsUserStrategyOptions :: { 1008 1035 // rule is the strategy that will dictate the allowable RunAsUser values that may be set. 1009 1036 rule: RunAsUserStrategy @go(Rule) @protobuf(1,bytes,opt,casttype=RunAsUserStrategy) 1010 1037 ··· 1016 1043 1017 1044 // RunAsGroupStrategyOptions defines the strategy type and any options used to create the strategy. 1018 1045 // Deprecated: use RunAsGroupStrategyOptions from policy API Group instead. 1019 - RunAsGroupStrategyOptions: { 1046 + RunAsGroupStrategyOptions :: { 1020 1047 // rule is the strategy that will dictate the allowable RunAsGroup values that may be set. 1021 1048 rule: RunAsGroupStrategy @go(Rule) @protobuf(1,bytes,opt,casttype=RunAsGroupStrategy) 1022 1049 ··· 1028 1055 1029 1056 // IDRange provides a min/max of an allowed range of IDs. 1030 1057 // Deprecated: use IDRange from policy API Group instead. 1031 - IDRange: { 1058 + IDRange :: { 1032 1059 // min is the start of the range, inclusive. 1033 1060 min: int64 @go(Min) @protobuf(1,varint,opt) 1034 1061 ··· 1039 1066 // RunAsUserStrategy denotes strategy types for generating RunAsUser values for a 1040 1067 // Security Context. 1041 1068 // Deprecated: use RunAsUserStrategy from policy API Group instead. 1042 - RunAsUserStrategy: string // enumRunAsUserStrategy 1069 + RunAsUserStrategy :: string // enumRunAsUserStrategy 1043 1070 1044 - enumRunAsUserStrategy: 1071 + enumRunAsUserStrategy :: 1045 1072 RunAsUserStrategyMustRunAs | 1046 1073 RunAsUserStrategyMustRunAsNonRoot | 1047 1074 RunAsUserStrategyRunAsAny 1048 1075 1049 1076 // RunAsUserStrategyMustRunAs means that container must run as a particular uid. 1050 1077 // Deprecated: use RunAsUserStrategyMustRunAs from policy API Group instead. 1051 - RunAsUserStrategyMustRunAs: RunAsUserStrategy & "MustRunAs" 1078 + RunAsUserStrategyMustRunAs :: RunAsUserStrategy & "MustRunAs" 1052 1079 1053 1080 // RunAsUserStrategyMustRunAsNonRoot means that container must run as a non-root uid. 1054 1081 // Deprecated: use RunAsUserStrategyMustRunAsNonRoot from policy API Group instead. 1055 - RunAsUserStrategyMustRunAsNonRoot: RunAsUserStrategy & "MustRunAsNonRoot" 1082 + RunAsUserStrategyMustRunAsNonRoot :: RunAsUserStrategy & "MustRunAsNonRoot" 1056 1083 1057 1084 // RunAsUserStrategyRunAsAny means that container may make requests for any uid. 1058 1085 // Deprecated: use RunAsUserStrategyRunAsAny from policy API Group instead. 1059 - RunAsUserStrategyRunAsAny: RunAsUserStrategy & "RunAsAny" 1086 + RunAsUserStrategyRunAsAny :: RunAsUserStrategy & "RunAsAny" 1060 1087 1061 1088 // RunAsGroupStrategy denotes strategy types for generating RunAsGroup values for a 1062 1089 // Security Context. 1063 1090 // Deprecated: use RunAsGroupStrategy from policy API Group instead. 1064 - RunAsGroupStrategy: string // enumRunAsGroupStrategy 1091 + RunAsGroupStrategy :: string // enumRunAsGroupStrategy 1065 1092 1066 - enumRunAsGroupStrategy: 1093 + enumRunAsGroupStrategy :: 1067 1094 RunAsGroupStrategyMayRunAs | 1068 1095 RunAsGroupStrategyMustRunAs | 1069 1096 RunAsGroupStrategyRunAsAny 1070 1097 1071 1098 // RunAsGroupStrategyMayRunAs means that container does not need to run with a particular gid. 1072 1099 // However, when RunAsGroup are specified, they have to fall in the defined range. 1073 - RunAsGroupStrategyMayRunAs: RunAsGroupStrategy & "MayRunAs" 1100 + RunAsGroupStrategyMayRunAs :: RunAsGroupStrategy & "MayRunAs" 1074 1101 1075 1102 // RunAsGroupStrategyMustRunAs means that container must run as a particular gid. 1076 1103 // Deprecated: use RunAsGroupStrategyMustRunAs from policy API Group instead. 1077 - RunAsGroupStrategyMustRunAs: RunAsGroupStrategy & "MustRunAs" 1104 + RunAsGroupStrategyMustRunAs :: RunAsGroupStrategy & "MustRunAs" 1078 1105 1079 1106 // RunAsGroupStrategyRunAsAny means that container may make requests for any gid. 1080 1107 // Deprecated: use RunAsGroupStrategyRunAsAny from policy API Group instead. 1081 - RunAsGroupStrategyRunAsAny: RunAsGroupStrategy & "RunAsAny" 1108 + RunAsGroupStrategyRunAsAny :: RunAsGroupStrategy & "RunAsAny" 1082 1109 1083 1110 // FSGroupStrategyOptions defines the strategy type and options used to create the strategy. 1084 1111 // Deprecated: use FSGroupStrategyOptions from policy API Group instead. 1085 - FSGroupStrategyOptions: { 1112 + FSGroupStrategyOptions :: { 1086 1113 // rule is the strategy that will dictate what FSGroup is used in the SecurityContext. 1087 1114 // +optional 1088 1115 rule?: FSGroupStrategyType @go(Rule) @protobuf(1,bytes,opt,casttype=FSGroupStrategyType) ··· 1096 1123 // FSGroupStrategyType denotes strategy types for generating FSGroup values for a 1097 1124 // SecurityContext 1098 1125 // Deprecated: use FSGroupStrategyType from policy API Group instead. 1099 - FSGroupStrategyType: string // enumFSGroupStrategyType 1126 + FSGroupStrategyType :: string // enumFSGroupStrategyType 1100 1127 1101 - enumFSGroupStrategyType: 1128 + enumFSGroupStrategyType :: 1102 1129 FSGroupStrategyMustRunAs | 1103 1130 FSGroupStrategyRunAsAny 1104 1131 1105 1132 // FSGroupStrategyMustRunAs meant that container must have FSGroup of X applied. 1106 1133 // Deprecated: use FSGroupStrategyMustRunAs from policy API Group instead. 1107 - FSGroupStrategyMustRunAs: FSGroupStrategyType & "MustRunAs" 1134 + FSGroupStrategyMustRunAs :: FSGroupStrategyType & "MustRunAs" 1108 1135 1109 1136 // FSGroupStrategyRunAsAny means that container may make requests for any FSGroup labels. 1110 1137 // Deprecated: use FSGroupStrategyRunAsAny from policy API Group instead. 1111 - FSGroupStrategyRunAsAny: FSGroupStrategyType & "RunAsAny" 1138 + FSGroupStrategyRunAsAny :: FSGroupStrategyType & "RunAsAny" 1112 1139 1113 1140 // SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy. 1114 1141 // Deprecated: use SupplementalGroupsStrategyOptions from policy API Group instead. 1115 - SupplementalGroupsStrategyOptions: { 1142 + SupplementalGroupsStrategyOptions :: { 1116 1143 // rule is the strategy that will dictate what supplemental groups is used in the SecurityContext. 1117 1144 // +optional 1118 1145 rule?: SupplementalGroupsStrategyType @go(Rule) @protobuf(1,bytes,opt,casttype=SupplementalGroupsStrategyType) ··· 1126 1153 // SupplementalGroupsStrategyType denotes strategy types for determining valid supplemental 1127 1154 // groups for a SecurityContext. 1128 1155 // Deprecated: use SupplementalGroupsStrategyType from policy API Group instead. 1129 - SupplementalGroupsStrategyType: string // enumSupplementalGroupsStrategyType 1156 + SupplementalGroupsStrategyType :: string // enumSupplementalGroupsStrategyType 1130 1157 1131 - enumSupplementalGroupsStrategyType: 1158 + enumSupplementalGroupsStrategyType :: 1132 1159 SupplementalGroupsStrategyMustRunAs | 1133 1160 SupplementalGroupsStrategyRunAsAny 1134 1161 1135 1162 // SupplementalGroupsStrategyMustRunAs means that container must run as a particular gid. 1136 1163 // Deprecated: use SupplementalGroupsStrategyMustRunAs from policy API Group instead. 1137 - SupplementalGroupsStrategyMustRunAs: SupplementalGroupsStrategyType & "MustRunAs" 1164 + SupplementalGroupsStrategyMustRunAs :: SupplementalGroupsStrategyType & "MustRunAs" 1138 1165 1139 1166 // SupplementalGroupsStrategyRunAsAny means that container may make requests for any gid. 1140 1167 // Deprecated: use SupplementalGroupsStrategyRunAsAny from policy API Group instead. 1141 - SupplementalGroupsStrategyRunAsAny: SupplementalGroupsStrategyType & "RunAsAny" 1168 + SupplementalGroupsStrategyRunAsAny :: SupplementalGroupsStrategyType & "RunAsAny" 1142 1169 1143 1170 // RuntimeClassStrategyOptions define the strategy that will dictate the allowable RuntimeClasses 1144 1171 // for a pod. 1145 - RuntimeClassStrategyOptions: { 1172 + RuntimeClassStrategyOptions :: { 1146 1173 // allowedRuntimeClassNames is a whitelist of RuntimeClass names that may be specified on a pod. 1147 1174 // A value of "*" means that any RuntimeClass name is allowed, and must be the only item in the 1148 1175 // list. An empty list requires the RuntimeClassName field to be unset. ··· 1155 1182 defaultRuntimeClassName?: null | string @go(DefaultRuntimeClassName,*string) @protobuf(2,bytes,opt) 1156 1183 } 1157 1184 1158 - AllowAllRuntimeClassNames: "*" 1185 + AllowAllRuntimeClassNames :: "*" 1159 1186 1160 1187 // PodSecurityPolicyList is a list of PodSecurityPolicy objects. 1161 1188 // Deprecated: use PodSecurityPolicyList from policy API Group instead. 1162 - PodSecurityPolicyList: metav1.TypeMeta & { 1189 + PodSecurityPolicyList :: { 1190 + (metav1.TypeMeta) 1191 + 1163 1192 // Standard list metadata. 1164 1193 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 1165 1194 // +optional ··· 1171 1200 1172 1201 // DEPRECATED 1.9 - This group version of NetworkPolicy is deprecated by networking/v1/NetworkPolicy. 1173 1202 // NetworkPolicy describes what network traffic is allowed for a set of Pods 1174 - NetworkPolicy: metav1.TypeMeta & { 1203 + NetworkPolicy :: { 1204 + (metav1.TypeMeta) 1205 + 1175 1206 // Standard object's metadata. 1176 1207 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 1177 1208 // +optional ··· 1185 1216 // DEPRECATED 1.9 - This group version of PolicyType is deprecated by networking/v1/PolicyType. 1186 1217 // Policy Type string describes the NetworkPolicy type 1187 1218 // This type is beta-level in 1.8 1188 - PolicyType: string // enumPolicyType 1219 + PolicyType :: string // enumPolicyType 1189 1220 1190 - enumPolicyType: 1221 + enumPolicyType :: 1191 1222 PolicyTypeIngress | 1192 1223 PolicyTypeEgress 1193 1224 1194 1225 // PolicyTypeIngress is a NetworkPolicy that affects ingress traffic on selected pods 1195 - PolicyTypeIngress: PolicyType & "Ingress" 1226 + PolicyTypeIngress :: PolicyType & "Ingress" 1196 1227 1197 1228 // PolicyTypeEgress is a NetworkPolicy that affects egress traffic on selected pods 1198 - PolicyTypeEgress: PolicyType & "Egress" 1229 + PolicyTypeEgress :: PolicyType & "Egress" 1199 1230 1200 1231 // DEPRECATED 1.9 - This group version of NetworkPolicySpec is deprecated by networking/v1/NetworkPolicySpec. 1201 - NetworkPolicySpec: { 1232 + NetworkPolicySpec :: { 1202 1233 // Selects the pods to which this NetworkPolicy object applies. The array of ingress rules 1203 1234 // is applied to any pods selected by this field. Multiple network policies can select the 1204 1235 // same set of pods. In this case, the ingress rules for each are combined additively. ··· 1242 1273 1243 1274 // DEPRECATED 1.9 - This group version of NetworkPolicyIngressRule is deprecated by networking/v1/NetworkPolicyIngressRule. 1244 1275 // This NetworkPolicyIngressRule matches traffic if and only if the traffic matches both ports AND from. 1245 - NetworkPolicyIngressRule: { 1276 + NetworkPolicyIngressRule :: { 1246 1277 // List of ports which should be made accessible on the pods selected for this rule. 1247 1278 // Each item in this list is combined using a logical OR. 1248 1279 // If this field is empty or missing, this rule matches all ports (traffic not restricted by port). ··· 1264 1295 // NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods 1265 1296 // matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to. 1266 1297 // This type is beta-level in 1.8 1267 - NetworkPolicyEgressRule: { 1298 + NetworkPolicyEgressRule :: { 1268 1299 // List of destination ports for outgoing traffic. 1269 1300 // Each item in this list is combined using a logical OR. If this field is 1270 1301 // empty or missing, this rule matches all ports (traffic not restricted by port). ··· 1283 1314 } 1284 1315 1285 1316 // DEPRECATED 1.9 - This group version of NetworkPolicyPort is deprecated by networking/v1/NetworkPolicyPort. 1286 - NetworkPolicyPort: { 1317 + NetworkPolicyPort :: { 1287 1318 // Optional. The protocol (TCP, UDP, or SCTP) which traffic must match. 1288 1319 // If not specified, this field defaults to TCP. 1289 1320 // +optional ··· 1302 1333 // IPBlock describes a particular CIDR (Ex. "192.168.1.1/24") that is allowed to the pods 1303 1334 // matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs that should 1304 1335 // not be included within this rule. 1305 - IPBlock: { 1336 + IPBlock :: { 1306 1337 // CIDR is a string representing the IP Block 1307 1338 // Valid examples are "192.168.1.1/24" 1308 1339 cidr: string @go(CIDR) @protobuf(1,bytes) ··· 1315 1346 } 1316 1347 1317 1348 // DEPRECATED 1.9 - This group version of NetworkPolicyPeer is deprecated by networking/v1/NetworkPolicyPeer. 1318 - NetworkPolicyPeer: { 1349 + NetworkPolicyPeer :: { 1319 1350 // This is a label selector which selects Pods. This field follows standard label 1320 1351 // selector semantics; if present but empty, it selects all pods. 1321 1352 // ··· 1342 1373 1343 1374 // DEPRECATED 1.9 - This group version of NetworkPolicyList is deprecated by networking/v1/NetworkPolicyList. 1344 1375 // Network Policy List is a list of NetworkPolicy objects. 1345 - NetworkPolicyList: metav1.TypeMeta & { 1376 + NetworkPolicyList :: { 1377 + (metav1.TypeMeta) 1378 + 1346 1379 // Standard list metadata. 1347 1380 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 1348 1381 // +optional
+11 -11
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/api/resource/amount_go_gen.cue
··· 7 7 // Scale is used for getting and setting the base-10 scaled value. 8 8 // Base-2 scales are omitted for mathematical simplicity. 9 9 // See Quantity.ScaledValue for more details. 10 - Scale: int32 // enumScale 10 + Scale :: int32 // enumScale 11 11 12 - enumScale: 12 + enumScale :: 13 13 Nano | 14 14 Micro | 15 15 Milli | ··· 20 20 Peta | 21 21 Exa 22 22 23 - Nano: Scale & -9 24 - Micro: Scale & -6 25 - Milli: Scale & -3 26 - Kilo: Scale & 3 27 - Mega: Scale & 6 28 - Giga: Scale & 9 29 - Tera: Scale & 12 30 - Peta: Scale & 15 31 - Exa: Scale & 18 23 + Nano :: Scale & -9 24 + Micro :: Scale & -6 25 + Milli :: Scale & -3 26 + Kilo :: Scale & 3 27 + Mega :: Scale & 6 28 + Giga :: Scale & 9 29 + Tera :: Scale & 12 30 + Peta :: Scale & 15 31 + Exa :: Scale & 18
+7 -7
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/api/resource/quantity_go_gen.cue
··· 62 62 // +protobuf.options.(gogoproto.goproto_stringer)=false 63 63 // +k8s:deepcopy-gen=true 64 64 // +k8s:openapi-gen=true 65 - Quantity: _ 65 + Quantity :: _ 66 66 67 67 // CanonicalValue allows a quantity amount to be converted to a string. 68 - CanonicalValue: _ 68 + CanonicalValue :: _ 69 69 70 70 // Format lists the three possible formattings of a quantity. 71 - Format: string // enumFormat 71 + Format :: string // enumFormat 72 72 73 - enumFormat: 73 + enumFormat :: 74 74 DecimalExponent | 75 75 BinarySI | 76 76 DecimalSI 77 77 78 - DecimalExponent: Format & "DecimalExponent" 79 - BinarySI: Format & "BinarySI" 80 - DecimalSI: Format & "DecimalSI" 78 + DecimalExponent :: Format & "DecimalExponent" 79 + BinarySI :: Format & "BinarySI" 80 + DecimalSI :: Format & "DecimalSI"
+1 -1
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/duration_go_gen.cue
··· 7 7 // Duration is a wrapper around time.Duration which supports correct 8 8 // marshaling to YAML and JSON. In particular, it marshals into strings, which 9 9 // can be used as map keys in json. 10 - Duration: _ 10 + Duration :: _
+5 -5
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/group_version_go_gen.cue
··· 8 8 // concepts during lookup stages without having partially valid types 9 9 // 10 10 // +protobuf.options.(gogoproto.goproto_stringer)=false 11 - GroupResource: { 11 + GroupResource :: { 12 12 group: string @go(Group) @protobuf(1,bytes,opt) 13 13 resource: string @go(Resource) @protobuf(2,bytes,opt) 14 14 } ··· 17 17 // to avoid automatic coersion. It doesn't use a GroupVersion to avoid custom marshalling 18 18 // 19 19 // +protobuf.options.(gogoproto.goproto_stringer)=false 20 - GroupVersionResource: { 20 + GroupVersionResource :: { 21 21 group: string @go(Group) @protobuf(1,bytes,opt) 22 22 version: string @go(Version) @protobuf(2,bytes,opt) 23 23 resource: string @go(Resource) @protobuf(3,bytes,opt) ··· 27 27 // concepts during lookup stages without having partially valid types 28 28 // 29 29 // +protobuf.options.(gogoproto.goproto_stringer)=false 30 - GroupKind: { 30 + GroupKind :: { 31 31 group: string @go(Group) @protobuf(1,bytes,opt) 32 32 kind: string @go(Kind) @protobuf(2,bytes,opt) 33 33 } ··· 36 36 // to avoid automatic coersion. It doesn't use a GroupVersion to avoid custom marshalling 37 37 // 38 38 // +protobuf.options.(gogoproto.goproto_stringer)=false 39 - GroupVersionKind: { 39 + GroupVersionKind :: { 40 40 group: string @go(Group) @protobuf(1,bytes,opt) 41 41 version: string @go(Version) @protobuf(2,bytes,opt) 42 42 kind: string @go(Kind) @protobuf(3,bytes,opt) ··· 45 45 // GroupVersion contains the "group" and the "version", which uniquely identifies the API. 46 46 // 47 47 // +protobuf.options.(gogoproto.goproto_stringer)=false 48 - GroupVersion: _ 48 + GroupVersion :: _
+6 -6
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/meta_go_gen.cue
··· 5 5 package v1 6 6 7 7 // TODO: move this, Object, List, and Type to a different package 8 - ObjectMetaAccessor: _ 8 + ObjectMetaAccessor :: _ 9 9 10 10 // Object lets you work with object metadata from any of the versioned or 11 11 // internal API objects. Attempting to set or retrieve a field on an object that does 12 12 // not support that field (Name, UID, Namespace on lists) will be a no-op and return 13 13 // a default value. 14 - Object: _ 14 + Object :: _ 15 15 16 16 // ListMetaAccessor retrieves the list interface from an object 17 - ListMetaAccessor: _ 17 + ListMetaAccessor :: _ 18 18 19 19 // Common lets you work with core metadata from any of the versioned or 20 20 // internal API objects. Attempting to set or retrieve a field on an object that does 21 21 // not support that field will be a no-op and return a default value. 22 22 // TODO: move this, and TypeMeta and ListMeta, to a different package 23 - Common: _ 23 + Common :: _ 24 24 25 25 // ListInterface lets you work with list metadata from any of the versioned or 26 26 // internal API objects. Attempting to set or retrieve a field on an object that does 27 27 // not support that field will be a no-op and return a default value. 28 28 // TODO: move this, and TypeMeta and ListMeta, to a different package 29 - ListInterface: _ 29 + ListInterface :: _ 30 30 31 31 // Type exposes the type and APIVersion of versioned or internal API objects. 32 32 // TODO: move this, and TypeMeta and ListMeta, to a different package 33 - Type: _ 33 + Type :: _
+2 -2
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/micro_time_go_gen.cue
··· 4 4 5 5 package v1 6 6 7 - RFC3339Micro: "2006-01-02T15:04:05.000000Z07:00" 7 + RFC3339Micro :: "2006-01-02T15:04:05.000000Z07:00" 8 8 9 9 // MicroTime is version of Time with microsecond level precision. 10 10 // 11 11 // +protobuf.options.marshal=false 12 12 // +protobuf.as=Timestamp 13 13 // +protobuf.options.(gogoproto.goproto_stringer)=false 14 - MicroTime: _ 14 + MicroTime :: _
+2 -2
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/register_go_gen.cue
··· 4 4 5 5 package v1 6 6 7 - GroupName: "meta.k8s.io" 7 + GroupName :: "meta.k8s.io" 8 8 9 - WatchEventKind: "WatchEvent" 9 + WatchEventKind :: "WatchEvent"
+1 -1
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/time_go_gen.cue
··· 11 11 // +protobuf.options.marshal=false 12 12 // +protobuf.as=Timestamp 13 13 // +protobuf.options.(gogoproto.goproto_stringer)=false 14 - Time: _ 14 + Time :: _
+1 -1
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/time_proto_go_gen.cue
··· 7 7 // Timestamp is a struct that is equivalent to Time, but intended for 8 8 // protobuf marshalling/unmarshalling. It is generated into a serialization 9 9 // that matches Time. Do not use in Go structs. 10 - Timestamp: { 10 + Timestamp :: { 11 11 // Represents seconds of UTC time since Unix epoch 12 12 // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 13 13 // 9999-12-31T23:59:59Z inclusive.
+139 -105
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/types_go_gen.cue
··· 23 23 // Structures that are versioned or persisted should inline TypeMeta. 24 24 // 25 25 // +k8s:deepcopy-gen=false 26 - TypeMeta: { 26 + TypeMeta :: { 27 27 // Kind is a string value representing the REST resource this object represents. 28 28 // Servers may infer this from the endpoint the client submits requests to. 29 29 // Cannot be updated. ··· 42 42 43 43 // ListMeta describes metadata that synthetic resources must have, including lists and 44 44 // various status objects. A resource may have only one of {ObjectMeta, ListMeta}. 45 - ListMeta: { 45 + ListMeta :: { 46 46 // selfLink is a URL representing this object. 47 47 // Populated by the system. 48 48 // Read-only. ··· 84 84 remainingItemCount?: null | int64 @go(RemainingItemCount,*int64) @protobuf(4,bytes,opt) 85 85 } 86 86 87 - FinalizerOrphanDependents: "orphan" 88 - FinalizerDeleteDependents: "foregroundDeletion" 87 + FinalizerOrphanDependents :: "orphan" 88 + FinalizerDeleteDependents :: "foregroundDeletion" 89 89 90 90 // ObjectMeta is metadata that all persisted resources must have, which includes all objects 91 91 // users must create. 92 - ObjectMeta: { 92 + ObjectMeta :: { 93 93 // Name must be unique within a namespace. Is required when creating resources, although 94 94 // some resources may allow a client to request the generation of an appropriate name 95 95 // automatically. Name is primarily intended for creation idempotence and configuration ··· 257 257 } 258 258 259 259 // NamespaceDefault means the object is in the default namespace which is applied when not specified by clients 260 - NamespaceDefault: "default" 260 + NamespaceDefault :: "default" 261 261 262 262 // NamespaceAll is the default argument to specify on a context when you want to list or filter resources across all namespaces 263 - NamespaceAll: "" 263 + NamespaceAll :: "" 264 264 265 265 // NamespaceNone is the argument for a context when there is no namespace. 266 - NamespaceNone: "" 266 + NamespaceNone :: "" 267 267 268 268 // NamespaceSystem is the system namespace where we place system components. 269 - NamespaceSystem: "kube-system" 269 + NamespaceSystem :: "kube-system" 270 270 271 271 // NamespacePublic is the namespace where we place public info (ConfigMaps) 272 - NamespacePublic: "kube-public" 272 + NamespacePublic :: "kube-public" 273 273 274 274 // OwnerReference contains enough information to let you identify an owning 275 275 // object. An owning object must be in the same namespace as the dependent, or 276 276 // be cluster-scoped, so there is no namespace field. 277 - OwnerReference: { 277 + OwnerReference :: { 278 278 // API version of the referent. 279 279 apiVersion: string @go(APIVersion) @protobuf(5,bytes,opt) 280 280 ··· 305 305 } 306 306 307 307 // ListOptions is the query options to a standard REST list call. 308 - ListOptions: TypeMeta & { 308 + ListOptions :: { 309 + (TypeMeta) 310 + 309 311 // A selector to restrict the list of returned objects by their labels. 310 312 // Defaults to everything. 311 313 // +optional ··· 386 388 387 389 // ExportOptions is the query options to the standard REST get call. 388 390 // Deprecated. Planned for removal in 1.18. 389 - ExportOptions: TypeMeta & { 391 + ExportOptions :: { 392 + (TypeMeta) 393 + 390 394 // Should this value be exported. Export strips fields that a user can not specify. 391 395 // Deprecated. Planned for removal in 1.18. 392 396 export: bool @go(Export) @protobuf(1,varint,opt) ··· 397 401 } 398 402 399 403 // GetOptions is the standard query options to the standard REST get call. 400 - GetOptions: TypeMeta & { 404 + GetOptions :: { 405 + (TypeMeta) 406 + 401 407 // When specified: 402 408 // - if unset, then the result is returned from remote storage based on quorum-read flag; 403 409 // - if it's 0, then we simply return what we currently have in cache, no guarantee; ··· 407 413 408 414 // DeletionPropagation decides if a deletion will propagate to the dependents of 409 415 // the object, and how the garbage collector will handle the propagation. 410 - DeletionPropagation: string // enumDeletionPropagation 416 + DeletionPropagation :: string // enumDeletionPropagation 411 417 412 - enumDeletionPropagation: 418 + enumDeletionPropagation :: 413 419 DeletePropagationOrphan | 414 420 DeletePropagationBackground | 415 421 DeletePropagationForeground 416 422 417 423 // Orphans the dependents. 418 - DeletePropagationOrphan: DeletionPropagation & "Orphan" 424 + DeletePropagationOrphan :: DeletionPropagation & "Orphan" 419 425 420 426 // Deletes the object from the key-value store, the garbage collector will 421 427 // delete the dependents in the background. 422 - DeletePropagationBackground: DeletionPropagation & "Background" 428 + DeletePropagationBackground :: DeletionPropagation & "Background" 423 429 424 430 // The object exists in the key-value store until the garbage collector 425 431 // deletes all the dependents whose ownerReference.blockOwnerDeletion=true 426 432 // from the key-value store. API sever will put the "foregroundDeletion" 427 433 // finalizer on the object, and sets its deletionTimestamp. This policy is 428 434 // cascading, i.e., the dependents will be deleted with Foreground. 429 - DeletePropagationForeground: DeletionPropagation & "Foreground" 435 + DeletePropagationForeground :: DeletionPropagation & "Foreground" 430 436 431 437 // DryRunAll means to complete all processing stages, but don't 432 438 // persist changes to storage. 433 - DryRunAll: "All" 439 + DryRunAll :: "All" 434 440 435 441 // DeleteOptions may be provided when deleting an API object. 436 - DeleteOptions: TypeMeta & { 442 + DeleteOptions :: { 443 + (TypeMeta) 444 + 437 445 // The duration in seconds before the object should be deleted. Value must be non-negative integer. 438 446 // The value zero indicates delete immediately. If this value is nil, the default grace period for the 439 447 // specified type will be used. ··· 474 482 } 475 483 476 484 // CreateOptions may be provided when creating an API object. 477 - CreateOptions: TypeMeta & { 485 + CreateOptions :: { 486 + (TypeMeta) 487 + 478 488 // When present, indicates that modifications should not be 479 489 // persisted. An invalid or unrecognized dryRun directive will 480 490 // result in an error response and no further processing of the ··· 493 503 494 504 // PatchOptions may be provided when patching an API object. 495 505 // PatchOptions is meant to be a superset of UpdateOptions. 496 - PatchOptions: TypeMeta & { 506 + PatchOptions :: { 507 + (TypeMeta) 508 + 497 509 // When present, indicates that modifications should not be 498 510 // persisted. An invalid or unrecognized dryRun directive will 499 511 // result in an error response and no further processing of the ··· 521 533 522 534 // UpdateOptions may be provided when updating an API object. 523 535 // All fields in UpdateOptions should also be present in PatchOptions. 524 - UpdateOptions: TypeMeta & { 536 + UpdateOptions :: { 537 + (TypeMeta) 538 + 525 539 // When present, indicates that modifications should not be 526 540 // persisted. An invalid or unrecognized dryRun directive will 527 541 // result in an error response and no further processing of the ··· 539 553 } 540 554 541 555 // Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. 542 - Preconditions: { 556 + Preconditions :: { 543 557 // Specifies the target UID. 544 558 // +optional 545 559 uid?: null | types.UID @go(UID,*types.UID) @protobuf(1,bytes,opt,casttype=k8s.io/apimachinery/pkg/types.UID) ··· 550 564 } 551 565 552 566 // Status is a return value for calls that don't return other objects. 553 - Status: TypeMeta & { 567 + Status :: { 568 + (TypeMeta) 569 + 554 570 // Standard list metadata. 555 571 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 556 572 // +optional ··· 591 607 // must ignore fields that do not match the defined type of each attribute, 592 608 // and should assume that any attribute may be empty, invalid, or under 593 609 // defined. 594 - StatusDetails: { 610 + StatusDetails :: { 595 611 // The name attribute of the resource associated with the status StatusReason 596 612 // (when there is a single name which can be described). 597 613 // +optional ··· 625 641 retryAfterSeconds?: int32 @go(RetryAfterSeconds) @protobuf(5,varint,opt) 626 642 } 627 643 628 - StatusSuccess: "Success" 629 - StatusFailure: "Failure" 644 + StatusSuccess :: "Success" 645 + StatusFailure :: "Failure" 630 646 631 647 // StatusReason is an enumeration of possible failure causes. Each StatusReason 632 648 // must map to a single HTTP status code, but multiple reasons may map 633 649 // to the same HTTP status code. 634 650 // TODO: move to apiserver 635 - StatusReason: string // enumStatusReason 651 + StatusReason :: string // enumStatusReason 636 652 637 - enumStatusReason: 653 + enumStatusReason :: 638 654 StatusReasonUnknown | 639 655 StatusReasonUnauthorized | 640 656 StatusReasonForbidden | ··· 658 674 // StatusReasonUnknown means the server has declined to indicate a specific reason. 659 675 // The details field may contain other information about this error. 660 676 // Status code 500. 661 - StatusReasonUnknown: StatusReason & "" 677 + StatusReasonUnknown :: StatusReason & "" 662 678 663 679 // StatusReasonUnauthorized means the server can be reached and understood the request, but requires 664 680 // the user to present appropriate authorization credentials (identified by the WWW-Authenticate header) 665 681 // in order for the action to be completed. If the user has specified credentials on the request, the 666 682 // server considers them insufficient. 667 683 // Status code 401 668 - StatusReasonUnauthorized: StatusReason & "Unauthorized" 684 + StatusReasonUnauthorized :: StatusReason & "Unauthorized" 669 685 670 686 // StatusReasonForbidden means the server can be reached and understood the request, but refuses 671 687 // to take any further action. It is the result of the server being configured to deny access for some reason ··· 676 692 // resource. 677 693 // "id" string - the identifier of the forbidden resource 678 694 // Status code 403 679 - StatusReasonForbidden: StatusReason & "Forbidden" 695 + StatusReasonForbidden :: StatusReason & "Forbidden" 680 696 681 697 // StatusReasonNotFound means one or more resources required for this operation 682 698 // could not be found. ··· 686 702 // resource. 687 703 // "id" string - the identifier of the missing resource 688 704 // Status code 404 689 - StatusReasonNotFound: StatusReason & "NotFound" 705 + StatusReasonNotFound :: StatusReason & "NotFound" 690 706 691 707 // StatusReasonAlreadyExists means the resource you are creating already exists. 692 708 // Details (optional): 693 709 // "kind" string - the kind attribute of the conflicting resource 694 710 // "id" string - the identifier of the conflicting resource 695 711 // Status code 409 696 - StatusReasonAlreadyExists: StatusReason & "AlreadyExists" 712 + StatusReasonAlreadyExists :: StatusReason & "AlreadyExists" 697 713 698 714 // StatusReasonConflict means the requested operation cannot be completed 699 715 // due to a conflict in the operation. The client may need to alter the 700 716 // request. Each resource may define custom details that indicate the 701 717 // nature of the conflict. 702 718 // Status code 409 703 - StatusReasonConflict: StatusReason & "Conflict" 719 + StatusReasonConflict :: StatusReason & "Conflict" 704 720 705 721 // StatusReasonGone means the item is no longer available at the server and no 706 722 // forwarding address is known. 707 723 // Status code 410 708 - StatusReasonGone: StatusReason & "Gone" 724 + StatusReasonGone :: StatusReason & "Gone" 709 725 710 726 // StatusReasonInvalid means the requested create or update operation cannot be 711 727 // completed due to invalid data provided as part of the request. The client may ··· 718 734 // provided resource that was invalid. The code, message, and 719 735 // field attributes will be set. 720 736 // Status code 422 721 - StatusReasonInvalid: StatusReason & "Invalid" 737 + StatusReasonInvalid :: StatusReason & "Invalid" 722 738 723 739 // StatusReasonServerTimeout means the server can be reached and understood the request, 724 740 // but cannot complete the action in a reasonable time. The client should retry the request. ··· 730 746 // "id" string - the operation that is being attempted. 731 747 // "retryAfterSeconds" int32 - the number of seconds before the operation should be retried 732 748 // Status code 500 733 - StatusReasonServerTimeout: StatusReason & "ServerTimeout" 749 + StatusReasonServerTimeout :: StatusReason & "ServerTimeout" 734 750 735 751 // StatusReasonTimeout means that the request could not be completed within the given time. 736 752 // Clients can get this response only when they specified a timeout param in the request, ··· 740 756 // Details (optional): 741 757 // "retryAfterSeconds" int32 - the number of seconds before the operation should be retried 742 758 // Status code 504 743 - StatusReasonTimeout: StatusReason & "Timeout" 759 + StatusReasonTimeout :: StatusReason & "Timeout" 744 760 745 761 // StatusReasonTooManyRequests means the server experienced too many requests within a 746 762 // given window and that the client must wait to perform the action again. A client may ··· 749 765 // Details (optional): 750 766 // "retryAfterSeconds" int32 - the number of seconds before the operation should be retried 751 767 // Status code 429 752 - StatusReasonTooManyRequests: StatusReason & "TooManyRequests" 768 + StatusReasonTooManyRequests :: StatusReason & "TooManyRequests" 753 769 754 770 // StatusReasonBadRequest means that the request itself was invalid, because the request 755 771 // doesn't make any sense, for example deleting a read-only object. This is different than 756 772 // StatusReasonInvalid above which indicates that the API call could possibly succeed, but the 757 773 // data was invalid. API calls that return BadRequest can never succeed. 758 774 // Status code 400 759 - StatusReasonBadRequest: StatusReason & "BadRequest" 775 + StatusReasonBadRequest :: StatusReason & "BadRequest" 760 776 761 777 // StatusReasonMethodNotAllowed means that the action the client attempted to perform on the 762 778 // resource was not supported by the code - for instance, attempting to delete a resource that 763 779 // can only be created. API calls that return MethodNotAllowed can never succeed. 764 780 // Status code 405 765 - StatusReasonMethodNotAllowed: StatusReason & "MethodNotAllowed" 781 + StatusReasonMethodNotAllowed :: StatusReason & "MethodNotAllowed" 766 782 767 783 // StatusReasonNotAcceptable means that the accept types indicated by the client were not acceptable 768 784 // to the server - for instance, attempting to receive protobuf for a resource that supports only json and yaml. 769 785 // API calls that return NotAcceptable can never succeed. 770 786 // Status code 406 771 - StatusReasonNotAcceptable: StatusReason & "NotAcceptable" 787 + StatusReasonNotAcceptable :: StatusReason & "NotAcceptable" 772 788 773 789 // StatusReasonRequestEntityTooLarge means that the request entity is too large. 774 790 // Status code 413 775 - StatusReasonRequestEntityTooLarge: StatusReason & "RequestEntityTooLarge" 791 + StatusReasonRequestEntityTooLarge :: StatusReason & "RequestEntityTooLarge" 776 792 777 793 // StatusReasonUnsupportedMediaType means that the content type sent by the client is not acceptable 778 794 // to the server - for instance, attempting to send protobuf for a resource that supports only json and yaml. 779 795 // API calls that return UnsupportedMediaType can never succeed. 780 796 // Status code 415 781 - StatusReasonUnsupportedMediaType: StatusReason & "UnsupportedMediaType" 797 + StatusReasonUnsupportedMediaType :: StatusReason & "UnsupportedMediaType" 782 798 783 799 // StatusReasonInternalError indicates that an internal error occurred, it is unexpected 784 800 // and the outcome of the call is unknown. 785 801 // Details (optional): 786 802 // "causes" - The original error 787 803 // Status code 500 788 - StatusReasonInternalError: StatusReason & "InternalError" 804 + StatusReasonInternalError :: StatusReason & "InternalError" 789 805 790 806 // StatusReasonExpired indicates that the request is invalid because the content you are requesting 791 807 // has expired and is no longer available. It is typically associated with watches that can't be 792 808 // serviced. 793 809 // Status code 410 (gone) 794 - StatusReasonExpired: StatusReason & "Expired" 810 + StatusReasonExpired :: StatusReason & "Expired" 795 811 796 812 // StatusReasonServiceUnavailable means that the request itself was valid, 797 813 // but the requested service is unavailable at this time. 798 814 // Retrying the request after some time might succeed. 799 815 // Status code 503 800 - StatusReasonServiceUnavailable: StatusReason & "ServiceUnavailable" 816 + StatusReasonServiceUnavailable :: StatusReason & "ServiceUnavailable" 801 817 802 818 // StatusCause provides more information about an api.Status failure, including 803 819 // cases when multiple errors are encountered. 804 - StatusCause: { 820 + StatusCause :: { 805 821 // A machine-readable description of the cause of the error. If this value is 806 822 // empty there is no information available. 807 823 // +optional ··· 828 844 // CauseType is a machine readable value providing more detail about what 829 845 // occurred in a status response. An operation may have multiple causes for a 830 846 // status (whether Failure or Success). 831 - CauseType: string // enumCauseType 847 + CauseType :: string // enumCauseType 832 848 833 - enumCauseType: 849 + enumCauseType :: 834 850 CauseTypeFieldValueNotFound | 835 851 CauseTypeFieldValueRequired | 836 852 CauseTypeFieldValueDuplicate | ··· 841 857 842 858 // CauseTypeFieldValueNotFound is used to report failure to find a requested value 843 859 // (e.g. looking up an ID). 844 - CauseTypeFieldValueNotFound: CauseType & "FieldValueNotFound" 860 + CauseTypeFieldValueNotFound :: CauseType & "FieldValueNotFound" 845 861 846 862 // CauseTypeFieldValueRequired is used to report required values that are not 847 863 // provided (e.g. empty strings, null values, or empty arrays). 848 - CauseTypeFieldValueRequired: CauseType & "FieldValueRequired" 864 + CauseTypeFieldValueRequired :: CauseType & "FieldValueRequired" 849 865 850 866 // CauseTypeFieldValueDuplicate is used to report collisions of values that must be 851 867 // unique (e.g. unique IDs). 852 - CauseTypeFieldValueDuplicate: CauseType & "FieldValueDuplicate" 868 + CauseTypeFieldValueDuplicate :: CauseType & "FieldValueDuplicate" 853 869 854 870 // CauseTypeFieldValueInvalid is used to report malformed values (e.g. failed regex 855 871 // match). 856 - CauseTypeFieldValueInvalid: CauseType & "FieldValueInvalid" 872 + CauseTypeFieldValueInvalid :: CauseType & "FieldValueInvalid" 857 873 858 874 // CauseTypeFieldValueNotSupported is used to report valid (as per formatting rules) 859 875 // values that can not be handled (e.g. an enumerated string). 860 - CauseTypeFieldValueNotSupported: CauseType & "FieldValueNotSupported" 876 + CauseTypeFieldValueNotSupported :: CauseType & "FieldValueNotSupported" 861 877 862 878 // CauseTypeUnexpectedServerResponse is used to report when the server responded to the client 863 879 // without the expected return type. The presence of this cause indicates the error may be 864 880 // due to an intervening proxy or the server software malfunctioning. 865 - CauseTypeUnexpectedServerResponse: CauseType & "UnexpectedServerResponse" 881 + CauseTypeUnexpectedServerResponse :: CauseType & "UnexpectedServerResponse" 866 882 867 883 // FieldManagerConflict is used to report when another client claims to manage this field, 868 884 // It should only be returned for a request using server-side apply. 869 - CauseTypeFieldManagerConflict: CauseType & "FieldManagerConflict" 885 + CauseTypeFieldManagerConflict :: CauseType & "FieldManagerConflict" 870 886 871 887 // List holds a list of objects, which may not be known by the server. 872 - List: TypeMeta & { 888 + List :: { 889 + (TypeMeta) 890 + 873 891 // Standard list metadata. 874 892 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 875 893 // +optional ··· 884 902 // 885 903 // +protobuf.options.(gogoproto.goproto_stringer)=false 886 904 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 887 - APIVersions: TypeMeta & { 905 + APIVersions :: { 906 + (TypeMeta) 907 + 888 908 // versions are the api versions that are available. 889 909 versions: [...string] @go(Versions,[]string) @protobuf(1,bytes,rep) 890 910 ··· 900 920 901 921 // APIGroupList is a list of APIGroup, to allow clients to discover the API at 902 922 // /apis. 903 - APIGroupList: TypeMeta & { 923 + APIGroupList :: { 924 + (TypeMeta) 925 + 904 926 // groups is a list of APIGroup. 905 927 groups: [...APIGroup] @go(Groups,[]APIGroup) @protobuf(1,bytes,rep) 906 928 } 907 929 908 930 // APIGroup contains the name, the supported versions, and the preferred version 909 931 // of a group. 910 - APIGroup: TypeMeta & { 932 + APIGroup :: { 933 + (TypeMeta) 934 + 911 935 // name is the name of the group. 912 936 name: string @go(Name) @protobuf(1,bytes,opt) 913 937 ··· 931 955 } 932 956 933 957 // ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match. 934 - ServerAddressByClientCIDR: { 958 + ServerAddressByClientCIDR :: { 935 959 // The CIDR with which clients can match their IP to figure out the server address that they should use. 936 960 clientCIDR: string @go(ClientCIDR) @protobuf(1,bytes,opt) 937 961 ··· 942 966 943 967 // GroupVersion contains the "group/version" and "version" string of a version. 944 968 // It is made a struct to keep extensibility. 945 - GroupVersionForDiscovery: { 969 + GroupVersionForDiscovery :: { 946 970 // groupVersion specifies the API group and version in the form "group/version" 947 971 groupVersion: string @go(GroupVersion) @protobuf(1,bytes,opt) 948 972 ··· 952 976 } 953 977 954 978 // APIResource specifies the name of a resource and whether it is namespaced. 955 - APIResource: { 979 + APIResource :: { 956 980 // name is the plural name of the resource. 957 981 name: string @go(Name) @protobuf(1,bytes,opt) 958 982 ··· 1000 1024 // 1001 1025 // +protobuf.nullable=true 1002 1026 // +protobuf.options.(gogoproto.goproto_stringer)=false 1003 - Verbs: [...string] 1027 + Verbs :: [...string] 1004 1028 1005 1029 // APIResourceList is a list of APIResource, it is used to expose the name of the 1006 1030 // resources supported in a specific group and version, and if the resource 1007 1031 // is namespaced. 1008 - APIResourceList: TypeMeta & { 1032 + APIResourceList :: { 1033 + (TypeMeta) 1034 + 1009 1035 // groupVersion is the group and version this APIResourceList is for. 1010 1036 groupVersion: string @go(GroupVersion) @protobuf(1,bytes,opt) 1011 1037 ··· 1015 1041 1016 1042 // RootPaths lists the paths available at root. 1017 1043 // For example: "/healthz", "/apis". 1018 - RootPaths: { 1044 + RootPaths :: { 1019 1045 // paths are the paths available at root. 1020 1046 paths: [...string] @go(Paths,[]string) @protobuf(1,bytes,rep) 1021 1047 } 1022 1048 1023 1049 // Patch is provided to give a concrete name and type to the Kubernetes PATCH request body. 1024 - Patch: { 1050 + Patch :: { 1025 1051 } 1026 1052 1027 1053 // A label selector is a label query over a set of resources. The result of matchLabels and 1028 1054 // matchExpressions are ANDed. An empty label selector matches all objects. A null 1029 1055 // label selector matches no objects. 1030 - LabelSelector: { 1056 + LabelSelector :: { 1031 1057 // matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels 1032 1058 // map is equivalent to an element of matchExpressions, whose key field is "key", the 1033 1059 // operator is "In", and the values array contains only "value". The requirements are ANDed. ··· 1041 1067 1042 1068 // A label selector requirement is a selector that contains values, a key, and an operator that 1043 1069 // relates the key and values. 1044 - LabelSelectorRequirement: { 1070 + LabelSelectorRequirement :: { 1045 1071 // key is the label key that the selector applies to. 1046 1072 // +patchMergeKey=key 1047 1073 // +patchStrategy=merge ··· 1060 1086 } 1061 1087 1062 1088 // A label selector operator is the set of operators that can be used in a selector requirement. 1063 - LabelSelectorOperator: string // enumLabelSelectorOperator 1089 + LabelSelectorOperator :: string // enumLabelSelectorOperator 1064 1090 1065 - enumLabelSelectorOperator: 1091 + enumLabelSelectorOperator :: 1066 1092 LabelSelectorOpIn | 1067 1093 LabelSelectorOpNotIn | 1068 1094 LabelSelectorOpExists | 1069 1095 LabelSelectorOpDoesNotExist 1070 1096 1071 - LabelSelectorOpIn: LabelSelectorOperator & "In" 1072 - LabelSelectorOpNotIn: LabelSelectorOperator & "NotIn" 1073 - LabelSelectorOpExists: LabelSelectorOperator & "Exists" 1074 - LabelSelectorOpDoesNotExist: LabelSelectorOperator & "DoesNotExist" 1097 + LabelSelectorOpIn :: LabelSelectorOperator & "In" 1098 + LabelSelectorOpNotIn :: LabelSelectorOperator & "NotIn" 1099 + LabelSelectorOpExists :: LabelSelectorOperator & "Exists" 1100 + LabelSelectorOpDoesNotExist :: LabelSelectorOperator & "DoesNotExist" 1075 1101 1076 1102 // ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource 1077 1103 // that the fieldset applies to. 1078 - ManagedFieldsEntry: { 1104 + ManagedFieldsEntry :: { 1079 1105 // Manager is an identifier of the workflow managing these fields. 1080 1106 manager?: string @go(Manager) @protobuf(1,bytes,opt) 1081 1107 ··· 1103 1129 } 1104 1130 1105 1131 // ManagedFieldsOperationType is the type of operation which lead to a ManagedFieldsEntry being created. 1106 - ManagedFieldsOperationType: string // enumManagedFieldsOperationType 1132 + ManagedFieldsOperationType :: string // enumManagedFieldsOperationType 1107 1133 1108 - enumManagedFieldsOperationType: 1134 + enumManagedFieldsOperationType :: 1109 1135 ManagedFieldsOperationApply | 1110 1136 ManagedFieldsOperationUpdate 1111 1137 1112 - ManagedFieldsOperationApply: ManagedFieldsOperationType & "Apply" 1113 - ManagedFieldsOperationUpdate: ManagedFieldsOperationType & "Update" 1138 + ManagedFieldsOperationApply :: ManagedFieldsOperationType & "Apply" 1139 + ManagedFieldsOperationUpdate :: ManagedFieldsOperationType & "Update" 1114 1140 1115 1141 // FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format. 1116 1142 // ··· 1123 1149 // If a key maps to an empty Fields value, the field that key represents is part of the set. 1124 1150 // 1125 1151 // The exact format is defined in sigs.k8s.io/structured-merge-diff 1126 - FieldsV1: _ 1152 + FieldsV1 :: _ 1127 1153 1128 1154 // Table is a tabular representation of a set of API resources. The server transforms the 1129 1155 // object into a set of preferred columns for quickly reviewing the objects. 1130 1156 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 1131 1157 // +protobuf=false 1132 - Table: TypeMeta & { 1158 + Table :: { 1159 + (TypeMeta) 1160 + 1133 1161 // Standard list metadata. 1134 1162 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1135 1163 // +optional ··· 1145 1173 1146 1174 // TableColumnDefinition contains information about a column returned in the Table. 1147 1175 // +protobuf=false 1148 - TableColumnDefinition: { 1176 + TableColumnDefinition :: { 1149 1177 // name is a human readable name for the column. 1150 1178 name: string @go(Name) 1151 1179 ··· 1172 1200 1173 1201 // TableRow is an individual row in a table. 1174 1202 // +protobuf=false 1175 - TableRow: { 1203 + TableRow :: { 1176 1204 // cells will be as wide as the column definitions array and may contain strings, numbers (float64 or 1177 1205 // int64), booleans, simple maps, lists, or null. See the type field of the column definition for a 1178 1206 // more detailed description. ··· 1197 1225 1198 1226 // TableRowCondition allows a row to be marked with additional information. 1199 1227 // +protobuf=false 1200 - TableRowCondition: { 1228 + TableRowCondition :: { 1201 1229 // Type of row condition. The only defined value is 'Completed' indicating that the 1202 1230 // object this row represents has reached a completed state and may be given less visual 1203 1231 // priority than other rows. Clients are not required to honor any conditions but should ··· 1216 1244 message?: string @go(Message) 1217 1245 } 1218 1246 1219 - RowConditionType: string // enumRowConditionType 1247 + RowConditionType :: string // enumRowConditionType 1220 1248 1221 - enumRowConditionType: 1249 + enumRowConditionType :: 1222 1250 RowCompleted 1223 1251 1224 1252 // RowCompleted means the underlying resource has reached completion and may be given less 1225 1253 // visual priority than other resources. 1226 - RowCompleted: RowConditionType & "Completed" 1254 + RowCompleted :: RowConditionType & "Completed" 1227 1255 1228 - ConditionStatus: string // enumConditionStatus 1256 + ConditionStatus :: string // enumConditionStatus 1229 1257 1230 - enumConditionStatus: 1258 + enumConditionStatus :: 1231 1259 ConditionTrue | 1232 1260 ConditionFalse | 1233 1261 ConditionUnknown 1234 1262 1235 - ConditionTrue: ConditionStatus & "True" 1236 - ConditionFalse: ConditionStatus & "False" 1237 - ConditionUnknown: ConditionStatus & "Unknown" 1263 + ConditionTrue :: ConditionStatus & "True" 1264 + ConditionFalse :: ConditionStatus & "False" 1265 + ConditionUnknown :: ConditionStatus & "Unknown" 1238 1266 1239 1267 // IncludeObjectPolicy controls which portion of the object is returned with a Table. 1240 - IncludeObjectPolicy: string // enumIncludeObjectPolicy 1268 + IncludeObjectPolicy :: string // enumIncludeObjectPolicy 1241 1269 1242 - enumIncludeObjectPolicy: 1270 + enumIncludeObjectPolicy :: 1243 1271 IncludeNone | 1244 1272 IncludeMetadata | 1245 1273 IncludeObject 1246 1274 1247 1275 // IncludeNone returns no object. 1248 - IncludeNone: IncludeObjectPolicy & "None" 1276 + IncludeNone :: IncludeObjectPolicy & "None" 1249 1277 1250 1278 // IncludeMetadata serializes the object containing only its metadata field. 1251 - IncludeMetadata: IncludeObjectPolicy & "Metadata" 1279 + IncludeMetadata :: IncludeObjectPolicy & "Metadata" 1252 1280 1253 1281 // IncludeObject contains the full object. 1254 - IncludeObject: IncludeObjectPolicy & "Object" 1282 + IncludeObject :: IncludeObjectPolicy & "Object" 1255 1283 1256 1284 // TableOptions are used when a Table is requested by the caller. 1257 1285 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 1258 - TableOptions: TypeMeta & { 1286 + TableOptions :: { 1287 + (TypeMeta) 1288 + 1259 1289 // includeObject decides whether to include each object along with its columnar information. 1260 1290 // Specifying "None" will return no object, specifying "Object" will return the full object contents, and 1261 1291 // specifying "Metadata" (the default) will return the object's metadata in the PartialObjectMetadata kind ··· 1266 1296 // PartialObjectMetadata is a generic representation of any object with ObjectMeta. It allows clients 1267 1297 // to get access to a particular ObjectMeta schema without knowing the details of the version. 1268 1298 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 1269 - PartialObjectMetadata: TypeMeta & { 1299 + PartialObjectMetadata :: { 1300 + (TypeMeta) 1301 + 1270 1302 // Standard object's metadata. 1271 1303 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 1272 1304 // +optional ··· 1275 1307 1276 1308 // PartialObjectMetadataList contains a list of objects containing only their metadata 1277 1309 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 1278 - PartialObjectMetadataList: TypeMeta & { 1310 + PartialObjectMetadataList :: { 1311 + (TypeMeta) 1312 + 1279 1313 // Standard list metadata. 1280 1314 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 1281 1315 // +optional
+2 -2
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/watch_go_gen.cue
··· 14 14 // +protobuf=true 15 15 // +k8s:deepcopy-gen=true 16 16 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 17 - WatchEvent: { 17 + WatchEvent :: { 18 18 type: string @go(Type) @protobuf(1,bytes,opt) 19 19 20 20 // Object is: ··· 27 27 28 28 // InternalEvent makes watch.Event versioned 29 29 // +protobuf=false 30 - InternalEvent: watch.Event 30 + InternalEvent :: watch.Event
+3 -3
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/codec_go_gen.cue
··· 5 5 package runtime 6 6 7 7 // NoopEncoder converts an Decoder to a Serializer or Codec for code that expects them but only uses decoding. 8 - NoopEncoder: { 8 + NoopEncoder :: { 9 9 Decoder: Decoder 10 10 } 11 11 12 12 // NoopDecoder converts an Encoder to a Serializer or Codec for code that expects them but only uses encoding. 13 - NoopDecoder: { 13 + NoopDecoder :: { 14 14 Encoder: Encoder 15 15 } 16 16 17 17 // GroupVersioners implements GroupVersioner and resolves to the first exact match for any kind. 18 - GroupVersioners: [...GroupVersioner] 18 + GroupVersioners :: [...GroupVersioner]
+1 -1
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/converter_go_gen.cue
··· 6 6 7 7 // UnstructuredConverter is an interface for converting between interface{} 8 8 // and map[string]interface representation. 9 - UnstructuredConverter: _ 9 + UnstructuredConverter :: _
+3 -3
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/helper_go_gen.cue
··· 5 5 package runtime 6 6 7 7 // MultiObjectTyper returns the types of objects across multiple schemes in order. 8 - MultiObjectTyper: [...ObjectTyper] 8 + MultiObjectTyper :: [...ObjectTyper] 9 9 10 10 // WithVersionEncoder serializes an object and ensures the GVK is set. 11 - WithVersionEncoder: { 11 + WithVersionEncoder :: { 12 12 Version: GroupVersioner 13 13 Encoder: Encoder 14 14 ObjectTyper: ObjectTyper 15 15 } 16 16 17 17 // WithoutVersionDecoder clears the group version kind of a deserialized object. 18 - WithoutVersionDecoder: { 18 + WithoutVersionDecoder :: { 19 19 Decoder: Decoder 20 20 }
+25 -25
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/interfaces_go_gen.cue
··· 7 7 // APIVersionInternal may be used if you are registering a type that should not 8 8 // be considered stable or serialized - it is a convention only and has no 9 9 // special behavior in this package. 10 - APIVersionInternal: "__internal" 10 + APIVersionInternal :: "__internal" 11 11 12 12 // GroupVersioner refines a set of possible conversion targets into a single option. 13 - GroupVersioner: _ 13 + GroupVersioner :: _ 14 14 15 15 // Encoder writes objects to a serialized form 16 - Encoder: _ 16 + Encoder :: _ 17 17 18 18 // Decoder attempts to load an object from data. 19 - Decoder: _ 19 + Decoder :: _ 20 20 21 21 // Serializer is the core interface for transforming objects into a serialized format and back. 22 22 // Implementations may choose to perform conversion of the object, but no assumptions should be made. 23 - Serializer: _ 23 + Serializer :: _ 24 24 25 25 // Codec is a Serializer that deals with the details of versioning objects. It offers the same 26 26 // interface as Serializer, so this is a marker to consumers that care about the version of the objects 27 27 // they receive. 28 - Codec: Serializer 28 + Codec :: Serializer 29 29 30 30 // ParameterCodec defines methods for serializing and deserializing API objects to url.Values and 31 31 // performing any necessary conversion. Unlike the normal Codec, query parameters are not self describing 32 32 // and the desired version must be specified. 33 - ParameterCodec: _ 33 + ParameterCodec :: _ 34 34 35 35 // Framer is a factory for creating readers and writers that obey a particular framing pattern. 36 - Framer: _ 36 + Framer :: _ 37 37 38 38 // SerializerInfo contains information about a specific serialization format 39 - SerializerInfo: { 39 + SerializerInfo :: { 40 40 // MediaType is the value that represents this serializer over the wire. 41 41 MediaType: string 42 42 ··· 62 62 } 63 63 64 64 // StreamSerializerInfo contains information about a specific stream serialization format 65 - StreamSerializerInfo: { 65 + StreamSerializerInfo :: { 66 66 // EncodesAsText indicates this serializer can be encoded to UTF-8 safely. 67 67 EncodesAsText: bool 68 68 ··· 76 76 // NegotiatedSerializer is an interface used for obtaining encoders, decoders, and serializers 77 77 // for multiple supported media types. This would commonly be accepted by a server component 78 78 // that performs HTTP content negotiation to accept multiple formats. 79 - NegotiatedSerializer: _ 79 + NegotiatedSerializer :: _ 80 80 81 81 // StorageSerializer is an interface used for obtaining encoders, decoders, and serializers 82 82 // that can read and write data at rest. This would commonly be used by client tools that must 83 83 // read files, or server side storage interfaces that persist restful objects. 84 - StorageSerializer: _ 84 + StorageSerializer :: _ 85 85 86 86 // NestedObjectEncoder is an optional interface that objects may implement to be given 87 87 // an opportunity to encode any nested Objects / RawExtensions during serialization. 88 - NestedObjectEncoder: _ 88 + NestedObjectEncoder :: _ 89 89 90 90 // NestedObjectDecoder is an optional interface that objects may implement to be given 91 91 // an opportunity to decode any nested Objects / RawExtensions during serialization. 92 - NestedObjectDecoder: _ 92 + NestedObjectDecoder :: _ 93 93 94 - ObjectDefaulter: _ 94 + ObjectDefaulter :: _ 95 95 96 - ObjectVersioner: _ 96 + ObjectVersioner :: _ 97 97 98 98 // ObjectConvertor converts an object to a different version. 99 - ObjectConvertor: _ 99 + ObjectConvertor :: _ 100 100 101 101 // ObjectTyper contains methods for extracting the APIVersion and Kind 102 102 // of objects. 103 - ObjectTyper: _ 103 + ObjectTyper :: _ 104 104 105 105 // ObjectCreater contains methods for instantiating an object by kind and version. 106 - ObjectCreater: _ 106 + ObjectCreater :: _ 107 107 108 108 // EquivalentResourceMapper provides information about resources that address the same underlying data as a specified resource 109 - EquivalentResourceMapper: _ 109 + EquivalentResourceMapper :: _ 110 110 111 111 // EquivalentResourceRegistry provides an EquivalentResourceMapper interface, 112 112 // and allows registering known resource[/subresource] -> kind 113 - EquivalentResourceRegistry: _ 113 + EquivalentResourceRegistry :: _ 114 114 115 115 // ResourceVersioner provides methods for setting and retrieving 116 116 // the resource version from an API object. 117 - ResourceVersioner: _ 117 + ResourceVersioner :: _ 118 118 119 119 // SelfLinker provides methods for setting and retrieving the SelfLink field of an API object. 120 - SelfLinker: _ 120 + SelfLinker :: _ 121 121 122 122 // Object interface must be supported by all API types registered with Scheme. Since objects in a scheme are 123 123 // expected to be serialized to the wire, the interface an Object must provide to the Scheme allows 124 124 // serializers to set the kind, version, and group the object is represented as. An Object may choose 125 125 // to return a no-op ObjectKindAccessor in cases where it is not expected to be serialized. 126 - Object: _ 126 + Object :: _ 127 127 128 128 // Unstructured objects store values as map[string]interface{}, with only values that can be serialized 129 129 // to JSON allowed. 130 - Unstructured: _ 130 + Unstructured :: _
+2 -2
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/swagger_doc_generator_go_gen.cue
··· 5 5 package runtime 6 6 7 7 // Pair of strings. We keed the name of fields and the doc 8 - Pair: { 8 + Pair :: { 9 9 Name: string 10 10 Doc: string 11 11 } 12 12 13 13 // KubeTypes is an array to represent all available types in a parsed file. [0] is for the type itself 14 - KubeTypes: [...Pair] 14 + KubeTypes :: [...Pair]
+7 -7
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/types_go_gen.cue
··· 18 18 // +k8s:deepcopy-gen=false 19 19 // +protobuf=true 20 20 // +k8s:openapi-gen=true 21 - TypeMeta: { 21 + TypeMeta :: { 22 22 // +optional 23 23 apiVersion?: string @go(APIVersion) @protobuf(1,bytes,opt) 24 24 ··· 26 26 kind?: string @go(Kind) @protobuf(2,bytes,opt) 27 27 } 28 28 29 - ContentTypeJSON: "application/json" 30 - ContentTypeYAML: "application/yaml" 31 - ContentTypeProtobuf: "application/vnd.kubernetes.protobuf" 29 + ContentTypeJSON :: "application/json" 30 + ContentTypeYAML :: "application/yaml" 31 + ContentTypeProtobuf :: "application/vnd.kubernetes.protobuf" 32 32 33 33 // RawExtension is used to hold extensions in external versions. 34 34 // ··· 75 75 // +k8s:deepcopy-gen=true 76 76 // +protobuf=true 77 77 // +k8s:openapi-gen=true 78 - RawExtension: _ 78 + RawExtension :: _ 79 79 80 80 // Unknown allows api objects with unknown types to be passed-through. This can be used 81 81 // to deal with the API objects from a plug-in. Unknown objects still have functioning ··· 87 87 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 88 88 // +protobuf=true 89 89 // +k8s:openapi-gen=true 90 - Unknown: _ 90 + Unknown :: _ 91 91 92 92 // VersionedObjects is used by Decoders to give callers a way to access all versions 93 93 // of an object during the decoding process. 94 94 // 95 95 // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 96 96 // +k8s:deepcopy-gen=true 97 - VersionedObjects: { 97 + VersionedObjects :: { 98 98 // Objects is the set of objects retrieved during decoding, in order of conversion. 99 99 // The 0 index is the object as serialized on the wire. If conversion has occurred, 100 100 // other objects may be present. The right most object is the same as would be returned
+2 -2
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/runtime/types_proto_go_gen.cue
··· 4 4 5 5 package runtime 6 6 7 - ProtobufMarshaller: _ 7 + ProtobufMarshaller :: _ 8 8 9 - ProtobufReverseMarshaller: _ 9 + ProtobufReverseMarshaller :: _
+2 -2
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/namespacedname_go_gen.cue
··· 4 4 5 5 package types 6 6 7 - NamespacedName: { 7 + NamespacedName :: { 8 8 Namespace: string 9 9 Name: string 10 10 } 11 11 12 - Separator: 47 // '/' 12 + Separator :: 47 // '/'
+1 -1
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/nodename_go_gen.cue
··· 28 28 // For AWS, the InstanceID is not yet suitable for use as a Node.Name, so we actually use the 29 29 // PrivateDnsName for the Node.Name. And this is _not_ always the same as the hostname: if 30 30 // we are using a custom DHCP domain it won't be. 31 - NodeName: string 31 + NodeName :: string
+6 -6
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/patch_go_gen.cue
··· 7 7 // Similarly to above, these are constants to support HTTP PATCH utilized by 8 8 // both the client and server that didn't make sense for a whole package to be 9 9 // dedicated to. 10 - PatchType: string // enumPatchType 10 + PatchType :: string // enumPatchType 11 11 12 - enumPatchType: 12 + enumPatchType :: 13 13 JSONPatchType | 14 14 MergePatchType | 15 15 StrategicMergePatchType | 16 16 ApplyPatchType 17 17 18 - JSONPatchType: PatchType & "application/json-patch+json" 19 - MergePatchType: PatchType & "application/merge-patch+json" 20 - StrategicMergePatchType: PatchType & "application/strategic-merge-patch+json" 21 - ApplyPatchType: PatchType & "application/apply-patch+yaml" 18 + JSONPatchType :: PatchType & "application/json-patch+json" 19 + MergePatchType :: PatchType & "application/merge-patch+json" 20 + StrategicMergePatchType :: PatchType & "application/strategic-merge-patch+json" 21 + ApplyPatchType :: PatchType & "application/apply-patch+yaml"
+1 -1
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/types/uid_go_gen.cue
··· 7 7 // UID is a type that holds unique ID values, including UUIDs. Because we 8 8 // don't ONLY use UUIDs, this is an alias to string. Being a type captures 9 9 // intent and helps make sure that UIDs and names do not get conflated. 10 - UID: string 10 + UID :: string
+5 -5
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/util/intstr/intstr_go_gen.cue
··· 13 13 // +protobuf=true 14 14 // +protobuf.options.(gogoproto.goproto_stringer)=false 15 15 // +k8s:openapi-gen=true 16 - IntOrString: _ 16 + IntOrString :: _ 17 17 18 18 // Type represents the stored type of IntOrString. 19 - Type: int // enumType 19 + Type :: int // enumType 20 20 21 - enumType: 21 + enumType :: 22 22 Int | 23 23 String 24 24 25 - Int: Type & 0 26 - String: Type & 1 25 + Int :: Type & 0 26 + String :: Type & 1
+1 -1
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/filter_go_gen.cue
··· 5 5 package watch 6 6 7 7 // Recorder records all events that are sent from the watch until it is closed. 8 - Recorder: { 8 + Recorder :: { 9 9 Interface: Interface 10 10 }
+4 -4
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/mux_go_gen.cue
··· 6 6 7 7 // FullChannelBehavior controls how the Broadcaster reacts if a watcher's watch 8 8 // channel is full. 9 - FullChannelBehavior: int // enumFullChannelBehavior 9 + FullChannelBehavior :: int // enumFullChannelBehavior 10 10 11 - enumFullChannelBehavior: 11 + enumFullChannelBehavior :: 12 12 WaitIfChannelFull | 13 13 DropIfChannelFull 14 14 15 - WaitIfChannelFull: FullChannelBehavior & 0 16 - DropIfChannelFull: FullChannelBehavior & 1 15 + WaitIfChannelFull :: FullChannelBehavior & 0 16 + DropIfChannelFull :: FullChannelBehavior & 1
+2 -2
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/streamwatcher_go_gen.cue
··· 5 5 package watch 6 6 7 7 // Decoder allows StreamWatcher to watch any stream for which a Decoder can be written. 8 - Decoder: _ 8 + Decoder :: _ 9 9 10 10 // Reporter hides the details of how an error is turned into a runtime.Object for 11 11 // reporting on a watch stream since this package may not import a higher level report. 12 - Reporter: _ 12 + Reporter :: _
+12 -12
doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/watch/watch_go_gen.cue
··· 9 9 ) 10 10 11 11 // Interface can be implemented by anything that knows how to watch and report changes. 12 - Interface: _ 12 + Interface :: _ 13 13 14 14 // EventType defines the possible types of events. 15 - EventType: string // enumEventType 15 + EventType :: string // enumEventType 16 16 17 - enumEventType: 17 + enumEventType :: 18 18 Added | 19 19 Modified | 20 20 Deleted | 21 21 Bookmark | 22 22 Error 23 23 24 - Added: EventType & "ADDED" 25 - Modified: EventType & "MODIFIED" 26 - Deleted: EventType & "DELETED" 27 - Bookmark: EventType & "BOOKMARK" 28 - Error: EventType & "ERROR" 29 - DefaultChanSize: int32 & 100 24 + Added :: EventType & "ADDED" 25 + Modified :: EventType & "MODIFIED" 26 + Deleted :: EventType & "DELETED" 27 + Bookmark :: EventType & "BOOKMARK" 28 + Error :: EventType & "ERROR" 29 + DefaultChanSize :: int32 & 100 30 30 31 31 // Event represents a single event to a watched resource. 32 32 // +k8s:deepcopy-gen=true 33 - Event: { 33 + Event :: { 34 34 Type: EventType 35 35 36 36 // Object is: ··· 46 46 } 47 47 48 48 // FakeWatcher lets you test anything that consumes a watch.Interface; threadsafe. 49 - FakeWatcher: { 49 + FakeWatcher :: { 50 50 Stopped: bool 51 51 } 52 52 53 53 // RaceFreeFakeWatcher lets you test anything that consumes a watch.Interface; threadsafe. 54 - RaceFreeFakeWatcher: { 54 + RaceFreeFakeWatcher :: { 55 55 Stopped: bool 56 56 }
+1 -1
doc/tutorial/kubernetes/quick/services/frontend/kube.cue
··· 1 1 package kube 2 2 3 - _component: "frontend" 3 + Component :: "frontend" 4 4 5 5 deployment <X> spec template: { 6 6 metadata annotations: {
+1 -1
doc/tutorial/kubernetes/quick/services/infra/kube.cue
··· 1 1 package kube 2 2 3 - _component: "infra" 3 + Component :: "infra"
+4 -4
doc/tutorial/kubernetes/quick/services/k8s_defs.cue
··· 6 6 apps_v1beta1 "k8s.io/api/apps/v1beta1" 7 7 ) 8 8 9 - service <Name>: v1.Service & {} 10 - deployment <Name>: extensions_v1beta1.Deployment & {} 11 - daemonSet <Name>: extensions_v1beta1.DaemonSet & {} 12 - statefulSet <Name>: apps_v1beta1.StatefulSet & {} 9 + service <Name>: v1.Service 10 + deployment <Name>: extensions_v1beta1.Deployment 11 + daemonSet <Name>: extensions_v1beta1.DaemonSet 12 + statefulSet <Name>: apps_v1beta1.StatefulSet
+11 -11
doc/tutorial/kubernetes/quick/services/kitchen/kube.cue
··· 1 1 package kube 2 2 3 - _component: "kitchen" 3 + Component :: "kitchen" 4 4 5 5 deployment <Name> spec template: { 6 6 metadata annotations "prometheus.io.scrape": "true" ··· 19 19 }] 20 20 } 21 21 22 - deployment <Name> spec template spec: { 23 - _hasDisks: *true | bool 22 + deployment <ID> spec template spec: { 23 + hasDisks :: *true | bool 24 24 25 25 volumes: [{ 26 - name: *"\(Name)-disk" | string 27 - gcePersistentDisk pdName: *"\(Name)-disk" | string 26 + name: *"\(ID)-disk" | string 27 + gcePersistentDisk pdName: *"\(ID)-disk" | string 28 28 gcePersistentDisk fsType: "ext4" 29 29 }, { 30 - name: *"secret-\(Name)" | string 31 - secret secretName: *"\(Name)-secrets" | string 32 - }, ...] if _hasDisks 30 + name: *"secret-\(ID)" | string 31 + secret secretName: *"\(ID)-secrets" | string 32 + }, ...] if hasDisks 33 33 34 34 containers: [{ 35 35 volumeMounts: [{ 36 - name: *"\(Name)-disk" | string 36 + name: *"\(ID)-disk" | string 37 37 mountPath: *"/logs" | string 38 38 }, { 39 39 mountPath: *"/etc/certs" | string 40 - name: *"secret-\(Name)" | string 40 + name: *"secret-\(ID)" | string 41 41 readOnly: true 42 42 }, ...] 43 - }] if _hasDisks // field comprehension using just "if" 43 + }] if hasDisks // field comprehension using just "if" 44 44 }
+3 -1
doc/tutorial/kubernetes/quick/services/kitchen/souschef/kube.cue
··· 4 4 image: "gcr.io/myproj/souschef:v0.5.3" 5 5 }] 6 6 7 - deployment souschef spec template spec _hasDisks: false 7 + deployment souschef spec template spec: { 8 + hasDisks :: false 9 + }
+27 -26
doc/tutorial/kubernetes/quick/services/kube.cue
··· 1 1 package kube 2 2 3 - service <Name>: { 3 + service <ID>: { 4 4 apiVersion: "v1" 5 5 kind: "Service" 6 6 metadata: { 7 - name: Name 7 + name: ID 8 8 labels: { 9 - app: Name // by convention 10 - domain: "prod" // always the same in the given files 11 - component: _component // varies per directory 9 + app: ID // by convention 10 + domain: "prod" // always the same in the given files 11 + component: Component // varies per directory 12 12 } 13 13 } 14 14 spec: { ··· 22 22 } 23 23 } 24 24 25 - deployment <Name>: { 25 + deployment <ID>: { 26 26 apiVersion: "extensions/v1beta1" 27 27 kind: "Deployment" 28 - metadata name: Name 28 + metadata name: ID 29 29 spec: { 30 30 // 1 is the default, but we allow any number 31 31 replicas: *1 | int 32 32 template: { 33 33 metadata labels: { 34 - app: Name 34 + app: ID 35 35 domain: "prod" 36 - component: _component 36 + component: Component 37 37 } 38 38 // we always have one namesake container 39 - spec containers: [{name: Name}] 39 + spec containers: [{name: ID}] 40 40 } 41 41 } 42 42 } 43 43 44 - _component: string 44 + Component :: string 45 45 46 - daemonSet <Name>: _spec & { 46 + daemonSet <ID>: _spec & { 47 47 apiVersion: "extensions/v1beta1" 48 48 kind: "DaemonSet" 49 - _name: Name 49 + Name :: ID 50 50 } 51 51 52 - statefulSet <Name>: _spec & { 52 + statefulSet <ID>: _spec & { 53 53 apiVersion: "apps/v1beta1" 54 54 kind: "StatefulSet" 55 - _name: Name 55 + Name :: ID 56 56 } 57 57 58 - deployment <Name>: _spec & { 58 + deployment <ID>: _spec & { 59 59 apiVersion: "extensions/v1beta1" 60 60 kind: "Deployment" 61 - _name: Name 61 + Name :: ID 62 62 spec replicas: *1 | int 63 63 } 64 64 65 - configMap <Name>: { 66 - metadata name: Name 67 - metadata labels component: _component 65 + configMap <ID>: { 66 + metadata name: ID 67 + metadata labels component: Component 68 68 } 69 69 70 70 _spec: { 71 - _name: string 72 - metadata name: _name 73 - metadata labels component: _component 71 + Name :: string 72 + 73 + metadata name: Name 74 + metadata labels component: Component 74 75 spec template: { 75 76 metadata labels: { 76 - app: _name 77 - component: _component 77 + app: Name 78 + component: Component 78 79 domain: "prod" 79 80 } 80 - spec containers: [{name: _name}] 81 + spec containers: [{name: Name}] 81 82 } 82 83 } 83 84
+1 -1
doc/tutorial/kubernetes/quick/services/mon/kube.cue
··· 1 1 package kube 2 2 3 - _component: "mon" 3 + Component :: "mon"
+1 -1
doc/tutorial/kubernetes/quick/services/proxy/kube.cue
··· 1 1 package kube 2 2 3 - _component: "proxy" 3 + Component :: "proxy"
+100 -100
doc/tutorial/kubernetes/testdata/quick.out
··· 8 8 } 9 9 statefulSet: { 10 10 } 11 - _component: string 11 + Component :: string 12 12 _spec: { 13 + Name :: string 13 14 metadata: { 14 15 name: string 15 16 labels: { ··· 33 34 } 34 35 } 35 36 } 36 - _name: string 37 37 } 38 38 39 39 ··· 47 47 } 48 48 statefulSet: { 49 49 } 50 - _component: "frontend" 50 + Component :: "frontend" 51 51 _spec: { 52 + Name :: string 52 53 metadata: { 53 54 name: string 54 55 labels: { ··· 72 73 } 73 74 } 74 75 } 75 - _name: string 76 76 } 77 77 78 78 ··· 108 108 deployment: { 109 109 bartender: { 110 110 kind: "Deployment" 111 + Name :: "bartender" 111 112 apiVersion: "extensions/v1beta1" 112 113 metadata: { 113 114 name: "bartender" ··· 142 143 } 143 144 replicas: 1 144 145 } 145 - _name: "bartender" 146 146 } 147 147 } 148 148 daemonSet: { 149 149 } 150 150 statefulSet: { 151 151 } 152 - _component: "frontend" 152 + Component :: "frontend" 153 153 _spec: { 154 + Name :: string 154 155 metadata: { 155 156 name: string 156 157 labels: { ··· 174 175 } 175 176 } 176 177 } 177 - _name: string 178 178 } 179 179 180 180 ··· 210 210 deployment: { 211 211 breaddispatcher: { 212 212 kind: "Deployment" 213 + Name :: "breaddispatcher" 213 214 apiVersion: "extensions/v1beta1" 214 215 metadata: { 215 216 name: "breaddispatcher" ··· 244 245 } 245 246 replicas: 1 246 247 } 247 - _name: "breaddispatcher" 248 248 } 249 249 } 250 250 daemonSet: { 251 251 } 252 252 statefulSet: { 253 253 } 254 - _component: "frontend" 254 + Component :: "frontend" 255 255 _spec: { 256 + Name :: string 256 257 metadata: { 257 258 name: string 258 259 labels: { ··· 276 277 } 277 278 } 278 279 } 279 - _name: string 280 280 } 281 281 282 282 ··· 312 312 deployment: { 313 313 host: { 314 314 kind: "Deployment" 315 + Name :: "host" 315 316 apiVersion: "extensions/v1beta1" 316 317 metadata: { 317 318 name: "host" ··· 346 347 } 347 348 replicas: 2 348 349 } 349 - _name: "host" 350 350 } 351 351 } 352 352 daemonSet: { 353 353 } 354 354 statefulSet: { 355 355 } 356 - _component: "frontend" 356 + Component :: "frontend" 357 357 _spec: { 358 + Name :: string 358 359 metadata: { 359 360 name: string 360 361 labels: { ··· 378 379 } 379 380 } 380 381 } 381 - _name: string 382 382 } 383 383 384 384 ··· 414 414 deployment: { 415 415 maitred: { 416 416 kind: "Deployment" 417 + Name :: "maitred" 417 418 apiVersion: "extensions/v1beta1" 418 419 metadata: { 419 420 name: "maitred" ··· 448 449 } 449 450 replicas: 1 450 451 } 451 - _name: "maitred" 452 452 } 453 453 } 454 454 daemonSet: { 455 455 } 456 456 statefulSet: { 457 457 } 458 - _component: "frontend" 458 + Component :: "frontend" 459 459 _spec: { 460 + Name :: string 460 461 metadata: { 461 462 name: string 462 463 labels: { ··· 480 481 } 481 482 } 482 483 } 483 - _name: string 484 484 } 485 485 486 486 ··· 516 516 deployment: { 517 517 valeter: { 518 518 kind: "Deployment" 519 + Name :: "valeter" 519 520 apiVersion: "extensions/v1beta1" 520 521 metadata: { 521 522 name: "valeter" ··· 550 551 } 551 552 replicas: 1 552 553 } 553 - _name: "valeter" 554 554 } 555 555 } 556 556 daemonSet: { 557 557 } 558 558 statefulSet: { 559 559 } 560 - _component: "frontend" 560 + Component :: "frontend" 561 561 _spec: { 562 + Name :: string 562 563 metadata: { 563 564 name: string 564 565 labels: { ··· 582 583 } 583 584 } 584 585 } 585 - _name: string 586 586 } 587 587 588 588 ··· 618 618 deployment: { 619 619 waiter: { 620 620 kind: "Deployment" 621 + Name :: "waiter" 621 622 apiVersion: "extensions/v1beta1" 622 623 metadata: { 623 624 name: "waiter" ··· 651 652 } 652 653 replicas: 5 653 654 } 654 - _name: "waiter" 655 655 } 656 656 } 657 657 daemonSet: { 658 658 } 659 659 statefulSet: { 660 660 } 661 - _component: "frontend" 661 + Component :: "frontend" 662 662 _spec: { 663 + Name :: string 663 664 metadata: { 664 665 name: string 665 666 labels: { ··· 683 684 } 684 685 } 685 686 } 686 - _name: string 687 687 } 688 688 689 689 ··· 719 719 deployment: { 720 720 waterdispatcher: { 721 721 kind: "Deployment" 722 + Name :: "waterdispatcher" 722 723 apiVersion: "extensions/v1beta1" 723 724 metadata: { 724 725 name: "waterdispatcher" ··· 753 754 } 754 755 replicas: 1 755 756 } 756 - _name: "waterdispatcher" 757 757 } 758 758 } 759 759 daemonSet: { 760 760 } 761 761 statefulSet: { 762 762 } 763 - _component: "frontend" 763 + Component :: "frontend" 764 764 _spec: { 765 + Name :: string 765 766 metadata: { 766 767 name: string 767 768 labels: { ··· 785 786 } 786 787 } 787 788 } 788 - _name: string 789 789 } 790 790 791 791 ··· 799 799 } 800 800 statefulSet: { 801 801 } 802 - _component: "infra" 802 + Component :: "infra" 803 803 _spec: { 804 + Name :: string 804 805 metadata: { 805 806 name: string 806 807 labels: { ··· 824 825 } 825 826 } 826 827 } 827 - _name: string 828 828 } 829 829 830 830 ··· 860 860 deployment: { 861 861 download: { 862 862 kind: "Deployment" 863 + Name :: "download" 863 864 apiVersion: "extensions/v1beta1" 864 865 metadata: { 865 866 name: "download" ··· 889 890 } 890 891 replicas: 1 891 892 } 892 - _name: "download" 893 893 } 894 894 } 895 895 daemonSet: { 896 896 } 897 897 statefulSet: { 898 898 } 899 - _component: "infra" 899 + Component :: "infra" 900 900 _spec: { 901 + Name :: string 901 902 metadata: { 902 903 name: string 903 904 labels: { ··· 921 922 } 922 923 } 923 924 } 924 - _name: string 925 925 } 926 926 927 927 ··· 967 967 statefulSet: { 968 968 etcd: { 969 969 kind: "StatefulSet" 970 + Name :: "etcd" 970 971 apiVersion: "apps/v1beta1" 971 972 metadata: { 972 973 name: "etcd" ··· 1071 1072 } 1072 1073 }] 1073 1074 } 1074 - _name: "etcd" 1075 1075 } 1076 1076 } 1077 - _component: "infra" 1077 + Component :: "infra" 1078 1078 _spec: { 1079 + Name :: string 1079 1080 metadata: { 1080 1081 name: string 1081 1082 labels: { ··· 1099 1100 } 1100 1101 } 1101 1102 } 1102 - _name: string 1103 1103 } 1104 1104 1105 1105 ··· 1135 1135 deployment: { 1136 1136 events: { 1137 1137 kind: "Deployment" 1138 + Name :: "events" 1138 1139 apiVersion: "extensions/v1beta1" 1139 1140 metadata: { 1140 1141 name: "events" ··· 1196 1197 } 1197 1198 replicas: 2 1198 1199 } 1199 - _name: "events" 1200 1200 } 1201 1201 } 1202 1202 daemonSet: { 1203 1203 } 1204 1204 statefulSet: { 1205 1205 } 1206 - _component: "infra" 1206 + Component :: "infra" 1207 1207 _spec: { 1208 + Name :: string 1208 1209 metadata: { 1209 1210 name: string 1210 1211 labels: { ··· 1228 1229 } 1229 1230 } 1230 1231 } 1231 - _name: string 1232 1232 } 1233 1233 1234 1234 ··· 1266 1266 deployment: { 1267 1267 tasks: { 1268 1268 kind: "Deployment" 1269 + Name :: "tasks" 1269 1270 apiVersion: "extensions/v1beta1" 1270 1271 metadata: { 1271 1272 name: "tasks" ··· 1312 1313 } 1313 1314 replicas: 1 1314 1315 } 1315 - _name: "tasks" 1316 1316 } 1317 1317 } 1318 1318 daemonSet: { 1319 1319 } 1320 1320 statefulSet: { 1321 1321 } 1322 - _component: "infra" 1322 + Component :: "infra" 1323 1323 _spec: { 1324 + Name :: string 1324 1325 metadata: { 1325 1326 name: string 1326 1327 labels: { ··· 1344 1345 } 1345 1346 } 1346 1347 } 1347 - _name: string 1348 1348 } 1349 1349 1350 1350 ··· 1380 1380 deployment: { 1381 1381 updater: { 1382 1382 kind: "Deployment" 1383 + Name :: "updater" 1383 1384 apiVersion: "extensions/v1beta1" 1384 1385 metadata: { 1385 1386 name: "updater" ··· 1420 1421 } 1421 1422 replicas: 1 1422 1423 } 1423 - _name: "updater" 1424 1424 } 1425 1425 } 1426 1426 daemonSet: { 1427 1427 } 1428 1428 statefulSet: { 1429 1429 } 1430 - _component: "infra" 1430 + Component :: "infra" 1431 1431 _spec: { 1432 + Name :: string 1432 1433 metadata: { 1433 1434 name: string 1434 1435 labels: { ··· 1452 1453 } 1453 1454 } 1454 1455 } 1455 - _name: string 1456 1456 } 1457 1457 1458 1458 ··· 1490 1490 deployment: { 1491 1491 watcher: { 1492 1492 kind: "Deployment" 1493 + Name :: "watcher" 1493 1494 apiVersion: "extensions/v1beta1" 1494 1495 metadata: { 1495 1496 name: "watcher" ··· 1532 1533 } 1533 1534 replicas: 1 1534 1535 } 1535 - _name: "watcher" 1536 1536 } 1537 1537 } 1538 1538 daemonSet: { 1539 1539 } 1540 1540 statefulSet: { 1541 1541 } 1542 - _component: "infra" 1542 + Component :: "infra" 1543 1543 _spec: { 1544 + Name :: string 1544 1545 metadata: { 1545 1546 name: string 1546 1547 labels: { ··· 1564 1565 } 1565 1566 } 1566 1567 } 1567 - _name: string 1568 1568 } 1569 1569 1570 1570 ··· 1578 1578 } 1579 1579 statefulSet: { 1580 1580 } 1581 - _component: "kitchen" 1581 + Component :: "kitchen" 1582 1582 _spec: { 1583 + Name :: string 1583 1584 metadata: { 1584 1585 name: string 1585 1586 labels: { ··· 1603 1604 } 1604 1605 } 1605 1606 } 1606 - _name: string 1607 1607 } 1608 1608 1609 1609 ··· 1639 1639 deployment: { 1640 1640 caller: { 1641 1641 kind: "Deployment" 1642 + Name :: "caller" 1642 1643 apiVersion: "extensions/v1beta1" 1643 1644 metadata: { 1644 1645 name: "caller" ··· 1705 1706 } 1706 1707 } 1707 1708 }] 1708 - _hasDisks: true 1709 + hasDisks :: true 1709 1710 } 1710 1711 } 1711 1712 replicas: 3 1712 1713 } 1713 - _name: "caller" 1714 1714 } 1715 1715 } 1716 1716 daemonSet: { 1717 1717 } 1718 1718 statefulSet: { 1719 1719 } 1720 - _component: "kitchen" 1720 + Component :: "kitchen" 1721 1721 _spec: { 1722 + Name :: string 1722 1723 metadata: { 1723 1724 name: string 1724 1725 labels: { ··· 1742 1743 } 1743 1744 } 1744 1745 } 1745 - _name: string 1746 1746 } 1747 1747 1748 1748 ··· 1778 1778 deployment: { 1779 1779 dishwasher: { 1780 1780 kind: "Deployment" 1781 + Name :: "dishwasher" 1781 1782 apiVersion: "extensions/v1beta1" 1782 1783 metadata: { 1783 1784 name: "dishwasher" ··· 1844 1845 } 1845 1846 } 1846 1847 }] 1847 - _hasDisks: true 1848 + hasDisks :: true 1848 1849 } 1849 1850 } 1850 1851 replicas: 5 1851 1852 } 1852 - _name: "dishwasher" 1853 1853 } 1854 1854 } 1855 1855 daemonSet: { 1856 1856 } 1857 1857 statefulSet: { 1858 1858 } 1859 - _component: "kitchen" 1859 + Component :: "kitchen" 1860 1860 _spec: { 1861 + Name :: string 1861 1862 metadata: { 1862 1863 name: string 1863 1864 labels: { ··· 1881 1882 } 1882 1883 } 1883 1884 } 1884 - _name: string 1885 1885 } 1886 1886 1887 1887 ··· 1917 1917 deployment: { 1918 1918 expiditer: { 1919 1919 kind: "Deployment" 1920 + Name :: "expiditer" 1920 1921 apiVersion: "extensions/v1beta1" 1921 1922 metadata: { 1922 1923 name: "expiditer" ··· 1974 1975 } 1975 1976 } 1976 1977 }] 1977 - _hasDisks: true 1978 + hasDisks :: true 1978 1979 } 1979 1980 } 1980 1981 replicas: 1 1981 1982 } 1982 - _name: "expiditer" 1983 1983 } 1984 1984 } 1985 1985 daemonSet: { 1986 1986 } 1987 1987 statefulSet: { 1988 1988 } 1989 - _component: "kitchen" 1989 + Component :: "kitchen" 1990 1990 _spec: { 1991 + Name :: string 1991 1992 metadata: { 1992 1993 name: string 1993 1994 labels: { ··· 2011 2012 } 2012 2013 } 2013 2014 } 2014 - _name: string 2015 2015 } 2016 2016 2017 2017 ··· 2047 2047 deployment: { 2048 2048 headchef: { 2049 2049 kind: "Deployment" 2050 + Name :: "headchef" 2050 2051 apiVersion: "extensions/v1beta1" 2051 2052 metadata: { 2052 2053 name: "headchef" ··· 2104 2105 } 2105 2106 } 2106 2107 }] 2107 - _hasDisks: true 2108 + hasDisks :: true 2108 2109 } 2109 2110 } 2110 2111 replicas: 1 2111 2112 } 2112 - _name: "headchef" 2113 2113 } 2114 2114 } 2115 2115 daemonSet: { 2116 2116 } 2117 2117 statefulSet: { 2118 2118 } 2119 - _component: "kitchen" 2119 + Component :: "kitchen" 2120 2120 _spec: { 2121 + Name :: string 2121 2122 metadata: { 2122 2123 name: string 2123 2124 labels: { ··· 2141 2142 } 2142 2143 } 2143 2144 } 2144 - _name: string 2145 2145 } 2146 2146 2147 2147 ··· 2177 2177 deployment: { 2178 2178 linecook: { 2179 2179 kind: "Deployment" 2180 + Name :: "linecook" 2180 2181 apiVersion: "extensions/v1beta1" 2181 2182 metadata: { 2182 2183 name: "linecook" ··· 2234 2235 } 2235 2236 } 2236 2237 }] 2237 - _hasDisks: true 2238 + hasDisks :: true 2238 2239 } 2239 2240 } 2240 2241 replicas: 1 2241 2242 } 2242 - _name: "linecook" 2243 2243 } 2244 2244 } 2245 2245 daemonSet: { 2246 2246 } 2247 2247 statefulSet: { 2248 2248 } 2249 - _component: "kitchen" 2249 + Component :: "kitchen" 2250 2250 _spec: { 2251 + Name :: string 2251 2252 metadata: { 2252 2253 name: string 2253 2254 labels: { ··· 2271 2272 } 2272 2273 } 2273 2274 } 2274 - _name: string 2275 2275 } 2276 2276 2277 2277 ··· 2307 2307 deployment: { 2308 2308 pastrychef: { 2309 2309 kind: "Deployment" 2310 + Name :: "pastrychef" 2310 2311 apiVersion: "extensions/v1beta1" 2311 2312 metadata: { 2312 2313 name: "pastrychef" ··· 2364 2365 } 2365 2366 } 2366 2367 }] 2367 - _hasDisks: true 2368 + hasDisks :: true 2368 2369 } 2369 2370 } 2370 2371 replicas: 1 2371 2372 } 2372 - _name: "pastrychef" 2373 2373 } 2374 2374 } 2375 2375 daemonSet: { 2376 2376 } 2377 2377 statefulSet: { 2378 2378 } 2379 - _component: "kitchen" 2379 + Component :: "kitchen" 2380 2380 _spec: { 2381 + Name :: string 2381 2382 metadata: { 2382 2383 name: string 2383 2384 labels: { ··· 2401 2402 } 2402 2403 } 2403 2404 } 2404 - _name: string 2405 2405 } 2406 2406 2407 2407 ··· 2437 2437 deployment: { 2438 2438 souschef: { 2439 2439 kind: "Deployment" 2440 + Name :: "souschef" 2440 2441 apiVersion: "extensions/v1beta1" 2441 2442 metadata: { 2442 2443 name: "souschef" ··· 2473 2474 } 2474 2475 } 2475 2476 }] 2476 - _hasDisks: false 2477 + hasDisks :: false 2477 2478 } 2478 2479 } 2479 2480 replicas: 1 2480 2481 } 2481 - _name: "souschef" 2482 2482 } 2483 2483 } 2484 2484 daemonSet: { 2485 2485 } 2486 2486 statefulSet: { 2487 2487 } 2488 - _component: "kitchen" 2488 + Component :: "kitchen" 2489 2489 _spec: { 2490 + Name :: string 2490 2491 metadata: { 2491 2492 name: string 2492 2493 labels: { ··· 2510 2511 } 2511 2512 } 2512 2513 } 2513 - _name: string 2514 2514 } 2515 2515 2516 2516 ··· 2524 2524 } 2525 2525 statefulSet: { 2526 2526 } 2527 - _component: "mon" 2527 + Component :: "mon" 2528 2528 _spec: { 2529 + Name :: string 2529 2530 metadata: { 2530 2531 name: string 2531 2532 labels: { ··· 2549 2550 } 2550 2551 } 2551 2552 } 2552 - _name: string 2553 2553 } 2554 2554 2555 2555 ··· 2619 2619 deployment: { 2620 2620 alertmanager: { 2621 2621 kind: "Deployment" 2622 + Name :: "alertmanager" 2622 2623 apiVersion: "extensions/v1beta1" 2623 2624 metadata: { 2624 2625 name: "alertmanager" ··· 2673 2674 } 2674 2675 replicas: 1 2675 2676 } 2676 - _name: "alertmanager" 2677 2677 } 2678 2678 } 2679 2679 daemonSet: { 2680 2680 } 2681 2681 statefulSet: { 2682 2682 } 2683 - _component: "mon" 2683 + Component :: "mon" 2684 2684 _spec: { 2685 + Name :: string 2685 2686 metadata: { 2686 2687 name: string 2687 2688 labels: { ··· 2705 2706 } 2706 2707 } 2707 2708 } 2708 - _name: string 2709 2709 } 2710 2710 2711 2711 ··· 2741 2741 deployment: { 2742 2742 grafana: { 2743 2743 kind: "Deployment" 2744 + Name :: "grafana" 2744 2745 apiVersion: "extensions/v1beta1" 2745 2746 metadata: { 2746 2747 name: "grafana" ··· 2802 2803 } 2803 2804 replicas: 1 2804 2805 } 2805 - _name: "grafana" 2806 2806 } 2807 2807 } 2808 2808 daemonSet: { 2809 2809 } 2810 2810 statefulSet: { 2811 2811 } 2812 - _component: "mon" 2812 + Component :: "mon" 2813 2813 _spec: { 2814 + Name :: string 2814 2815 metadata: { 2815 2816 name: string 2816 2817 labels: { ··· 2834 2835 } 2835 2836 } 2836 2837 } 2837 - _name: string 2838 2838 } 2839 2839 2840 2840 ··· 2877 2877 daemonSet: { 2878 2878 "node-exporter": { 2879 2879 kind: "DaemonSet" 2880 + Name :: "node-exporter" 2880 2881 apiVersion: "extensions/v1beta1" 2881 2882 metadata: { 2882 2883 name: "node-exporter" ··· 2941 2942 } 2942 2943 } 2943 2944 } 2944 - _name: "node-exporter" 2945 2945 } 2946 2946 } 2947 2947 statefulSet: { 2948 2948 } 2949 - _component: "mon" 2949 + Component :: "mon" 2950 2950 _spec: { 2951 + Name :: string 2951 2952 metadata: { 2952 2953 name: string 2953 2954 labels: { ··· 2971 2972 } 2972 2973 } 2973 2974 } 2974 - _name: string 2975 2975 } 2976 2976 2977 2977 ··· 3253 3253 deployment: { 3254 3254 prometheus: { 3255 3255 kind: "Deployment" 3256 + Name :: "prometheus" 3256 3257 apiVersion: "extensions/v1beta1" 3257 3258 metadata: { 3258 3259 name: "prometheus" ··· 3310 3311 } 3311 3312 } 3312 3313 } 3313 - _name: "prometheus" 3314 3314 } 3315 3315 } 3316 3316 daemonSet: { 3317 3317 } 3318 3318 statefulSet: { 3319 3319 } 3320 - _component: "mon" 3320 + Component :: "mon" 3321 3321 _spec: { 3322 + Name :: string 3322 3323 metadata: { 3323 3324 name: string 3324 3325 labels: { ··· 3342 3343 } 3343 3344 } 3344 3345 } 3345 - _name: string 3346 3346 } 3347 3347 3348 3348 ··· 3356 3356 } 3357 3357 statefulSet: { 3358 3358 } 3359 - _component: "proxy" 3359 + Component :: "proxy" 3360 3360 _spec: { 3361 + Name :: string 3361 3362 metadata: { 3362 3363 name: string 3363 3364 labels: { ··· 3381 3382 } 3382 3383 } 3383 3384 } 3384 - _name: string 3385 3385 } 3386 3386 3387 3387 ··· 3482 3482 deployment: { 3483 3483 authproxy: { 3484 3484 kind: "Deployment" 3485 + Name :: "authproxy" 3485 3486 apiVersion: "extensions/v1beta1" 3486 3487 metadata: { 3487 3488 name: "authproxy" ··· 3522 3523 } 3523 3524 replicas: 1 3524 3525 } 3525 - _name: "authproxy" 3526 3526 } 3527 3527 } 3528 3528 daemonSet: { 3529 3529 } 3530 3530 statefulSet: { 3531 3531 } 3532 - _component: "proxy" 3532 + Component :: "proxy" 3533 3533 _spec: { 3534 + Name :: string 3534 3535 metadata: { 3535 3536 name: string 3536 3537 labels: { ··· 3554 3555 } 3555 3556 } 3556 3557 } 3557 - _name: string 3558 3558 } 3559 3559 3560 3560 ··· 3592 3592 deployment: { 3593 3593 goget: { 3594 3594 kind: "Deployment" 3595 + Name :: "goget" 3595 3596 apiVersion: "extensions/v1beta1" 3596 3597 metadata: { 3597 3598 name: "goget" ··· 3631 3632 } 3632 3633 replicas: 1 3633 3634 } 3634 - _name: "goget" 3635 3635 } 3636 3636 } 3637 3637 daemonSet: { 3638 3638 } 3639 3639 statefulSet: { 3640 3640 } 3641 - _component: "proxy" 3641 + Component :: "proxy" 3642 3642 _spec: { 3643 + Name :: string 3643 3644 metadata: { 3644 3645 name: string 3645 3646 labels: { ··· 3663 3664 } 3664 3665 } 3665 3666 } 3666 - _name: string 3667 3667 } 3668 3668 3669 3669 ··· 3872 3872 deployment: { 3873 3873 nginx: { 3874 3874 kind: "Deployment" 3875 + Name :: "nginx" 3875 3876 apiVersion: "extensions/v1beta1" 3876 3877 metadata: { 3877 3878 name: "nginx" ··· 3923 3924 } 3924 3925 replicas: 1 3925 3926 } 3926 - _name: "nginx" 3927 3927 } 3928 3928 } 3929 3929 daemonSet: { 3930 3930 } 3931 3931 statefulSet: { 3932 3932 } 3933 - _component: "proxy" 3933 + Component :: "proxy" 3934 3934 _spec: { 3935 + Name :: string 3935 3936 metadata: { 3936 3937 name: string 3937 3938 labels: { ··· 3955 3956 } 3956 3957 } 3957 3958 } 3958 - _name: string 3959 3959 }