v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=authenticatedoriginpulls.cloudflare.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "authenticatedoriginpulls.cloudflare.upbound.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	AuthenticatedOriginsPulls_Kind             = "AuthenticatedOriginsPulls"
	AuthenticatedOriginsPulls_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: AuthenticatedOriginsPulls_Kind}.String()
	AuthenticatedOriginsPulls_KindAPIVersion   = AuthenticatedOriginsPulls_Kind + "." + CRDGroupVersion.String()
	AuthenticatedOriginsPulls_GroupVersionKind = CRDGroupVersion.WithKind(AuthenticatedOriginsPulls_Kind)
)

Repository type metadata.

View Source
var (
	Certificate_Kind             = "Certificate"
	Certificate_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Certificate_Kind}.String()
	Certificate_KindAPIVersion   = Certificate_Kind + "." + CRDGroupVersion.String()
	Certificate_GroupVersionKind = CRDGroupVersion.WithKind(Certificate_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AuthenticatedOriginsPulls

type AuthenticatedOriginsPulls struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AuthenticatedOriginsPullsSpec   `json:"spec"`
	Status            AuthenticatedOriginsPullsStatus `json:"status,omitempty"`
}

AuthenticatedOriginsPulls is the Schema for the AuthenticatedOriginsPullss API. <no value> +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,cloudflare}

func (*AuthenticatedOriginsPulls) DeepCopy

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

func (*AuthenticatedOriginsPulls) DeepCopyInto

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

func (*AuthenticatedOriginsPulls) DeepCopyObject

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

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

func (*AuthenticatedOriginsPulls) GetCondition

GetCondition of this AuthenticatedOriginsPulls.

func (*AuthenticatedOriginsPulls) GetConnectionDetailsMapping

func (tr *AuthenticatedOriginsPulls) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this AuthenticatedOriginsPulls

func (*AuthenticatedOriginsPulls) GetDeletionPolicy

func (mg *AuthenticatedOriginsPulls) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this AuthenticatedOriginsPulls.

func (*AuthenticatedOriginsPulls) GetID

func (tr *AuthenticatedOriginsPulls) GetID() string

GetID returns ID of underlying Terraform resource of this AuthenticatedOriginsPulls

func (*AuthenticatedOriginsPulls) GetObservation

func (tr *AuthenticatedOriginsPulls) GetObservation() (map[string]any, error)

GetObservation of this AuthenticatedOriginsPulls

func (*AuthenticatedOriginsPulls) GetParameters

func (tr *AuthenticatedOriginsPulls) GetParameters() (map[string]any, error)

GetParameters of this AuthenticatedOriginsPulls

func (*AuthenticatedOriginsPulls) GetProviderConfigReference

func (mg *AuthenticatedOriginsPulls) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this AuthenticatedOriginsPulls.

func (*AuthenticatedOriginsPulls) GetProviderReference

func (mg *AuthenticatedOriginsPulls) GetProviderReference() *xpv1.Reference

GetProviderReference of this AuthenticatedOriginsPulls. Deprecated: Use GetProviderConfigReference.

func (*AuthenticatedOriginsPulls) GetPublishConnectionDetailsTo

func (mg *AuthenticatedOriginsPulls) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this AuthenticatedOriginsPulls.

func (*AuthenticatedOriginsPulls) GetTerraformResourceType

func (mg *AuthenticatedOriginsPulls) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this AuthenticatedOriginsPulls

func (*AuthenticatedOriginsPulls) GetTerraformSchemaVersion

func (tr *AuthenticatedOriginsPulls) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*AuthenticatedOriginsPulls) GetWriteConnectionSecretToReference

func (mg *AuthenticatedOriginsPulls) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this AuthenticatedOriginsPulls.

func (*AuthenticatedOriginsPulls) LateInitialize

func (tr *AuthenticatedOriginsPulls) LateInitialize(attrs []byte) (bool, error)

LateInitialize this AuthenticatedOriginsPulls using its observed tfState. returns True if there are any spec changes for the resource.

func (*AuthenticatedOriginsPulls) ResolveReferences

func (mg *AuthenticatedOriginsPulls) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this AuthenticatedOriginsPulls.

func (*AuthenticatedOriginsPulls) SetConditions

func (mg *AuthenticatedOriginsPulls) SetConditions(c ...xpv1.Condition)

SetConditions of this AuthenticatedOriginsPulls.

func (*AuthenticatedOriginsPulls) SetDeletionPolicy

func (mg *AuthenticatedOriginsPulls) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this AuthenticatedOriginsPulls.

func (*AuthenticatedOriginsPulls) SetObservation

func (tr *AuthenticatedOriginsPulls) SetObservation(obs map[string]any) error

SetObservation for this AuthenticatedOriginsPulls

func (*AuthenticatedOriginsPulls) SetParameters

func (tr *AuthenticatedOriginsPulls) SetParameters(params map[string]any) error

SetParameters for this AuthenticatedOriginsPulls

func (*AuthenticatedOriginsPulls) SetProviderConfigReference

func (mg *AuthenticatedOriginsPulls) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this AuthenticatedOriginsPulls.

func (*AuthenticatedOriginsPulls) SetProviderReference

func (mg *AuthenticatedOriginsPulls) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this AuthenticatedOriginsPulls. Deprecated: Use SetProviderConfigReference.

func (*AuthenticatedOriginsPulls) SetPublishConnectionDetailsTo

func (mg *AuthenticatedOriginsPulls) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this AuthenticatedOriginsPulls.

func (*AuthenticatedOriginsPulls) SetWriteConnectionSecretToReference

func (mg *AuthenticatedOriginsPulls) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this AuthenticatedOriginsPulls.

type AuthenticatedOriginsPullsList

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

AuthenticatedOriginsPullsList contains a list of AuthenticatedOriginsPullss

func (*AuthenticatedOriginsPullsList) DeepCopy

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

func (*AuthenticatedOriginsPullsList) DeepCopyInto

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

func (*AuthenticatedOriginsPullsList) DeepCopyObject

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

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

func (*AuthenticatedOriginsPullsList) GetItems

GetItems of this AuthenticatedOriginsPullsList.

type AuthenticatedOriginsPullsObservation

type AuthenticatedOriginsPullsObservation struct {
	ID *string `json:"id,omitempty" tf:"id,omitempty"`
}

func (*AuthenticatedOriginsPullsObservation) DeepCopy

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

func (*AuthenticatedOriginsPullsObservation) DeepCopyInto

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

type AuthenticatedOriginsPullsParameters

type AuthenticatedOriginsPullsParameters struct {

	// +crossplane:generate:reference:type=Certificate
	// +kubebuilder:validation:Optional
	AuthenticatedOriginPullsCertificate *string `json:"authenticatedOriginPullsCertificate,omitempty" tf:"authenticated_origin_pulls_certificate,omitempty"`

	// Reference to a Certificate to populate authenticatedOriginPullsCertificate.
	// +kubebuilder:validation:Optional
	AuthenticatedOriginPullsCertificateRef *v1.Reference `json:"authenticatedOriginPullsCertificateRef,omitempty" tf:"-"`

	// Selector for a Certificate to populate authenticatedOriginPullsCertificate.
	// +kubebuilder:validation:Optional
	AuthenticatedOriginPullsCertificateSelector *v1.Selector `json:"authenticatedOriginPullsCertificateSelector,omitempty" tf:"-"`

	// +kubebuilder:validation:Required
	Enabled *bool `json:"enabled" tf:"enabled,omitempty"`

	// +kubebuilder:validation:Optional
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// The zone identifier to target for the resource. **Modifying this attribute will force creation of a new resource.**
	// +crossplane:generate:reference:type=github.com/cdloh/provider-cloudflare/apis/zone/v1alpha1.Zone
	// +kubebuilder:validation:Optional
	ZoneID *string `json:"zoneId,omitempty" tf:"zone_id,omitempty"`

	// Reference to a Zone in zone to populate zoneId.
	// +kubebuilder:validation:Optional
	ZoneIDRef *v1.Reference `json:"zoneIdRef,omitempty" tf:"-"`

	// Selector for a Zone in zone to populate zoneId.
	// +kubebuilder:validation:Optional
	ZoneIDSelector *v1.Selector `json:"zoneIdSelector,omitempty" tf:"-"`
}

func (*AuthenticatedOriginsPullsParameters) DeepCopy

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

func (*AuthenticatedOriginsPullsParameters) DeepCopyInto

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

type AuthenticatedOriginsPullsSpec

type AuthenticatedOriginsPullsSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     AuthenticatedOriginsPullsParameters `json:"forProvider"`
}

AuthenticatedOriginsPullsSpec defines the desired state of AuthenticatedOriginsPulls

func (*AuthenticatedOriginsPullsSpec) DeepCopy

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

func (*AuthenticatedOriginsPullsSpec) DeepCopyInto

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

type AuthenticatedOriginsPullsStatus

type AuthenticatedOriginsPullsStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        AuthenticatedOriginsPullsObservation `json:"atProvider,omitempty"`
}

AuthenticatedOriginsPullsStatus defines the observed state of AuthenticatedOriginsPulls.

func (*AuthenticatedOriginsPullsStatus) DeepCopy

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

func (*AuthenticatedOriginsPullsStatus) DeepCopyInto

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

type Certificate

type Certificate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              CertificateSpec   `json:"spec"`
	Status            CertificateStatus `json:"status,omitempty"`
}

Certificate is the Schema for the Certificates API. <no value> +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,cloudflare}

func (*Certificate) DeepCopy

func (in *Certificate) DeepCopy() *Certificate

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

func (*Certificate) DeepCopyInto

func (in *Certificate) DeepCopyInto(out *Certificate)

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

func (*Certificate) DeepCopyObject

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

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

func (*Certificate) GetCondition

func (mg *Certificate) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Certificate.

func (*Certificate) GetConnectionDetailsMapping

func (tr *Certificate) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Certificate

func (*Certificate) GetDeletionPolicy

func (mg *Certificate) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Certificate.

func (*Certificate) GetID

func (tr *Certificate) GetID() string

GetID returns ID of underlying Terraform resource of this Certificate

func (*Certificate) GetObservation

func (tr *Certificate) GetObservation() (map[string]any, error)

GetObservation of this Certificate

func (*Certificate) GetParameters

func (tr *Certificate) GetParameters() (map[string]any, error)

GetParameters of this Certificate

func (*Certificate) GetProviderConfigReference

func (mg *Certificate) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Certificate.

func (*Certificate) GetProviderReference

func (mg *Certificate) GetProviderReference() *xpv1.Reference

GetProviderReference of this Certificate. Deprecated: Use GetProviderConfigReference.

func (*Certificate) GetPublishConnectionDetailsTo

func (mg *Certificate) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Certificate.

func (*Certificate) GetTerraformResourceType

func (mg *Certificate) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Certificate

func (*Certificate) GetTerraformSchemaVersion

func (tr *Certificate) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Certificate) GetWriteConnectionSecretToReference

func (mg *Certificate) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Certificate.

func (*Certificate) LateInitialize

func (tr *Certificate) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Certificate using its observed tfState. returns True if there are any spec changes for the resource.

func (*Certificate) ResolveReferences

func (mg *Certificate) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Certificate.

func (*Certificate) SetConditions

func (mg *Certificate) SetConditions(c ...xpv1.Condition)

SetConditions of this Certificate.

func (*Certificate) SetDeletionPolicy

func (mg *Certificate) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Certificate.

func (*Certificate) SetObservation

func (tr *Certificate) SetObservation(obs map[string]any) error

SetObservation for this Certificate

func (*Certificate) SetParameters

func (tr *Certificate) SetParameters(params map[string]any) error

SetParameters for this Certificate

func (*Certificate) SetProviderConfigReference

func (mg *Certificate) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Certificate.

func (*Certificate) SetProviderReference

func (mg *Certificate) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this Certificate. Deprecated: Use SetProviderConfigReference.

func (*Certificate) SetPublishConnectionDetailsTo

func (mg *Certificate) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Certificate.

func (*Certificate) SetWriteConnectionSecretToReference

func (mg *Certificate) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Certificate.

type CertificateList

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

CertificateList contains a list of Certificates

func (*CertificateList) DeepCopy

func (in *CertificateList) DeepCopy() *CertificateList

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

func (*CertificateList) DeepCopyInto

func (in *CertificateList) DeepCopyInto(out *CertificateList)

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

func (*CertificateList) DeepCopyObject

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

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

func (*CertificateList) GetItems

func (l *CertificateList) GetItems() []resource.Managed

GetItems of this CertificateList.

type CertificateObservation

type CertificateObservation struct {

	// **Modifying this attribute will force creation of a new resource.**
	ExpiresOn *string `json:"expiresOn,omitempty" tf:"expires_on,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// **Modifying this attribute will force creation of a new resource.**
	Issuer *string `json:"issuer,omitempty" tf:"issuer,omitempty"`

	// **Modifying this attribute will force creation of a new resource.**
	SerialNumber *string `json:"serialNumber,omitempty" tf:"serial_number,omitempty"`

	// **Modifying this attribute will force creation of a new resource.**
	Signature *string `json:"signature,omitempty" tf:"signature,omitempty"`

	// **Modifying this attribute will force creation of a new resource.**
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// **Modifying this attribute will force creation of a new resource.**
	UploadedOn *string `json:"uploadedOn,omitempty" tf:"uploaded_on,omitempty"`
}

func (*CertificateObservation) DeepCopy

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

func (*CertificateObservation) DeepCopyInto

func (in *CertificateObservation) DeepCopyInto(out *CertificateObservation)

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

type CertificateParameters

type CertificateParameters struct {

	// **Modifying this attribute will force creation of a new resource.**
	// +kubebuilder:validation:Required
	Certificate *string `json:"certificate" tf:"certificate,omitempty"`

	// **Modifying this attribute will force creation of a new resource.**
	// +kubebuilder:validation:Required
	PrivateKeySecretRef v1.SecretKeySelector `json:"privateKeySecretRef" tf:"-"`

	// **Modifying this attribute will force creation of a new resource.**
	// +kubebuilder:validation:Required
	Type *string `json:"type" tf:"type,omitempty"`

	// The zone identifier to target for the resource. **Modifying this attribute will force creation of a new resource.**
	// +crossplane:generate:reference:type=github.com/cdloh/provider-cloudflare/apis/zone/v1alpha1.Zone
	// +kubebuilder:validation:Optional
	ZoneID *string `json:"zoneId,omitempty" tf:"zone_id,omitempty"`

	// Reference to a Zone in zone to populate zoneId.
	// +kubebuilder:validation:Optional
	ZoneIDRef *v1.Reference `json:"zoneIdRef,omitempty" tf:"-"`

	// Selector for a Zone in zone to populate zoneId.
	// +kubebuilder:validation:Optional
	ZoneIDSelector *v1.Selector `json:"zoneIdSelector,omitempty" tf:"-"`
}

func (*CertificateParameters) DeepCopy

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

func (*CertificateParameters) DeepCopyInto

func (in *CertificateParameters) DeepCopyInto(out *CertificateParameters)

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

type CertificateSpec

type CertificateSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     CertificateParameters `json:"forProvider"`
}

CertificateSpec defines the desired state of Certificate

func (*CertificateSpec) DeepCopy

func (in *CertificateSpec) DeepCopy() *CertificateSpec

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

func (*CertificateSpec) DeepCopyInto

func (in *CertificateSpec) DeepCopyInto(out *CertificateSpec)

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

type CertificateStatus

type CertificateStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        CertificateObservation `json:"atProvider,omitempty"`
}

CertificateStatus defines the observed state of Certificate.

func (*CertificateStatus) DeepCopy

func (in *CertificateStatus) DeepCopy() *CertificateStatus

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

func (*CertificateStatus) DeepCopyInto

func (in *CertificateStatus) DeepCopyInto(out *CertificateStatus)

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