doc/ref: allow embeding to be Expression
And implementation.
Change-Id: I63f2b7b91e0635d071311346e216729f87b21b2e
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/3188
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/doc/ref/spec.md b/doc/ref/spec.md
index 3569fa8..4945ffa 100644
--- a/doc/ref/spec.md
+++ b/doc/ref/spec.md
@@ -1165,12 +1165,11 @@
carefully.
-->
```
-StructLit = "{" [ DeclarationList [ "," [ "..." ] ] "}" .
-DeclarationList = Declaration { "," Declaration }
-Declaration = FieldDecl | DefinitionDecl | AliasDecl | ComprehensionDecl | Embedding .
+StructLit = "{" { Declaration "," } [ "..." ] "}" .
+Declaration = FieldDecl | DefinitionDecl | AliasDecl | Comprehension | Embedding .
FieldDecl = Label { Label } ":" Expression { attribute } .
DefinitionDecl = Label "::" Expression { attribute } .
-Embedding = Operand .
+Embedding = Expression .
AliasDecl = Label "=" Expression .
BindLabel = "<" identifier ">" .
@@ -1178,10 +1177,6 @@
ExpressionLabel = BindLabel
Label = ConcreteLabel [ "?" ] | ExpressionLabel .
-<!-- (jba) According to this grammar, I must write a "?" after a bind label, so
-"<Name>: name" is illegal.
--->
-
attribute = "@" identifier "(" attr_elems ")" .
attr_elems = attr_elem { "," attr_elem }
attr_elem = attr_string | attr_label | attr_nest .
@@ -1302,6 +1297,9 @@
A struct resulting from such a unification is closed if either of the involved
structs were closed.
+Syntactically, embeddings may be any expression except that it only
+allows binary expressions with operators `&` or `|`.
+
```
S1: {
a: 1
@@ -1619,11 +1617,6 @@
of all fields with the same identifier.
String labels do not bind an identifier to the respective field.
-```
-TopLevelDecl = Declaration | Emit .
-Emit = Operand .
-```
-
The _scope_ of a declared identifier is the extent of source text in which the
identifier denotes the specified field, alias, or package.
@@ -2596,7 +2589,7 @@
resulting in the unification of their values.
```
-ComprehensionDecl = Clauses StructLit .
+Comprehension = Clauses StructLit .
ListComprehension = "[" Expression Clauses "]" .
Clauses = Clause { Clause } .
@@ -2877,9 +2870,22 @@
packages whose contents it wishes to use, followed by a possibly empty set of
declarations.
+Like with a struct, a source file may contain embeddings.
+Unlike with a struct, the embedded expressions may be any value.
+If the result of the unification of all embedded values is not a struct,
+it will be output instead of its enclosing file when exporting CUE
+to a data format
```
-SourceFile = [ PackageClause "," ] { ImportDecl "," } { TopLevelDecl "," } .
+SourceFile = [ PackageClause "," ] { ImportDecl "," } { Declaration "," } .
+```
+
+```
+"Hello \(place)!"
+
+place: "world"
+
+// Outputs "Hello world!"
```
### Package clause
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/types_go_gen.cue b/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/types_go_gen.cue
index dab4f32..fd4c052 100644
--- a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/types_go_gen.cue
+++ b/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/apps/v1beta1/types_go_gen.cue
@@ -43,7 +43,7 @@
// Scale represents a scaling request for a resource.
Scale :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
@@ -67,7 +67,7 @@
// The StatefulSet guarantees that a given network identity will always
// map to the same storage identity.
StatefulSet :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// +optional
metadata?: metav1.ObjectMeta @go(ObjectMeta) @protobuf(1,bytes,opt)
@@ -269,7 +269,7 @@
// StatefulSetList is a collection of StatefulSets.
StatefulSetList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// +optional
metadata?: metav1.ListMeta @go(ListMeta) @protobuf(1,bytes,opt)
@@ -280,7 +280,7 @@
// more information.
// Deployment enables declarative updates for Pods and ReplicaSets.
Deployment :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object metadata.
// +optional
@@ -348,7 +348,7 @@
// DEPRECATED.
// DeploymentRollback stores the information required to rollback a deployment.
DeploymentRollback :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Required: This must match the Name of a deployment.
name: string @go(Name) @protobuf(1,bytes,opt)
@@ -514,7 +514,7 @@
// DeploymentList is a list of Deployments.
DeploymentList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// +optional
@@ -536,7 +536,7 @@
// it may be subject to name and representation changes in future releases, and clients should not
// depend on its stability. It is primarily for internal use by controllers.
ControllerRevision :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -552,7 +552,7 @@
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
ControllerRevisionList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/types_go_gen.cue b/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/types_go_gen.cue
index 1c66a03..913e44e 100644
--- a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/types_go_gen.cue
+++ b/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/core/v1/types_go_gen.cue
@@ -27,7 +27,7 @@
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
name: string @go(Name) @protobuf(1,bytes,opt)
- (VolumeSource)
+ VolumeSource
}
@@ -303,7 +303,7 @@
// It is analogous to a node.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes
PersistentVolume :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -331,7 +331,7 @@
// +optional
capacity?: ResourceList @go(Capacity) @protobuf(1,bytes,rep,casttype=ResourceList,castkey=ResourceName)
- (PersistentVolumeSource)
+ PersistentVolumeSource
// AccessModes contains all ways the volume can be mounted.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes
@@ -434,7 +434,7 @@
// PersistentVolumeList is a list of PersistentVolume items.
PersistentVolumeList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -448,7 +448,7 @@
// PersistentVolumeClaim is a user's request for and claim to a persistent volume
PersistentVolumeClaim :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -469,7 +469,7 @@
// PersistentVolumeClaimList is a list of PersistentVolumeClaim items.
PersistentVolumeClaimList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -1265,7 +1265,7 @@
// Note that this is identical to a secret volume source without the default
// mode.
SecretProjection :: {
- (LocalObjectReference)
+ LocalObjectReference
// If unspecified, each key-value pair in the Data field of the referenced
// Secret will be projected into the volume as a file whose name is the
@@ -1734,7 +1734,7 @@
// the items element is populated with specific mappings of keys to paths.
// ConfigMap volumes support ownership management and SELinux relabeling.
ConfigMapVolumeSource :: {
- (LocalObjectReference)
+ LocalObjectReference
// If unspecified, each key-value pair in the Data field of the referenced
// ConfigMap will be projected into the volume as a file whose name is the
@@ -1769,7 +1769,7 @@
// Note that this is identical to a configmap volume source without the default
// mode.
ConfigMapProjection :: {
- (LocalObjectReference)
+ LocalObjectReference
// If unspecified, each key-value pair in the Data field of the referenced
// ConfigMap will be projected into the volume as a file whose name is the
@@ -2142,7 +2142,7 @@
// Selects a key from a ConfigMap.
ConfigMapKeySelector :: {
- (LocalObjectReference)
+ LocalObjectReference
// The key to select.
key: string @go(Key) @protobuf(2,bytes,opt)
@@ -2154,7 +2154,7 @@
// SecretKeySelector selects a key of a Secret.
SecretKeySelector :: {
- (LocalObjectReference)
+ LocalObjectReference
// The key of the secret to select from. Must be a valid secret key.
key: string @go(Key) @protobuf(2,bytes,opt)
@@ -2185,7 +2185,7 @@
// The contents of the target ConfigMap's Data field will represent the
// key-value pairs as environment variables.
ConfigMapEnvSource :: {
- (LocalObjectReference)
+ LocalObjectReference
// Specify whether the ConfigMap must be defined
// +optional
@@ -2198,7 +2198,7 @@
// The contents of the target Secret's Data field will represent the
// key-value pairs as environment variables.
SecretEnvSource :: {
- (LocalObjectReference)
+ LocalObjectReference
// Specify whether the Secret must be defined
// +optional
@@ -2279,7 +2279,7 @@
// Probe describes a health check to be performed against a container to determine whether it is
// alive or ready to receive traffic.
Probe :: {
- (Handler)
+ Handler
// Number of seconds after the container has started before liveness probes are initiated.
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
@@ -3783,7 +3783,7 @@
// once added.
// This is an alpha feature enabled by the EphemeralContainers feature flag.
EphemeralContainer :: {
- (EphemeralContainerCommon)
+ EphemeralContainerCommon
// If set, the name of the container from PodSpec that this ephemeral container targets.
// The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container.
@@ -3892,7 +3892,7 @@
// PodStatusResult is a wrapper for PodStatus returned by kubelet that can be encode/decoded
PodStatusResult :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -3911,7 +3911,7 @@
// Pod is a collection of containers that can run on a host. This resource is created
// by clients and scheduled onto hosts.
Pod :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -3934,7 +3934,7 @@
// PodList is a list of Pods.
PodList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -3961,7 +3961,7 @@
// PodTemplate describes a template for creating copies of a predefined pod.
PodTemplate :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -3976,7 +3976,7 @@
// PodTemplateList is a list of PodTemplates.
PodTemplateList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -4080,7 +4080,7 @@
// ReplicationController represents the configuration of a replication controller.
ReplicationController :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// If the Labels of a ReplicationController are empty, they are defaulted to
// be the same as the Pod(s) that the replication controller manages.
@@ -4104,7 +4104,7 @@
// ReplicationControllerList is a collection of replication controllers.
ReplicationControllerList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -4401,7 +4401,7 @@
// (for example 3306) that the proxy listens on, and the selector that determines which pods
// will answer requests sent through the proxy.
Service :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -4427,7 +4427,7 @@
// ServiceList holds a list of services.
ServiceList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -4443,7 +4443,7 @@
// * a principal that can be authenticated and authorized
// * a set of secrets
ServiceAccount :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -4472,7 +4472,7 @@
// ServiceAccountList is a list of ServiceAccount objects
ServiceAccountList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -4497,7 +4497,7 @@
// },
// ]
Endpoints :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -4586,7 +4586,7 @@
// EndpointsList is a list of endpoints.
EndpointsList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -5027,7 +5027,7 @@
// Node is a worker node in Kubernetes.
// Each node will have a unique identifier in the cache (i.e. in etcd).
Node :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -5049,7 +5049,7 @@
// NodeList is the whole list of all Nodes which have been registered with master.
NodeList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -5139,7 +5139,7 @@
// Namespace provides a scope for Names.
// Use of multiple namespaces is optional.
Namespace :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -5159,7 +5159,7 @@
// NamespaceList is a list of Namespaces.
NamespaceList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -5174,7 +5174,7 @@
// Binding ties one object to another; for example, a pod is bound to a node by a scheduler.
// Deprecated in 1.7, please use the bindings subresource of pods instead.
Binding :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -5187,7 +5187,7 @@
// A list of ephemeral containers used with the Pod ephemeralcontainers subresource.
EphemeralContainers :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// +optional
metadata?: metav1.ObjectMeta @go(ObjectMeta) @protobuf(1,bytes,opt)
@@ -5210,7 +5210,7 @@
// PodLogOptions is the query options for a Pod's logs REST call.
PodLogOptions :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// The container for which to stream logs. Defaults to only container if there is one container in the pod.
// +optional
@@ -5260,7 +5260,7 @@
// TODO: merge w/ PodExecOptions below for stdin, stdout, etc
// and also when we cut V2, we should export a "StreamOptions" or somesuch that contains Stdin, Stdout, Stder and TTY
PodAttachOptions :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Stdin if true, redirects the standard input stream of the pod for this call.
// Defaults to false.
@@ -5295,7 +5295,7 @@
// TODO: This is largely identical to PodAttachOptions above, make sure they stay in sync and see about merging
// and also when we cut V2, we should export a "StreamOptions" or somesuch that contains Stdin, Stdout, Stder and TTY
PodExecOptions :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Redirect the standard input stream of the pod for this call.
// Defaults to false.
@@ -5333,7 +5333,7 @@
// Port forwarding over SPDY does not use these options. It requires the port
// to be passed in the `port` header as part of request.
PodPortForwardOptions :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// List of ports to forward
// Required when using WebSockets
@@ -5343,7 +5343,7 @@
// PodProxyOptions is the query options to a Pod's proxy call.
PodProxyOptions :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Path is the URL path to use for the current proxy request to pod.
// +optional
@@ -5352,7 +5352,7 @@
// NodeProxyOptions is the query options to a Node's proxy call.
NodeProxyOptions :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Path is the URL path to use for the current proxy request to node.
// +optional
@@ -5361,7 +5361,7 @@
// ServiceProxyOptions is the query options to a Service's proxy call.
ServiceProxyOptions :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Path is the part of URLs that include service endpoints, suffixes,
// and parameters to use for the current proxy request to service.
@@ -5444,7 +5444,7 @@
// SerializedReference is a reference to serialized object.
SerializedReference :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// The reference to an object in the system.
// +optional
@@ -5470,7 +5470,7 @@
// Event is a report of an event somewhere in the cluster.
Event :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -5562,7 +5562,7 @@
// EventList is a list of events.
EventList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -5628,7 +5628,7 @@
// LimitRange sets resource usage limits for each kind of resource in a Namespace.
LimitRange :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -5643,7 +5643,7 @@
// LimitRangeList is a list of LimitRange items.
LimitRangeList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -5809,7 +5809,7 @@
// ResourceQuota sets aggregate quota restrictions enforced per namespace
ResourceQuota :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -5829,7 +5829,7 @@
// ResourceQuotaList is a list of ResourceQuota items.
ResourceQuotaList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -5844,7 +5844,7 @@
// Secret holds secret data of a certain type. The total bytes of the values in
// the Data field must be less than MaxSecretSize bytes.
Secret :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -5977,7 +5977,7 @@
// SecretList is a list of Secret.
SecretList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -5991,7 +5991,7 @@
// ConfigMap holds configuration data for pods to consume.
ConfigMap :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -6019,7 +6019,7 @@
// ConfigMapList is a resource containing a list of ConfigMap objects.
ConfigMapList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
@@ -6060,7 +6060,7 @@
// ComponentStatus (and ComponentStatusList) holds the cluster validation info.
ComponentStatus :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -6076,7 +6076,7 @@
// Status of all the conditions for the component as a list of ComponentStatus objects.
ComponentStatusList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -6269,7 +6269,7 @@
// RangeAllocation is not a public type.
RangeAllocation :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/types_go_gen.cue b/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/types_go_gen.cue
index ee8b19d..54e2ecd 100644
--- a/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/types_go_gen.cue
+++ b/doc/tutorial/kubernetes/quick/pkg/k8s.io/api/extensions/v1beta1/types_go_gen.cue
@@ -38,7 +38,7 @@
// represents a scaling request for a resource.
Scale :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
@@ -55,7 +55,7 @@
// Dummy definition
ReplicationControllerDummy :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
}
@@ -63,7 +63,7 @@
// more information.
// Deployment enables declarative updates for Pods and ReplicaSets.
Deployment :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object metadata.
// +optional
@@ -134,7 +134,7 @@
// DEPRECATED.
// DeploymentRollback stores the information required to rollback a deployment.
DeploymentRollback :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Required: This must match the Name of a deployment.
name: string @go(Name) @protobuf(1,bytes,opt)
@@ -300,7 +300,7 @@
// DeploymentList is a list of Deployments.
DeploymentList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// +optional
@@ -478,7 +478,7 @@
// more information.
// DaemonSet represents the configuration of a daemon set.
DaemonSet :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -512,7 +512,7 @@
// DaemonSetList is a collection of daemon sets.
DaemonSetList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -529,7 +529,7 @@
// based virtual hosting etc.
// DEPRECATED - This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for more information.
Ingress :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -549,7 +549,7 @@
// IngressList is a collection of Ingress.
IngressList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -627,7 +627,7 @@
// +optional
host?: string @go(Host) @protobuf(1,bytes,opt)
- (IngressRuleValue)
+ IngressRuleValue
}
@@ -681,7 +681,7 @@
// more information.
// ReplicaSet ensures that a specified number of pod replicas are running at any given time.
ReplicaSet :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// If the Labels of a ReplicaSet are empty, they are defaulted to
// be the same as the Pod(s) that the ReplicaSet manages.
@@ -705,7 +705,7 @@
// ReplicaSetList is a collection of ReplicaSets.
ReplicaSetList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -810,7 +810,7 @@
// that will be applied to a pod and container.
// Deprecated: use PodSecurityPolicy from policy API Group instead.
PodSecurityPolicy :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -1187,7 +1187,7 @@
// PodSecurityPolicyList is a list of PodSecurityPolicy objects.
// Deprecated: use PodSecurityPolicyList from policy API Group instead.
PodSecurityPolicyList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -1201,7 +1201,7 @@
// DEPRECATED 1.9 - This group version of NetworkPolicy is deprecated by networking/v1/NetworkPolicy.
// NetworkPolicy describes what network traffic is allowed for a set of Pods
NetworkPolicy :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -1374,7 +1374,7 @@
// DEPRECATED 1.9 - This group version of NetworkPolicyList is deprecated by networking/v1/NetworkPolicyList.
// Network Policy List is a list of NetworkPolicy objects.
NetworkPolicyList :: {
- (metav1.TypeMeta)
+ metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
diff --git a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/types_go_gen.cue b/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/types_go_gen.cue
index fe0634c..a3a075a 100644
--- a/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/types_go_gen.cue
+++ b/doc/tutorial/kubernetes/quick/pkg/k8s.io/apimachinery/pkg/apis/meta/v1/types_go_gen.cue
@@ -306,7 +306,7 @@
// ListOptions is the query options to a standard REST list call.
ListOptions :: {
- (TypeMeta)
+ TypeMeta
// A selector to restrict the list of returned objects by their labels.
// Defaults to everything.
@@ -389,7 +389,7 @@
// ExportOptions is the query options to the standard REST get call.
// Deprecated. Planned for removal in 1.18.
ExportOptions :: {
- (TypeMeta)
+ TypeMeta
// Should this value be exported. Export strips fields that a user can not specify.
// Deprecated. Planned for removal in 1.18.
@@ -402,7 +402,7 @@
// GetOptions is the standard query options to the standard REST get call.
GetOptions :: {
- (TypeMeta)
+ TypeMeta
// When specified:
// - if unset, then the result is returned from remote storage based on quorum-read flag;
@@ -440,7 +440,7 @@
// DeleteOptions may be provided when deleting an API object.
DeleteOptions :: {
- (TypeMeta)
+ TypeMeta
// The duration in seconds before the object should be deleted. Value must be non-negative integer.
// The value zero indicates delete immediately. If this value is nil, the default grace period for the
@@ -483,7 +483,7 @@
// CreateOptions may be provided when creating an API object.
CreateOptions :: {
- (TypeMeta)
+ TypeMeta
// When present, indicates that modifications should not be
// persisted. An invalid or unrecognized dryRun directive will
@@ -504,7 +504,7 @@
// PatchOptions may be provided when patching an API object.
// PatchOptions is meant to be a superset of UpdateOptions.
PatchOptions :: {
- (TypeMeta)
+ TypeMeta
// When present, indicates that modifications should not be
// persisted. An invalid or unrecognized dryRun directive will
@@ -534,7 +534,7 @@
// UpdateOptions may be provided when updating an API object.
// All fields in UpdateOptions should also be present in PatchOptions.
UpdateOptions :: {
- (TypeMeta)
+ TypeMeta
// When present, indicates that modifications should not be
// persisted. An invalid or unrecognized dryRun directive will
@@ -565,7 +565,7 @@
// Status is a return value for calls that don't return other objects.
Status :: {
- (TypeMeta)
+ TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -886,7 +886,7 @@
// List holds a list of objects, which may not be known by the server.
List :: {
- (TypeMeta)
+ TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -903,7 +903,7 @@
// +protobuf.options.(gogoproto.goproto_stringer)=false
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
APIVersions :: {
- (TypeMeta)
+ TypeMeta
// versions are the api versions that are available.
versions: [...string] @go(Versions,[]string) @protobuf(1,bytes,rep)
@@ -921,7 +921,7 @@
// APIGroupList is a list of APIGroup, to allow clients to discover the API at
// /apis.
APIGroupList :: {
- (TypeMeta)
+ TypeMeta
// groups is a list of APIGroup.
groups: [...APIGroup] @go(Groups,[]APIGroup) @protobuf(1,bytes,rep)
@@ -930,7 +930,7 @@
// APIGroup contains the name, the supported versions, and the preferred version
// of a group.
APIGroup :: {
- (TypeMeta)
+ TypeMeta
// name is the name of the group.
name: string @go(Name) @protobuf(1,bytes,opt)
@@ -1030,7 +1030,7 @@
// resources supported in a specific group and version, and if the resource
// is namespaced.
APIResourceList :: {
- (TypeMeta)
+ TypeMeta
// groupVersion is the group and version this APIResourceList is for.
groupVersion: string @go(GroupVersion) @protobuf(1,bytes,opt)
@@ -1156,7 +1156,7 @@
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +protobuf=false
Table :: {
- (TypeMeta)
+ TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
@@ -1284,7 +1284,7 @@
// TableOptions are used when a Table is requested by the caller.
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
TableOptions :: {
- (TypeMeta)
+ TypeMeta
// includeObject decides whether to include each object along with its columnar information.
// Specifying "None" will return no object, specifying "Object" will return the full object contents, and
@@ -1297,7 +1297,7 @@
// to get access to a particular ObjectMeta schema without knowing the details of the version.
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
PartialObjectMetadata :: {
- (TypeMeta)
+ TypeMeta
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
@@ -1308,7 +1308,7 @@
// PartialObjectMetadataList contains a list of objects containing only their metadata
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
PartialObjectMetadataList :: {
- (TypeMeta)
+ TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds