v1beta1

package
v1.57.0 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Generate deepcopy object for bigtable/v1beta1 API group

Package v1beta1 contains API Schema definitions for the bigtable v1beta1 API group. +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/bigtable +k8s:defaulter-gen=TypeMeta +groupName=bigtable.cnrm.cloud.google.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is the group version used to register these objects.
	SchemeGroupVersion = schema.GroupVersion{Group: "bigtable.cnrm.cloud.google.com", Version: "v1beta1"}

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

	// AddToScheme is a global function that registers this API group & version to a scheme
	AddToScheme = SchemeBuilder.AddToScheme

	BigtableAppProfileGVK = schema.GroupVersionKind{
		Group:   SchemeGroupVersion.Group,
		Version: SchemeGroupVersion.Version,
		Kind:    reflect.TypeOf(BigtableAppProfile{}).Name(),
	}

	BigtableGCPolicyGVK = schema.GroupVersionKind{
		Group:   SchemeGroupVersion.Group,
		Version: SchemeGroupVersion.Version,
		Kind:    reflect.TypeOf(BigtableGCPolicy{}).Name(),
	}

	BigtableInstanceGVK = schema.GroupVersionKind{
		Group:   SchemeGroupVersion.Group,
		Version: SchemeGroupVersion.Version,
		Kind:    reflect.TypeOf(BigtableInstance{}).Name(),
	}

	BigtableTableGVK = schema.GroupVersionKind{
		Group:   SchemeGroupVersion.Group,
		Version: SchemeGroupVersion.Version,
		Kind:    reflect.TypeOf(BigtableTable{}).Name(),
	}
)

Functions

This section is empty.

Types

type AppprofileSingleClusterRouting added in v1.45.0

type AppprofileSingleClusterRouting struct {
	/* If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile.
	It is unsafe to send these requests to the same table/row/column in multiple clusters. */
	// +optional
	AllowTransactionalWrites *bool `json:"allowTransactionalWrites,omitempty"`

	/* The cluster to which read/write requests should be routed. */
	ClusterId string `json:"clusterId"`
}

func (*AppprofileSingleClusterRouting) DeepCopy added in v1.45.0

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

func (*AppprofileSingleClusterRouting) DeepCopyInto added in v1.45.0

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

type BigtableAppProfile

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

	Spec   BigtableAppProfileSpec   `json:"spec,omitempty"`
	Status BigtableAppProfileStatus `json:"status,omitempty"`
}

BigtableAppProfile is the Schema for the bigtable API +k8s:openapi-gen=true

func (*BigtableAppProfile) DeepCopy

func (in *BigtableAppProfile) DeepCopy() *BigtableAppProfile

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

func (*BigtableAppProfile) DeepCopyInto

func (in *BigtableAppProfile) DeepCopyInto(out *BigtableAppProfile)

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

func (*BigtableAppProfile) DeepCopyObject

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

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

type BigtableAppProfileList

type BigtableAppProfileList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BigtableAppProfile `json:"items"`
}

BigtableAppProfileList contains a list of BigtableAppProfile

func (*BigtableAppProfileList) DeepCopy

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

func (*BigtableAppProfileList) DeepCopyInto

func (in *BigtableAppProfileList) DeepCopyInto(out *BigtableAppProfileList)

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

func (*BigtableAppProfileList) DeepCopyObject

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

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

type BigtableAppProfileSpec

type BigtableAppProfileSpec struct {
	/* Long form description of the use case for this app profile. */
	// +optional
	Description *string `json:"description,omitempty"`

	/* The instance to create the app profile within. */
	// +optional
	InstanceRef *v1alpha1.ResourceRef `json:"instanceRef,omitempty"`

	/* Immutable. If true, read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available
	in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes
	consistency to improve availability. */
	// +optional
	MultiClusterRoutingUseAny *bool `json:"multiClusterRoutingUseAny,omitempty"`

	/* Immutable. Optional. The appProfileId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. */
	// +optional
	ResourceID *string `json:"resourceID,omitempty"`

	/* Use a single-cluster routing policy. */
	// +optional
	SingleClusterRouting *AppprofileSingleClusterRouting `json:"singleClusterRouting,omitempty"`
}

func (*BigtableAppProfileSpec) DeepCopy

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

func (*BigtableAppProfileSpec) DeepCopyInto

func (in *BigtableAppProfileSpec) DeepCopyInto(out *BigtableAppProfileSpec)

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

type BigtableAppProfileStatus

type BigtableAppProfileStatus struct {
	/* Conditions represent the latest available observations of the
	   BigtableAppProfile's current state. */
	Conditions []v1alpha1.Condition `json:"conditions,omitempty"`
	/* The unique name of the requested app profile. Values are of the form 'projects/<project>/instances/<instance>/appProfiles/<appProfileId>'. */
	Name string `json:"name,omitempty"`
	/* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */
	ObservedGeneration int `json:"observedGeneration,omitempty"`
}

func (*BigtableAppProfileStatus) DeepCopy

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

func (*BigtableAppProfileStatus) DeepCopyInto

func (in *BigtableAppProfileStatus) DeepCopyInto(out *BigtableAppProfileStatus)

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

type BigtableGCPolicy

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

	Spec   BigtableGCPolicySpec   `json:"spec,omitempty"`
	Status BigtableGCPolicyStatus `json:"status,omitempty"`
}

BigtableGCPolicy is the Schema for the bigtable API +k8s:openapi-gen=true

func (*BigtableGCPolicy) DeepCopy

func (in *BigtableGCPolicy) DeepCopy() *BigtableGCPolicy

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

func (*BigtableGCPolicy) DeepCopyInto

func (in *BigtableGCPolicy) DeepCopyInto(out *BigtableGCPolicy)

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

func (*BigtableGCPolicy) DeepCopyObject

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

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

type BigtableGCPolicyList

type BigtableGCPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BigtableGCPolicy `json:"items"`
}

BigtableGCPolicyList contains a list of BigtableGCPolicy

func (*BigtableGCPolicyList) DeepCopy

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

func (*BigtableGCPolicyList) DeepCopyInto

func (in *BigtableGCPolicyList) DeepCopyInto(out *BigtableGCPolicyList)

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

func (*BigtableGCPolicyList) DeepCopyObject

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

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

type BigtableGCPolicySpec

type BigtableGCPolicySpec struct {
	/* Immutable. The name of the column family. */
	ColumnFamily string `json:"columnFamily"`

	/* The name of the Bigtable instance. */
	InstanceRef v1alpha1.ResourceRef `json:"instanceRef"`

	/* Immutable. GC policy that applies to all cells older than the given age. */
	// +optional
	MaxAge []GcpolicyMaxAge `json:"maxAge,omitempty"`

	/* Immutable. GC policy that applies to all versions of a cell except for the most recent. */
	// +optional
	MaxVersion []GcpolicyMaxVersion `json:"maxVersion,omitempty"`

	/* Immutable. If multiple policies are set, you should choose between UNION OR INTERSECTION. */
	// +optional
	Mode *string `json:"mode,omitempty"`

	/* The name of the table. */
	TableRef v1alpha1.ResourceRef `json:"tableRef"`
}

func (*BigtableGCPolicySpec) DeepCopy

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

func (*BigtableGCPolicySpec) DeepCopyInto

func (in *BigtableGCPolicySpec) DeepCopyInto(out *BigtableGCPolicySpec)

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

type BigtableGCPolicyStatus

type BigtableGCPolicyStatus struct {
	/* Conditions represent the latest available observations of the
	   BigtableGCPolicy's current state. */
	Conditions []v1alpha1.Condition `json:"conditions,omitempty"`
	/* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */
	ObservedGeneration int `json:"observedGeneration,omitempty"`
}

func (*BigtableGCPolicyStatus) DeepCopy

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

func (*BigtableGCPolicyStatus) DeepCopyInto

func (in *BigtableGCPolicyStatus) DeepCopyInto(out *BigtableGCPolicyStatus)

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

type BigtableInstance

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

	Spec   BigtableInstanceSpec   `json:"spec,omitempty"`
	Status BigtableInstanceStatus `json:"status,omitempty"`
}

BigtableInstance is the Schema for the bigtable API +k8s:openapi-gen=true

func (*BigtableInstance) DeepCopy

func (in *BigtableInstance) DeepCopy() *BigtableInstance

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

func (*BigtableInstance) DeepCopyInto

func (in *BigtableInstance) DeepCopyInto(out *BigtableInstance)

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

func (*BigtableInstance) DeepCopyObject

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

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

type BigtableInstanceList

type BigtableInstanceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BigtableInstance `json:"items"`
}

BigtableInstanceList contains a list of BigtableInstance

func (*BigtableInstanceList) DeepCopy

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

func (*BigtableInstanceList) DeepCopyInto

func (in *BigtableInstanceList) DeepCopyInto(out *BigtableInstanceList)

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

func (*BigtableInstanceList) DeepCopyObject

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

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

type BigtableInstanceSpec

type BigtableInstanceSpec struct {
	/* A block of cluster configuration options. This can be specified at least once. */
	// +optional
	Cluster []InstanceCluster `json:"cluster,omitempty"`

	/*  */
	// +optional
	DeletionProtection *bool `json:"deletionProtection,omitempty"`

	/* The human-readable display name of the Bigtable instance. Defaults to the instance name. */
	// +optional
	DisplayName *string `json:"displayName,omitempty"`

	/* DEPRECATED — It is recommended to leave this field unspecified since the distinction between "DEVELOPMENT" and "PRODUCTION" instances is going away, and all instances will become "PRODUCTION" instances. This means that new and existing "DEVELOPMENT" instances will be converted to "PRODUCTION" instances. It is recommended for users to use "PRODUCTION" instances in any case, since a 1-node "PRODUCTION" instance is functionally identical to a "DEVELOPMENT" instance, but without the accompanying restrictions. The instance type to create. One of "DEVELOPMENT" or "PRODUCTION". Defaults to "PRODUCTION". */
	// +optional
	InstanceType *string `json:"instanceType,omitempty"`

	/* Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. */
	// +optional
	ResourceID *string `json:"resourceID,omitempty"`
}

func (*BigtableInstanceSpec) DeepCopy

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

func (*BigtableInstanceSpec) DeepCopyInto

func (in *BigtableInstanceSpec) DeepCopyInto(out *BigtableInstanceSpec)

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

type BigtableInstanceStatus

type BigtableInstanceStatus struct {
	/* Conditions represent the latest available observations of the
	   BigtableInstance's current state. */
	Conditions []v1alpha1.Condition `json:"conditions,omitempty"`
	/* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */
	ObservedGeneration int `json:"observedGeneration,omitempty"`
}

func (*BigtableInstanceStatus) DeepCopy

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

func (*BigtableInstanceStatus) DeepCopyInto

func (in *BigtableInstanceStatus) DeepCopyInto(out *BigtableInstanceStatus)

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

type BigtableTable

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

	Spec   BigtableTableSpec   `json:"spec,omitempty"`
	Status BigtableTableStatus `json:"status,omitempty"`
}

BigtableTable is the Schema for the bigtable API +k8s:openapi-gen=true

func (*BigtableTable) DeepCopy

func (in *BigtableTable) DeepCopy() *BigtableTable

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

func (*BigtableTable) DeepCopyInto

func (in *BigtableTable) DeepCopyInto(out *BigtableTable)

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

func (*BigtableTable) DeepCopyObject

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

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

type BigtableTableList

type BigtableTableList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BigtableTable `json:"items"`
}

BigtableTableList contains a list of BigtableTable

func (*BigtableTableList) DeepCopy

func (in *BigtableTableList) DeepCopy() *BigtableTableList

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

func (*BigtableTableList) DeepCopyInto

func (in *BigtableTableList) DeepCopyInto(out *BigtableTableList)

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

func (*BigtableTableList) DeepCopyObject

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

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

type BigtableTableSpec

type BigtableTableSpec struct {
	/* A group of columns within a table which share a common configuration. This can be specified multiple times. */
	// +optional
	ColumnFamily []TableColumnFamily `json:"columnFamily,omitempty"`

	/* The name of the Bigtable instance. */
	InstanceRef v1alpha1.ResourceRef `json:"instanceRef"`

	/* Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. */
	// +optional
	ResourceID *string `json:"resourceID,omitempty"`

	/*  */
	// +optional
	SplitKeys []string `json:"splitKeys,omitempty"`
}

func (*BigtableTableSpec) DeepCopy

func (in *BigtableTableSpec) DeepCopy() *BigtableTableSpec

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

func (*BigtableTableSpec) DeepCopyInto

func (in *BigtableTableSpec) DeepCopyInto(out *BigtableTableSpec)

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

type BigtableTableStatus

type BigtableTableStatus struct {
	/* Conditions represent the latest available observations of the
	   BigtableTable's current state. */
	Conditions []v1alpha1.Condition `json:"conditions,omitempty"`
	/* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */
	ObservedGeneration int `json:"observedGeneration,omitempty"`
}

func (*BigtableTableStatus) DeepCopy

func (in *BigtableTableStatus) DeepCopy() *BigtableTableStatus

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

func (*BigtableTableStatus) DeepCopyInto

func (in *BigtableTableStatus) DeepCopyInto(out *BigtableTableStatus)

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

type GcpolicyMaxAge added in v1.45.0

type GcpolicyMaxAge struct {
	/* DEPRECATED — Deprecated in favor of duration. Immutable. Number of days before applying GC policy. */
	// +optional
	Days *int `json:"days,omitempty"`

	/* Immutable. Duration before applying GC policy */
	// +optional
	Duration *string `json:"duration,omitempty"`
}

func (*GcpolicyMaxAge) DeepCopy added in v1.45.0

func (in *GcpolicyMaxAge) DeepCopy() *GcpolicyMaxAge

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

func (*GcpolicyMaxAge) DeepCopyInto added in v1.45.0

func (in *GcpolicyMaxAge) DeepCopyInto(out *GcpolicyMaxAge)

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

type GcpolicyMaxVersion added in v1.45.0

type GcpolicyMaxVersion struct {
	/* Immutable. Number of version before applying the GC policy. */
	Number int `json:"number"`
}

func (*GcpolicyMaxVersion) DeepCopy added in v1.45.0

func (in *GcpolicyMaxVersion) DeepCopy() *GcpolicyMaxVersion

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

func (*GcpolicyMaxVersion) DeepCopyInto added in v1.45.0

func (in *GcpolicyMaxVersion) DeepCopyInto(out *GcpolicyMaxVersion)

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

type InstanceCluster added in v1.45.0

type InstanceCluster struct {
	/* The ID of the Cloud Bigtable cluster. */
	ClusterId string `json:"clusterId"`

	/* Describes the Cloud KMS encryption key that will be used to protect the destination Bigtable
	cluster. The requirements for this key are: 1) The Cloud Bigtable service account associated with the project that contains
	this cluster must be granted the cloudkms.cryptoKeyEncrypterDecrypter role on the CMEK key.
	2) Only regional keys can be used and the region of the CMEK key must match the region of the cluster.
	3) All clusters within an instance must use the same CMEK key access to this encryption key. */
	// +optional
	KmsKeyRef *v1alpha1.ResourceRef `json:"kmsKeyRef,omitempty"`

	/* The number of nodes in your Cloud Bigtable cluster. For PRODUCTION instances where the numNodes will be managed by Config Connector, this field is required with a minimum of 1. For a DEVELOPMENT instance or for an existing instance where the numNodes is managed outside of Config Connector, this field must be left unset. */
	// +optional
	NumNodes *int `json:"numNodes,omitempty"`

	/* The storage type to use. One of "SSD" or "HDD". Defaults to "SSD". */
	// +optional
	StorageType *string `json:"storageType,omitempty"`

	/* The zone to create the Cloud Bigtable cluster in. Each cluster must have a different zone in the same region. Zones that support Bigtable instances are noted on the Cloud Bigtable locations page. */
	Zone string `json:"zone"`
}

func (*InstanceCluster) DeepCopy added in v1.45.0

func (in *InstanceCluster) DeepCopy() *InstanceCluster

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

func (*InstanceCluster) DeepCopyInto added in v1.45.0

func (in *InstanceCluster) DeepCopyInto(out *InstanceCluster)

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

type TableColumnFamily added in v1.45.0

type TableColumnFamily struct {
	/* The name of the column family. */
	Family string `json:"family"`
}

func (*TableColumnFamily) DeepCopy added in v1.45.0

func (in *TableColumnFamily) DeepCopy() *TableColumnFamily

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

func (*TableColumnFamily) DeepCopyInto added in v1.45.0

func (in *TableColumnFamily) DeepCopyInto(out *TableColumnFamily)

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

Jump to

Keyboard shortcuts

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