v1beta1

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2020 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v1beta1 contains managed resources for Azure database services such as SQL server. +kubebuilder:object:generate=true +groupName=database.azure.crossplane.io +versionName=v1beta1

Index

Constants

View Source
const (
	Group   = "database.azure.crossplane.io"
	Version = "v1beta1"
)

Package type metadata.

View Source
const (
	StateDisabled = "Disabled"
	StateDropping = "Dropping"
	StateReady    = "Ready"
)

Possible state strings for SQL types.

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}
)
View Source
var (
	MySQLServerKind             = reflect.TypeOf(MySQLServer{}).Name()
	MySQLServerGroupKind        = schema.GroupKind{Group: Group, Kind: MySQLServerKind}.String()
	MySQLServerKindAPIVersion   = MySQLServerKind + "." + SchemeGroupVersion.String()
	MySQLServerGroupVersionKind = SchemeGroupVersion.WithKind(MySQLServerKind)
)

MySQLServer type metadata.

View Source
var (
	PostgreSQLServerKind             = reflect.TypeOf(PostgreSQLServer{}).Name()
	PostgreSQLServerGroupKind        = schema.GroupKind{Group: Group, Kind: PostgreSQLServerKind}.String()
	PostgreSQLServerKindAPIVersion   = PostgreSQLServerKind + "." + SchemeGroupVersion.String()
	PostgreSQLServerGroupVersionKind = SchemeGroupVersion.WithKind(PostgreSQLServerKind)
)

PostgreSQLServer type metadata.

View Source
var (
	SQLServerClassKind             = reflect.TypeOf(SQLServerClass{}).Name()
	SQLServerClassGroupKind        = schema.GroupKind{Group: Group, Kind: SQLServerClassKind}.String()
	SQLServerClassKindAPIVersion   = SQLServerClassKind + "." + SchemeGroupVersion.String()
	SQLServerClassGroupVersionKind = SchemeGroupVersion.WithKind(SQLServerClassKind)
)

SQLServerClass type metadata.

Functions

This section is empty.

Types

type MySQLServer

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

	Spec   SQLServerSpec   `json:"spec"`
	Status SQLServerStatus `json:"status,omitempty"`
}

A MySQLServer is a managed resource that represents an Azure MySQL Database Server. +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.bindingPhase" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.state" +kubebuilder:printcolumn:name="CLASS",type="string",JSONPath=".spec.classRef.name" +kubebuilder:printcolumn:name="VERSION",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster

func (*MySQLServer) DeepCopy

func (in *MySQLServer) DeepCopy() *MySQLServer

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

func (*MySQLServer) DeepCopyInto

func (in *MySQLServer) DeepCopyInto(out *MySQLServer)

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

func (*MySQLServer) DeepCopyObject

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

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

func (*MySQLServer) GetBindingPhase

func (mg *MySQLServer) GetBindingPhase() runtimev1alpha1.BindingPhase

GetBindingPhase of this MySQLServer.

func (*MySQLServer) GetClaimReference

func (mg *MySQLServer) GetClaimReference() *corev1.ObjectReference

GetClaimReference of this MySQLServer.

func (*MySQLServer) GetClassReference

func (mg *MySQLServer) GetClassReference() *corev1.ObjectReference

GetClassReference of this MySQLServer.

func (*MySQLServer) GetCondition

GetCondition of this MySQLServer.

func (*MySQLServer) GetReclaimPolicy

func (mg *MySQLServer) GetReclaimPolicy() runtimev1alpha1.ReclaimPolicy

GetReclaimPolicy of this MySQLServer.

func (*MySQLServer) GetWriteConnectionSecretToReference

func (mg *MySQLServer) GetWriteConnectionSecretToReference() *runtimev1alpha1.SecretReference

GetWriteConnectionSecretToReference of this MySQLServer.

func (*MySQLServer) SetBindingPhase

func (mg *MySQLServer) SetBindingPhase(p runtimev1alpha1.BindingPhase)

SetBindingPhase of this MySQLServer.

func (*MySQLServer) SetClaimReference

func (mg *MySQLServer) SetClaimReference(r *corev1.ObjectReference)

SetClaimReference of this MySQLServer.

func (*MySQLServer) SetClassReference

func (mg *MySQLServer) SetClassReference(r *corev1.ObjectReference)

SetClassReference of this MySQLServer.

func (*MySQLServer) SetConditions

func (mg *MySQLServer) SetConditions(c ...runtimev1alpha1.Condition)

SetConditions of this MySQLServer.

func (*MySQLServer) SetReclaimPolicy

func (mg *MySQLServer) SetReclaimPolicy(r runtimev1alpha1.ReclaimPolicy)

SetReclaimPolicy of this MySQLServer.

func (*MySQLServer) SetWriteConnectionSecretToReference

func (mg *MySQLServer) SetWriteConnectionSecretToReference(r *runtimev1alpha1.SecretReference)

SetWriteConnectionSecretToReference of this MySQLServer.

type MySQLServerList

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

MySQLServerList contains a list of MySQLServer.

func (*MySQLServerList) DeepCopy

func (in *MySQLServerList) DeepCopy() *MySQLServerList

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

func (*MySQLServerList) DeepCopyInto

func (in *MySQLServerList) DeepCopyInto(out *MySQLServerList)

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

func (*MySQLServerList) DeepCopyObject

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

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

type MySQLServerNameReferencer

type MySQLServerNameReferencer struct {
	corev1.LocalObjectReference `json:",inline"`
}

A MySQLServerNameReferencer returns the server name of a referenced MySQLServer.

func (*MySQLServerNameReferencer) Build

Build returns the server name of the referenced MySQLServer.

func (*MySQLServerNameReferencer) DeepCopy

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

func (*MySQLServerNameReferencer) DeepCopyInto

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

func (*MySQLServerNameReferencer) GetStatus

GetStatus of the referenced MySQLServer.

type PostgreSQLServer

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

	Spec   SQLServerSpec   `json:"spec"`
	Status SQLServerStatus `json:"status,omitempty"`
}

A PostgreSQLServer is a managed resource that represents an Azure PostgreSQL Database Server. +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.bindingPhase" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.state" +kubebuilder:printcolumn:name="CLASS",type="string",JSONPath=".spec.classRef.name" +kubebuilder:printcolumn:name="VERSION",type="string",JSONPath=".spec.version" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster

func (*PostgreSQLServer) DeepCopy

func (in *PostgreSQLServer) DeepCopy() *PostgreSQLServer

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

func (*PostgreSQLServer) DeepCopyInto

func (in *PostgreSQLServer) DeepCopyInto(out *PostgreSQLServer)

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

func (*PostgreSQLServer) DeepCopyObject

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

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

func (*PostgreSQLServer) GetBindingPhase

func (mg *PostgreSQLServer) GetBindingPhase() runtimev1alpha1.BindingPhase

GetBindingPhase of this PostgreSQLServer.

func (*PostgreSQLServer) GetClaimReference

func (mg *PostgreSQLServer) GetClaimReference() *corev1.ObjectReference

GetClaimReference of this PostgreSQLServer.

func (*PostgreSQLServer) GetClassReference

func (mg *PostgreSQLServer) GetClassReference() *corev1.ObjectReference

GetClassReference of this PostgreSQLServer.

func (*PostgreSQLServer) GetCondition

GetCondition of this PostgreSQLServer.

func (*PostgreSQLServer) GetReclaimPolicy

func (mg *PostgreSQLServer) GetReclaimPolicy() runtimev1alpha1.ReclaimPolicy

GetReclaimPolicy of this PostgreSQLServer.

func (*PostgreSQLServer) GetWriteConnectionSecretToReference

func (mg *PostgreSQLServer) GetWriteConnectionSecretToReference() *runtimev1alpha1.SecretReference

GetWriteConnectionSecretToReference of this PostgreSQLServer.

func (*PostgreSQLServer) SetBindingPhase

func (mg *PostgreSQLServer) SetBindingPhase(p runtimev1alpha1.BindingPhase)

SetBindingPhase of this PostgreSQLServer.

func (*PostgreSQLServer) SetClaimReference

func (mg *PostgreSQLServer) SetClaimReference(r *corev1.ObjectReference)

SetClaimReference of this PostgreSQLServer.

func (*PostgreSQLServer) SetClassReference

func (mg *PostgreSQLServer) SetClassReference(r *corev1.ObjectReference)

SetClassReference of this PostgreSQLServer.

func (*PostgreSQLServer) SetConditions

func (mg *PostgreSQLServer) SetConditions(c ...runtimev1alpha1.Condition)

SetConditions of this PostgreSQLServer.

func (*PostgreSQLServer) SetReclaimPolicy

func (mg *PostgreSQLServer) SetReclaimPolicy(r runtimev1alpha1.ReclaimPolicy)

SetReclaimPolicy of this PostgreSQLServer.

func (*PostgreSQLServer) SetWriteConnectionSecretToReference

func (mg *PostgreSQLServer) SetWriteConnectionSecretToReference(r *runtimev1alpha1.SecretReference)

SetWriteConnectionSecretToReference of this PostgreSQLServer.

type PostgreSQLServerList

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

PostgreSQLServerList contains a list of PostgreSQLServer.

func (*PostgreSQLServerList) DeepCopy

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

func (*PostgreSQLServerList) DeepCopyInto

func (in *PostgreSQLServerList) DeepCopyInto(out *PostgreSQLServerList)

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

func (*PostgreSQLServerList) DeepCopyObject

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

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

type PostgreSQLServerNameReferencer

type PostgreSQLServerNameReferencer struct {
	corev1.LocalObjectReference `json:",inline"`
}

A PostgreSQLServerNameReferencer returns the server name of a referenced PostgreSQLServer.

func (*PostgreSQLServerNameReferencer) Build

Build returns the server name of the referenced PostgreSQLServer.

func (*PostgreSQLServerNameReferencer) DeepCopy

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

func (*PostgreSQLServerNameReferencer) DeepCopyInto

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

func (*PostgreSQLServerNameReferencer) GetStatus

GetStatus implements GetStatus method of AttributeReferencer interface

type ResourceGroupNameReferencerForSQLServer

type ResourceGroupNameReferencerForSQLServer struct {
	apisv1alpha3.ResourceGroupNameReferencer `json:",inline"`
}

ResourceGroupNameReferencerForSQLServer is an attribute referencer that resolves the name of a the ResourceGroup.

func (*ResourceGroupNameReferencerForSQLServer) Assign

Assign assigns the retrieved group name to the managed resource

func (*ResourceGroupNameReferencerForSQLServer) DeepCopy

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

func (*ResourceGroupNameReferencerForSQLServer) DeepCopyInto

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

type SKU

type SKU struct {
	// Tier - The tier of the particular SKU.
	// Possible values include: 'Basic', 'GeneralPurpose', 'MemoryOptimized'
	// +kubebuilder:validation:Enum=Basic;GeneralPurpose;MemoryOptimized
	Tier string `json:"tier"`

	// Capacity - The scale up/out capacity, representing server's compute units.
	Capacity int `json:"capacity"`

	// Size - The size code, to be interpreted by resource as appropriate.
	// +optional
	Size *string `json:"size,omitempty"`

	// Family - The family of hardware.
	Family string `json:"family"`
}

SKU billing information related properties of a server.

func (*SKU) DeepCopy

func (in *SKU) DeepCopy() *SKU

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

func (*SKU) DeepCopyInto

func (in *SKU) DeepCopyInto(out *SKU)

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

type SQLServerClass

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

	// SpecTemplate is a template for the spec of a dynamically provisioned
	// SQLServer.
	SpecTemplate SQLServerClassSpecTemplate `json:"specTemplate"`
}

A SQLServerClass is a non-portable resource class. It defines the desired spec of resource claims that use it to dynamically provision a managed resource. +kubebuilder:printcolumn:name="PROVIDER-REF",type="string",JSONPath=".specTemplate.providerRef.name" +kubebuilder:printcolumn:name="RECLAIM-POLICY",type="string",JSONPath=".specTemplate.reclaimPolicy" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster

func (*SQLServerClass) DeepCopy

func (in *SQLServerClass) DeepCopy() *SQLServerClass

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

func (*SQLServerClass) DeepCopyInto

func (in *SQLServerClass) DeepCopyInto(out *SQLServerClass)

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

func (*SQLServerClass) DeepCopyObject

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

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

func (*SQLServerClass) GetReclaimPolicy

func (cs *SQLServerClass) GetReclaimPolicy() runtimev1alpha1.ReclaimPolicy

GetReclaimPolicy of this SQLServerClass.

func (*SQLServerClass) SetReclaimPolicy

func (cs *SQLServerClass) SetReclaimPolicy(r runtimev1alpha1.ReclaimPolicy)

SetReclaimPolicy of this SQLServerClass.

type SQLServerClassList

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

SQLServerClassList contains a list of SQLServerClass.

func (*SQLServerClassList) DeepCopy

func (in *SQLServerClassList) DeepCopy() *SQLServerClassList

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

func (*SQLServerClassList) DeepCopyInto

func (in *SQLServerClassList) DeepCopyInto(out *SQLServerClassList)

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

func (*SQLServerClassList) DeepCopyObject

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

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

type SQLServerClassSpecTemplate

type SQLServerClassSpecTemplate struct {
	runtimev1alpha1.ClassSpecTemplate `json:",inline"`
	ForProvider                       SQLServerParameters `json:"forProvider"`
}

A SQLServerClassSpecTemplate is a template for the spec of a dynamically provisioned MySQLServer or PostgreSQLServer.

func (*SQLServerClassSpecTemplate) DeepCopy

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

func (*SQLServerClassSpecTemplate) DeepCopyInto

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

type SQLServerObservation

type SQLServerObservation struct {
	// ID - Resource ID
	ID string `json:"id,omitempty"`

	// Name - Resource name.
	Name string `json:"name,omitempty"`

	// Type - Resource type.
	Type string `json:"type,omitempty"`

	// UserVisibleState - A state of a server that is visible to user.
	UserVisibleState string `json:"userVisibleState,omitempty"`

	// FullyQualifiedDomainName - The fully qualified domain name of a server.
	FullyQualifiedDomainName string `json:"fullyQualifiedDomainName,omitempty"`

	// MasterServerID - The master server id of a replica server.
	MasterServerID string `json:"masterServerId,omitempty"`

	// LastOperation represents the state of the last operation started by the
	// controller.
	LastOperation apisv1alpha3.AsyncOperation `json:"lastOperation,omitempty"`
}

SQLServerObservation represents the current state of Azure SQL resource.

func (*SQLServerObservation) DeepCopy

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

func (*SQLServerObservation) DeepCopyInto

func (in *SQLServerObservation) DeepCopyInto(out *SQLServerObservation)

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

type SQLServerParameters

type SQLServerParameters struct {
	// ResourceGroupName specifies the name of the resource group that should
	// contain this SQLServer.
	// +immutable
	ResourceGroupName string `json:"resourceGroupName,omitempty"`

	// ResourceGroupNameRef - A reference to a ResourceGroup object to retrieve
	// its name
	// +immutable
	ResourceGroupNameRef *ResourceGroupNameReferencerForSQLServer `json:"resourceGroupNameRef,omitempty"`

	// SKU is the billing information related properties of the server.
	SKU SKU `json:"sku"`

	// Location specifies the location of this SQLServer.
	// +immutable
	Location string `json:"location"`

	// AdministratorLogin - The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).
	// +immutable
	AdministratorLogin string `json:"administratorLogin"`

	// Tags - Application-specific metadata in the form of key-value pairs.
	// +optional
	Tags map[string]string `json:"tags,omitempty"`

	// Version - Server version.
	Version string `json:"version"`

	// SSLEnforcement - Enable ssl enforcement or not when connect to server. Possible values include: 'Enabled', 'Disabled'
	// +kubebuilder:validation:Enum=Enabled;Disabled
	SSLEnforcement string `json:"sslEnforcement"`

	// StorageProfile - Storage profile of a server.
	StorageProfile StorageProfile `json:"storageProfile"`
}

SQLServerParameters define the desired state of an Azure SQL Database, either PostgreSQL or MySQL.

func (*SQLServerParameters) DeepCopy

func (in *SQLServerParameters) DeepCopy() *SQLServerParameters

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

func (*SQLServerParameters) DeepCopyInto

func (in *SQLServerParameters) DeepCopyInto(out *SQLServerParameters)

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

type SQLServerSpec

type SQLServerSpec struct {
	runtimev1alpha1.ResourceSpec `json:",inline"`
	ForProvider                  SQLServerParameters `json:"forProvider"`
}

A SQLServerSpec defines the desired state of a SQLServer.

func (*SQLServerSpec) DeepCopy

func (in *SQLServerSpec) DeepCopy() *SQLServerSpec

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

func (*SQLServerSpec) DeepCopyInto

func (in *SQLServerSpec) DeepCopyInto(out *SQLServerSpec)

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

type SQLServerStatus

type SQLServerStatus struct {
	runtimev1alpha1.ResourceStatus `json:",inline"`
	AtProvider                     SQLServerObservation `json:"atProvider,omitempty"`
}

A SQLServerStatus represents the observed state of a SQLServer.

func (*SQLServerStatus) DeepCopy

func (in *SQLServerStatus) DeepCopy() *SQLServerStatus

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

func (*SQLServerStatus) DeepCopyInto

func (in *SQLServerStatus) DeepCopyInto(out *SQLServerStatus)

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

type StorageProfile

type StorageProfile struct {
	// BackupRetentionDays - Backup retention days for the server.
	// +optional
	BackupRetentionDays *int `json:"backupRetentionDays,omitempty"`

	// GeoRedundantBackup - Enable Geo-redundant or not for server backup.
	// Possible values include: 'Enabled', 'Disabled'
	// +kubebuilder:validation:Enum=Enabled;Disabled
	// +optional
	GeoRedundantBackup *string `json:"geoRedundantBackup,omitempty"`

	// StorageMB - Max storage allowed for a server.
	StorageMB int `json:"storageMB"`

	// StorageAutogrow - Enable Storage Auto Grow.
	// Possible values include: 'Enabled', 'Disabled'
	// +kubebuilder:validation:Enum=Enabled;Disabled
	// +optional
	StorageAutogrow *string `json:"storageAutogrow,omitempty"`
}

StorageProfile storage Profile properties of a server

func (*StorageProfile) DeepCopy

func (in *StorageProfile) DeepCopy() *StorageProfile

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

func (*StorageProfile) DeepCopyInto

func (in *StorageProfile) DeepCopyInto(out *StorageProfile)

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
JackTT - Gopher 🇻🇳