v1alpha2

package
v1.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2024 License: Apache-2.0 Imports: 6 Imported by: 4

Documentation

Overview

Package v1alpha2 contains v1alpha2 of the Query API. +kubebuilder:object:generate=true +groupName=spaces.upbound.io +versionName=v1alpha2

Index

Constants

View Source
const (
	Group   = "query.spaces.upbound.io"
	Version = "v1alpha2"
)

Package type metadata.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	// SpacesQueryKind is the kind of SpaceQuery.
	SpacesQueryKind = reflect.TypeOf(SpaceQuery{}).Name()
	// GroupQueryKind is the kind of GroupQuery.
	GroupQueryKind = reflect.TypeOf(GroupQuery{}).Name()
	// QueryKind is the kind of Query.
	QueryKind = reflect.TypeOf(Query{}).Name()
)

Functions

This section is empty.

Types

type Direction

type Direction string

Direction specifies in which direction to order.

const (
	// Ascending specifies to order in ascending order.
	Ascending Direction = "Asc"
	// Descending specifies to order in descending order.
	Descending Direction = "Desc"
)

type Freshness

type Freshness struct {
	// group is the group of the control plane to check for freshness of
	// the data. In case of GroupQuery or Query, the group is defaulted and
	// must match the group of the request.
	// +required
	Group string `json:"group"`

	// controlPlane is the name of the control plane to check for freshness of the data.
	// In case of Query, the name is defaulted and must match the control plane
	// name of the request.
	// +required
	ControlPlane string `json:"controlPlane"`

	// resourceVersion is the resource version of the specified control plane
	// to wait for before executing the query. Normal request timeouts apply.
	// The resourceVersion is a large integer, returned by previous queries or
	// by requests against the control plane Kubernetes API.
	//
	// Note that resource versions between control planes are not correlated.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^[0-9]+$`
	ResourceVersion string `json:"resourceVersion"`
}

Freshness specifies a resource version per control plane to wait for before returning results. It's helpful to ensure consistency for read-after-write.

func (*Freshness) DeepCopy

func (in *Freshness) DeepCopy() *Freshness

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Freshness.

func (*Freshness) DeepCopyInto

func (in *Freshness) DeepCopyInto(out *Freshness)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupQuery

type GroupQuery struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec     *QuerySpec     `json:"spec,omitempty"`
	Response *QueryResponse `json:"response,omitempty"`
}

GroupQuery represents a query against a group of control planes.

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*GroupQuery) DeepCopy

func (in *GroupQuery) DeepCopy() *GroupQuery

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupQuery.

func (*GroupQuery) DeepCopyInto

func (in *GroupQuery) DeepCopyInto(out *GroupQuery)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GroupQuery) DeepCopyObject

func (in *GroupQuery) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type Query

type Query struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec     *QuerySpec     `json:"spec,omitempty"`
	Response *QueryResponse `json:"response,omitempty"`
}

Query represents a query against one control plane, the one with the same name and namespace as the query.

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*Query) DeepCopy

func (in *Query) DeepCopy() *Query

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Query.

func (*Query) DeepCopyInto

func (in *Query) DeepCopyInto(out *Query)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Query) DeepCopyObject

func (in *Query) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QueryCondition

type QueryCondition struct {
	// type is the type of condition to query.
	// Examples: Ready, Synced
	//
	// +kubebuilder:validation:Required
	Type string `json:"type"`
	// status is the status of condition to query. This is either True, False
	// or Unknown.
	Status string `json:"status,omitempty"`
	// reason queries based on the reason field of the condition.
	Reason string `json:"reason,omitempty"`
}

A QueryCondition specifies how to query a condition.

func (*QueryCondition) DeepCopy

func (in *QueryCondition) DeepCopy() *QueryCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryCondition.

func (*QueryCondition) DeepCopyInto

func (in *QueryCondition) DeepCopyInto(out *QueryCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryCreationTimestamp

type QueryCreationTimestamp struct {
	After  metav1.Time `json:"after,omitempty"`
	Before metav1.Time `json:"before,omitempty"`
}

QueryCreationTimestamp specifies how to query by object creation time.

func (*QueryCreationTimestamp) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryCreationTimestamp.

func (*QueryCreationTimestamp) DeepCopyInto

func (in *QueryCreationTimestamp) DeepCopyInto(out *QueryCreationTimestamp)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryFilter

type QueryFilter struct {
	// id is the object ID to query.
	ID string `json:"id,omitempty"`
	// creationTimestamp queries for objects with a range of creation times.
	CreationTimestamp QueryCreationTimestamp `json:"creationTimestamp,omitempty"`
	// namespace is the namespace WITHIN a control plane to query.
	Namespace string `json:"namespace,omitempty"`
	// name is the name of objects to query.
	Name string `json:"name,omitempty"`
	// groupKind is the GroupKinds of objects to query.
	GroupKind QueryGroupKind `json:"groupKind,omitempty"`
	// labels are the labels of objects to query.
	Labels map[string]string `json:"labels,omitempty"`
	// categories is a list of categories to query.
	// Examples: all, managed, composite, claim
	Categories []string `json:"categories,omitempty"`
	// conditions is a list of conditions to query.
	Conditions []QueryCondition `json:"conditions,omitempty"`
	// jsonpath is a JSONPath filter expression that will be applied to objects
	// as a filter. It must return a boolean; no objects will be matched if it
	// returns any other type. jsonpath should be used as a last resort; using
	// the other filter fields will generally be more efficient.
	JSONPath string `json:"jsonpath,omitempty"`
}

QueryFilter specifies what to filter. Objects in the query response will match all criteria specified in the filter.

func (*QueryFilter) DeepCopy

func (in *QueryFilter) DeepCopy() *QueryFilter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryFilter.

func (*QueryFilter) DeepCopyInto

func (in *QueryFilter) DeepCopyInto(out *QueryFilter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryFilterControlPlane

type QueryFilterControlPlane struct {
	// name is the name of the control plane to query. If empty, all control planes
	// are queried in the given scope.
	Name string `json:"name,omitempty"`
	// group is the group of the control plane to query. If empty, all groups
	// are queried in the given scope.
	Group string `json:"group,omitempty"`
}

QueryFilterControlPlane specifies which control planes to query for objects.

func (*QueryFilterControlPlane) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryFilterControlPlane.

func (*QueryFilterControlPlane) DeepCopyInto

func (in *QueryFilterControlPlane) DeepCopyInto(out *QueryFilterControlPlane)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryGroupKind

type QueryGroupKind struct {
	// apiGroup is the API group to query. If empty all groups will be queried.
	APIGroup string `json:"apiGroup,omitempty"`
	// kind is kind to query. Kinds are case-insensitive and also match plural
	// resources. If empty all kinds will be queried.
	Kind string `json:"kind,omitempty"`
}

QueryGroupKind specifies how to query for GroupKinds.

func (*QueryGroupKind) DeepCopy

func (in *QueryGroupKind) DeepCopy() *QueryGroupKind

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryGroupKind.

func (*QueryGroupKind) DeepCopyInto

func (in *QueryGroupKind) DeepCopyInto(out *QueryGroupKind)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryGrouping

type QueryGrouping string

QueryGrouping specifies how to group the returned objects into multiple tables.

const (
	// ByGVKsAndColumns specifies to group by GVKs and column definitions. I.e.
	// rows of different GVKs or with different column definitions are grouped
	// into different tables.
	ByGVKsAndColumns QueryGrouping = "ByGVKsAndColumn"
)

type QueryNestedResources

type QueryNestedResources struct {
	QueryResources `json:",inline"`

	// filters specifies how to filter the returned objects.
	Filters []QueryFilter `json:"filters,omitempty"`
}

QueryNestedResources specifies how to return nested resources.

func (*QueryNestedResources) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryNestedResources.

func (*QueryNestedResources) DeepCopyInto

func (in *QueryNestedResources) DeepCopyInto(out *QueryNestedResources)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryObjects

type QueryObjects struct {
	// id specifies whether to return the id of the object. The id is opaque,
	// i.e. the format is undefined. It's only valid for comparison within the
	// response and as part of the spec.ids field in immediately following queries.
	// The format of the id might change between releases.
	ID bool `json:"id,omitempty"`

	// mutablePath specifies whether to return the mutable path of the object,
	// i.e. the path to the object in the control plane Kubernetes API.
	MutablePath bool `json:"mutablePath,omitempty"`

	// controlPlane specifies that the control plane name and namespace of the
	// object should be returned.
	ControlPlane bool `json:"controlPlane,omitempty"`

	// object specifies how to return the object, i.e. a sparse skeleton of
	// fields. A value of true means that all descendants of that field should
	// be returned. Other primitive values are not allowed. If the type of
	// a field does not match the schema (e.g. an array instead of an object),
	// the field is ignored.
	//
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:pruning:PreserveUnknownFields
	Object *common.JSON `json:"object,omitempty"`

	// table specifies whether to return the object in a table format.
	Table *QueryTable `json:"table,omitempty"`

	// relations specifies which relations to query and what to return.
	// Relation names are predefined strings relative to the release of
	// Spaces.
	//
	// Examples: owners, descendants, resources, events, or their transitive
	// equivalents owners+, descendants+, resources+.
	Relations map[string]QueryRelation `json:"relations,omitempty"`
}

A QueryObjects specifies how to return objects.

func (*QueryObjects) DeepCopy

func (in *QueryObjects) DeepCopy() *QueryObjects

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryObjects.

func (*QueryObjects) DeepCopyInto

func (in *QueryObjects) DeepCopyInto(out *QueryObjects)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryOrder

type QueryOrder struct {
	// creationTimestamp specifies how to order by creation timestamp.
	//
	// +kubebuilder:validation:Enum=Asc;Desc
	CreationTimestamp Direction `json:"creationTimestamp,omitempty"`

	// name specifies how to order by name.
	//
	// +kubebuilder:validation:Enum=Asc;Desc
	Name Direction `json:"name,omitempty"`

	// namespace specifies how to order by namespace.
	//
	// +kubebuilder:validation:Enum=Asc;Desc
	Namespace Direction `json:"namespace,omitempty"`

	// APIGroup specifies how to order by API group.
	//
	// +kubebuilder:validation:Enum=Asc;Desc
	APIGroup Direction `json:"apiGroup,omitempty"`

	// kind specifies how to order by kind.
	//
	// +kubebuilder:validation:Enum=Asc;Desc
	Kind Direction `json:"kind,omitempty"`

	// group specifies how to order by control plane group.
	//
	// +kubebuilder:validation:Enum=Asc;Desc
	Group Direction `json:"group,omitempty"`

	// controlPlane specifies how to order by control plane name.
	ControlPlane Direction `json:"cluster"`
}

A QueryOrder specifies how to order. Exactly one of the fields must be set.

func (*QueryOrder) DeepCopy

func (in *QueryOrder) DeepCopy() *QueryOrder

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryOrder.

func (*QueryOrder) DeepCopyInto

func (in *QueryOrder) DeepCopyInto(out *QueryOrder)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryPage

type QueryPage struct {
	// first is the number of the first object to return relative to the cursor.
	// If neither first nor cursor is specified, objects are returned from the
	// beginning.
	First int `json:"first,omitempty"`
	// cursor is the cursor of the first object to return. This value is opaque,
	// the format cannot be relied on. It is returned by the server in the
	// response to a previous query. If neither first nor cursor is specified,
	// objects are returned from the beginning.
	//
	// Note that cursor values are not stable under different orderings.
	Cursor string `json:"cursor,omitempty"`
}

A QueryPage specifies how to page.

func (*QueryPage) DeepCopy

func (in *QueryPage) DeepCopy() *QueryPage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryPage.

func (*QueryPage) DeepCopyInto

func (in *QueryPage) DeepCopyInto(out *QueryPage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryRelation

type QueryRelation struct {
	QueryNestedResources `json:",inline"`
}

A QueryRelation specifies how to return objects in a relation.

func (*QueryRelation) DeepCopy

func (in *QueryRelation) DeepCopy() *QueryRelation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryRelation.

func (*QueryRelation) DeepCopyInto

func (in *QueryRelation) DeepCopyInto(out *QueryRelation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryResources

type QueryResources struct {
	// count specifies whether to return the number of objects. Note that
	// computing the count is expensive and should only be done if necessary.
	// Count is the remaining objects that match the query after paging.
	Count bool `json:"count,omitempty"`

	// objects specifies how to return the objects.
	Objects *QueryObjects `json:"objects,omitempty"`

	// order specifies how to order the returned objects. The first element
	// specifies the primary order, the second element specifies the secondary,
	// etc.
	Order []QueryOrder `json:"order,omitempty"`

	// limit is the maximal number of objects to return. Defaulted to 100.
	//
	// Note that a limit in a relation subsumes all the children of all parents,
	// i.e. a small limit only makes sense if there is only a single parent,
	// e.g. selected via spec.IDs.
	Limit int `json:"limit,omitempty"`

	// Page specifies how to page the returned objects.
	Page QueryPage `json:"page,omitempty"`

	// Cursor specifies the cursor of the first object to return. This value is
	// opaque and is only valid when passed into spec.page.cursor in a subsequent
	// query. The format of the cursor might change between releases.
	Cursor bool `json:"cursor,omitempty"`
}

QueryResources specifies how to return resources.

func (*QueryResources) DeepCopy

func (in *QueryResources) DeepCopy() *QueryResources

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryResources.

func (*QueryResources) DeepCopyInto

func (in *QueryResources) DeepCopyInto(out *QueryResources)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryResponse

type QueryResponse struct {
	// warnings is a list of warnings that occurred while processing the query.
	// The query is still executed, but these warnings indicate problems. It
	// is recommended to print these to the user.
	Warnings []string `json:"warnings,omitempty"`

	QueryResponseObjects `json:",inline"`
}

A QueryResponse is returned by the query server as response to a Query.

func (*QueryResponse) DeepCopy

func (in *QueryResponse) DeepCopy() *QueryResponse

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryResponse.

func (*QueryResponse) DeepCopyInto

func (in *QueryResponse) DeepCopyInto(out *QueryResponse)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryResponseControlPlane

type QueryResponseControlPlane struct {
	// name is the name of the controlplane of the object.
	Name string `json:"name,omitempty"`
	// namespace is the namespace of the controlplane of the object.
	Namespace string `json:"namespace,omitempty"`
}

QueryResponseControlPlane is the name and namespace of the object.

func (*QueryResponseControlPlane) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryResponseControlPlane.

func (*QueryResponseControlPlane) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryResponseCursor

type QueryResponseCursor struct {
	// cursor is the cursor to the next page of results. If empty, there are no more,
	Next string `json:"next"`
	// page is the page number of the cursor.
	Page int `json:"page"`
	// pageSize is the number of objects per page, i.e. the limit of the query.
	PageSize int `json:"pageSize"`
	// position is the position of the first object in the list of matching objects
	// at the time the first cursor was created. Due to creation and deletion of
	// objects before the cursor this value might be outdated.
	Position int `json:"position"`
}

QueryResponseCursor is the cursor to the next page of results.

func (*QueryResponseCursor) DeepCopy

func (in *QueryResponseCursor) DeepCopy() *QueryResponseCursor

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryResponseCursor.

func (*QueryResponseCursor) DeepCopyInto

func (in *QueryResponseCursor) DeepCopyInto(out *QueryResponseCursor)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryResponseMutablePath

type QueryResponseMutablePath struct {
	// basePath is the base URL of the controlplane, i.e. the Kubernetes API
	// endpoint.
	BasePath string `json:"basePath,omitempty"`

	metav1.GroupVersionResource `json:",inline"`
}

QueryResponseMutablePath is the mutable path of the object, i.e. the path to the Kubernetes API where it can be mutated.

func (*QueryResponseMutablePath) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryResponseMutablePath.

func (*QueryResponseMutablePath) DeepCopyInto

func (in *QueryResponseMutablePath) DeepCopyInto(out *QueryResponseMutablePath)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryResponseObject

type QueryResponseObject struct {
	// id indentifies the object. The id is opaque, i.e. the format is
	// undefined. It's only valid for comparison within the response and as part
	// of the spec.ids field in immediately following queries. The format of the
	// id might change between releases.
	ID string `json:"id,omitempty"`

	// mutablePath is the mutable path of the object, i.e. the path to the
	// object in the controlplane Kubernetes API.
	MutablePath *QueryResponseMutablePath `json:"mutablePath,omitempty"`

	// controlPlane is the name and namespace of the object.
	ControlPlane *QueryResponseControlPlane `json:"controlPlane,omitempty"`

	// object is the sparse representation of the object.
	Object *common.JSONObject `json:"object,omitempty"`

	// errors is the list of errors that occurred while processing the object.
	Errors []string `json:"$errors,omitempty"`

	// relations is the list of objects related to the object.
	Relations map[string]QueryResponseRelation `json:"relations,omitempty"`
}

QueryResponseObject is one object returned by the query.

func (*QueryResponseObject) DeepCopy

func (in *QueryResponseObject) DeepCopy() *QueryResponseObject

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryResponseObject.

func (*QueryResponseObject) DeepCopyInto

func (in *QueryResponseObject) DeepCopyInto(out *QueryResponseObject)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryResponseObjects

type QueryResponseObjects struct {
	// cursor is cursor to the next page of results.
	Cursor *QueryResponseCursor `json:"cursor,omitempty"`

	// objects is the list of objects returned by the query.
	//
	// Objects is mutual exclusive with Tables.
	Objects []QueryResponseObject `json:"objects,omitempty"`

	// tables is the list of tables returned by the query. Objects are grouped
	// as specified in the query. Hence, potentially multiple tables are returned.
	//
	// Objects is mutual exclusive with Tables.
	Tables []QueryResponseTable `json:"tables,omitempty"`

	// count is the total number of objects that match the query.
	Count *int `json:"count,omitempty"`

	// incomplete is true if the query was (potentially) limited before all
	// matching objects. If a non-empty spec.page.cursor has been used, or
	// objects have been skipped through non-zero spec.page.first, this value
	// is always true.
	Incomplete bool `json:"incomplete,omitempty"`
}

QueryResponseObjects is the list of objects returned by the query.

func (*QueryResponseObjects) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryResponseObjects.

func (*QueryResponseObjects) DeepCopyInto

func (in *QueryResponseObjects) DeepCopyInto(out *QueryResponseObjects)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryResponseRelation

type QueryResponseRelation struct {
	QueryResponseObjects `json:",inline"`
}

QueryResponseRelation is the list of objects related to the object.

func (*QueryResponseRelation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryResponseRelation.

func (*QueryResponseRelation) DeepCopyInto

func (in *QueryResponseRelation) DeepCopyInto(out *QueryResponseRelation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryResponseTable

type QueryResponseTable struct {
	// groupVersionKind is the group, version, and kind of the objects in the table.
	GroupVersionKind metav1.GroupVersionKind `json:"groupVersionKind"`
	// columns is the list of columns in the table.
	Columns []metav1.TableColumnDefinition `json:"columns"`
	// rows is the list of rows in the table.
	Rows []metav1.TableRow `json:"rows"`
}

QueryResponseTable is a table representation of a set of API resources.

func (*QueryResponseTable) DeepCopy

func (in *QueryResponseTable) DeepCopy() *QueryResponseTable

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryResponseTable.

func (*QueryResponseTable) DeepCopyInto

func (in *QueryResponseTable) DeepCopyInto(out *QueryResponseTable)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QuerySpec

type QuerySpec struct {
	QueryTopLevelResources `json:",inline"`

	// freshness specifies resource versions per control plane to wait for before
	// returning results. It's helpful to ensure consistency for read-after-write.
	// +optional
	// +listType=map
	// +listMapKey=group
	// +listMapKey=controlPlane
	Freshness []Freshness `json:"freshness,omitempty"`
}

A QuerySpec specifies what to query.

func (*QuerySpec) DeepCopy

func (in *QuerySpec) DeepCopy() *QuerySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuerySpec.

func (*QuerySpec) DeepCopyInto

func (in *QuerySpec) DeepCopyInto(out *QuerySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryTable

type QueryTable struct {
	// grouping specifies how to group the returned objects into multiple
	// tables where every table can have different sets of columns.
	Grouping QueryGrouping `json:"grouping,omitempty"`
}

QueryTable specifies how to return objects in a table or multiple tables (in case of grouping).

func (*QueryTable) DeepCopy

func (in *QueryTable) DeepCopy() *QueryTable

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryTable.

func (*QueryTable) DeepCopyInto

func (in *QueryTable) DeepCopyInto(out *QueryTable)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type QueryTopLevelFilter

type QueryTopLevelFilter struct {
	// controlPlane specifies which control planes to query. If empty, all
	// control planes are queried in the given scope.
	ControlPlane QueryFilterControlPlane `json:"controlPlane,omitempty"`

	// objects specifies what to filter. Objects in the query response will
	// match all criteria in at least one of the specified filters.
	Objects []QueryFilter `json:"objects"`
}

A QueryTopLevelFilter specifies how to filter top level objects. In contrast to QueryFilter, it also specifies which control plane to query.

func (*QueryTopLevelFilter) DeepCopy

func (in *QueryTopLevelFilter) DeepCopy() *QueryTopLevelFilter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryTopLevelFilter.

func (*QueryTopLevelFilter) DeepCopyInto

func (in *QueryTopLevelFilter) DeepCopyInto(out *QueryTopLevelFilter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*QueryTopLevelFilter) ObjectIDs

func (tlf *QueryTopLevelFilter) ObjectIDs() []string

ObjectIDs returns a flat list of object IDs specified in any of the top-level filter's object filters.

type QueryTopLevelResources

type QueryTopLevelResources struct {
	QueryResources `json:",inline"`

	// filter specifies how to filter the returned objects.
	Filter QueryTopLevelFilter `json:"filter,omitempty"`
}

A QueryTopLevelResources specifies how to return top level objects.

func (*QueryTopLevelResources) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueryTopLevelResources.

func (*QueryTopLevelResources) DeepCopyInto

func (in *QueryTopLevelResources) DeepCopyInto(out *QueryTopLevelResources)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SpaceQuery

type SpaceQuery struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec     *QuerySpec     `json:"spec,omitempty"`
	Response *QueryResponse `json:"response,omitempty"`
}

SpaceQuery represents a query against all control planes.

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*SpaceQuery) DeepCopy

func (in *SpaceQuery) DeepCopy() *SpaceQuery

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpaceQuery.

func (*SpaceQuery) DeepCopyInto

func (in *SpaceQuery) DeepCopyInto(out *SpaceQuery)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SpaceQuery) DeepCopyObject

func (in *SpaceQuery) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL