corev1

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	CloudProvider_name = map[int32]string{
		0: "AWS",
		1: "GCP",
		2: "Azure",
		3: "Alibaba",
	}
	CloudProvider_value = map[string]int32{
		"AWS":     0,
		"GCP":     1,
		"Azure":   2,
		"Alibaba": 3,
	}
)

Enum value maps for CloudProvider.

View Source
var AccountService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "core.v1.AccountService",
	HandlerType: (*AccountServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetAccount",
			Handler:    _AccountService_GetAccount_Handler,
		},
		{
			MethodName: "DeleteAccount",
			Handler:    _AccountService_DeleteAccount_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "core/v1/account_service.proto",
}

AccountService_ServiceDesc is the grpc.ServiceDesc for AccountService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_core_v1_access_token_proto protoreflect.FileDescriptor
View Source
var File_core_v1_account_proto protoreflect.FileDescriptor
View Source
var File_core_v1_account_service_proto protoreflect.FileDescriptor
View Source
var File_core_v1_cloud_provider_profile_proto protoreflect.FileDescriptor
View Source
var File_core_v1_cloud_provider_proto protoreflect.FileDescriptor
View Source
var File_core_v1_common_proto protoreflect.FileDescriptor
View Source
var File_core_v1_login_service_proto protoreflect.FileDescriptor
View Source
var LoginService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "core.v1.LoginService",
	HandlerType: (*LoginServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetAccessToken",
			Handler:    _LoginService_GetAccessToken_Handler,
		},
		{
			MethodName: "CreateAccount",
			Handler:    _LoginService_CreateAccount_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "core/v1/login_service.proto",
}

LoginService_ServiceDesc is the grpc.ServiceDesc for LoginService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterAccountServiceServer added in v0.0.7

func RegisterAccountServiceServer(s grpc.ServiceRegistrar, srv AccountServiceServer)

func RegisterLoginServiceServer added in v0.0.7

func RegisterLoginServiceServer(s grpc.ServiceRegistrar, srv LoginServiceServer)

Types

type Account

type Account struct {

	// Id is a globally unique identifier
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// DisplayName is not unique
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Email is an optional valid RFC 5321 email address
	Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	// CreatedOn contains the UTC timestamp of when this `Account` was
	// created in `any.cloud`
	CreatedOn *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created_on,json=createdOn,proto3" json:"created_on,omitempty"`
	// Tags contains a set of free-form key/value pairs
	Tags map[string]string `` /* 150-byte string literal not displayed */
	// contains filtered or unexported fields
}

An `Account` is the billable entity in `any.cloud`. It may have zero or more `CloudProviderProfile`s associated with it.

func (*Account) Descriptor deprecated

func (*Account) Descriptor() ([]byte, []int)

Deprecated: Use Account.ProtoReflect.Descriptor instead.

func (*Account) GetCreatedOn

func (x *Account) GetCreatedOn() *timestamppb.Timestamp

func (*Account) GetDisplayName

func (x *Account) GetDisplayName() string

func (*Account) GetEmail added in v0.0.6

func (x *Account) GetEmail() string

func (*Account) GetId

func (x *Account) GetId() string

func (*Account) GetTags

func (x *Account) GetTags() map[string]string

func (*Account) ProtoMessage

func (*Account) ProtoMessage()

func (*Account) ProtoReflect

func (x *Account) ProtoReflect() protoreflect.Message

func (*Account) Reset

func (x *Account) Reset()

func (*Account) String

func (x *Account) String() string

type AccountServiceClient added in v0.0.7

type AccountServiceClient interface {
	// Returns information about the `Account` associated with the
	// authenticated principal.
	GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error)
	// Deletes the `Account` associated with the authenticated principal.
	DeleteAccount(ctx context.Context, in *DeleteAccountRequest, opts ...grpc.CallOption) (*DeleteAccountResponse, error)
}

AccountServiceClient is the client API for AccountService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewAccountServiceClient added in v0.0.7

func NewAccountServiceClient(cc grpc.ClientConnInterface) AccountServiceClient

type AccountServiceServer added in v0.0.7

type AccountServiceServer interface {
	// Returns information about the `Account` associated with the
	// authenticated principal.
	GetAccount(context.Context, *GetAccountRequest) (*GetAccountResponse, error)
	// Deletes the `Account` associated with the authenticated principal.
	DeleteAccount(context.Context, *DeleteAccountRequest) (*DeleteAccountResponse, error)
	// contains filtered or unexported methods
}

AccountServiceServer is the server API for AccountService service. All implementations must embed UnimplementedAccountServiceServer for forward compatibility

type CloudProvider

type CloudProvider int32
const (
	CloudProvider_AWS     CloudProvider = 0
	CloudProvider_GCP     CloudProvider = 1
	CloudProvider_Azure   CloudProvider = 2
	CloudProvider_Alibaba CloudProvider = 3
)

func (CloudProvider) Descriptor

func (CloudProvider) Enum

func (x CloudProvider) Enum() *CloudProvider

func (CloudProvider) EnumDescriptor deprecated

func (CloudProvider) EnumDescriptor() ([]byte, []int)

Deprecated: Use CloudProvider.Descriptor instead.

func (CloudProvider) Number

func (CloudProvider) String

func (x CloudProvider) String() string

func (CloudProvider) Type

type CloudProviderProfile

type CloudProviderProfile struct {

	// Id is a globally unique identifier
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Provider identifies the cloud provider
	CloudProvider CloudProvider `` /* 128-byte string literal not displayed */
	// AccountId is the `any.cloud` Account identifier for this profile
	AccountId string `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	// CreatedOn contains the UTC timestamp of when this `Account` was
	// created in `any.cloud`
	CreatedOn *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created_on,json=createdOn,proto3" json:"created_on,omitempty"`
	// Tags contains a set of free-form key/value pairs
	Tags map[string]string `` /* 150-byte string literal not displayed */
	// contains filtered or unexported fields
}

A `CloudProviderProfile` associates a set of cloud provider-specific configuration settings with an `Account`

func (*CloudProviderProfile) Descriptor deprecated

func (*CloudProviderProfile) Descriptor() ([]byte, []int)

Deprecated: Use CloudProviderProfile.ProtoReflect.Descriptor instead.

func (*CloudProviderProfile) GetAccountId

func (x *CloudProviderProfile) GetAccountId() string

func (*CloudProviderProfile) GetCloudProvider

func (x *CloudProviderProfile) GetCloudProvider() CloudProvider

func (*CloudProviderProfile) GetCreatedOn

func (x *CloudProviderProfile) GetCreatedOn() *timestamppb.Timestamp

func (*CloudProviderProfile) GetId

func (x *CloudProviderProfile) GetId() string

func (*CloudProviderProfile) GetTags

func (x *CloudProviderProfile) GetTags() map[string]string

func (*CloudProviderProfile) ProtoMessage

func (*CloudProviderProfile) ProtoMessage()

func (*CloudProviderProfile) ProtoReflect

func (x *CloudProviderProfile) ProtoReflect() protoreflect.Message

func (*CloudProviderProfile) Reset

func (x *CloudProviderProfile) Reset()

func (*CloudProviderProfile) String

func (x *CloudProviderProfile) String() string

type CreateAccountFields added in v0.0.6

type CreateAccountFields struct {

	// DisplayName is not unique
	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Email is an optional valid RFC 5321 email address
	Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
	// Email should be a valid RFC
	// Tags contains a set of free-form key/value pairs
	Tags map[string]string `` /* 150-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*CreateAccountFields) Descriptor deprecated added in v0.0.6

func (*CreateAccountFields) Descriptor() ([]byte, []int)

Deprecated: Use CreateAccountFields.ProtoReflect.Descriptor instead.

func (*CreateAccountFields) GetDisplayName added in v0.0.6

func (x *CreateAccountFields) GetDisplayName() string

func (*CreateAccountFields) GetEmail added in v0.0.6

func (x *CreateAccountFields) GetEmail() string

func (*CreateAccountFields) GetTags added in v0.0.6

func (x *CreateAccountFields) GetTags() map[string]string

func (*CreateAccountFields) ProtoMessage added in v0.0.6

func (*CreateAccountFields) ProtoMessage()

func (*CreateAccountFields) ProtoReflect added in v0.0.6

func (x *CreateAccountFields) ProtoReflect() protoreflect.Message

func (*CreateAccountFields) Reset added in v0.0.6

func (x *CreateAccountFields) Reset()

func (*CreateAccountFields) String added in v0.0.6

func (x *CreateAccountFields) String() string

type CreateAccountRequest added in v0.0.6

type CreateAccountRequest struct {
	Fields *CreateAccountFields `protobuf:"bytes,1,opt,name=fields,proto3" json:"fields,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateAccountRequest) Descriptor deprecated added in v0.0.6

func (*CreateAccountRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateAccountRequest.ProtoReflect.Descriptor instead.

func (*CreateAccountRequest) GetFields added in v0.0.6

func (x *CreateAccountRequest) GetFields() *CreateAccountFields

func (*CreateAccountRequest) ProtoMessage added in v0.0.6

func (*CreateAccountRequest) ProtoMessage()

func (*CreateAccountRequest) ProtoReflect added in v0.0.6

func (x *CreateAccountRequest) ProtoReflect() protoreflect.Message

func (*CreateAccountRequest) Reset added in v0.0.6

func (x *CreateAccountRequest) Reset()

func (*CreateAccountRequest) String added in v0.0.6

func (x *CreateAccountRequest) String() string

type CreateAccountResponse added in v0.0.6

type CreateAccountResponse struct {
	Status *ResponseStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateAccountResponse) Descriptor deprecated added in v0.0.6

func (*CreateAccountResponse) Descriptor() ([]byte, []int)

Deprecated: Use CreateAccountResponse.ProtoReflect.Descriptor instead.

func (*CreateAccountResponse) GetStatus added in v0.0.6

func (x *CreateAccountResponse) GetStatus() *ResponseStatus

func (*CreateAccountResponse) ProtoMessage added in v0.0.6

func (*CreateAccountResponse) ProtoMessage()

func (*CreateAccountResponse) ProtoReflect added in v0.0.6

func (x *CreateAccountResponse) ProtoReflect() protoreflect.Message

func (*CreateAccountResponse) Reset added in v0.0.6

func (x *CreateAccountResponse) Reset()

func (*CreateAccountResponse) String added in v0.0.6

func (x *CreateAccountResponse) String() string

type DeleteAccountRequest added in v0.0.6

type DeleteAccountRequest struct {
	// contains filtered or unexported fields
}

func (*DeleteAccountRequest) Descriptor deprecated added in v0.0.6

func (*DeleteAccountRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeleteAccountRequest.ProtoReflect.Descriptor instead.

func (*DeleteAccountRequest) ProtoMessage added in v0.0.6

func (*DeleteAccountRequest) ProtoMessage()

func (*DeleteAccountRequest) ProtoReflect added in v0.0.6

func (x *DeleteAccountRequest) ProtoReflect() protoreflect.Message

func (*DeleteAccountRequest) Reset added in v0.0.6

func (x *DeleteAccountRequest) Reset()

func (*DeleteAccountRequest) String added in v0.0.6

func (x *DeleteAccountRequest) String() string

type DeleteAccountResponse added in v0.0.6

type DeleteAccountResponse struct {
	Status *ResponseStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*DeleteAccountResponse) Descriptor deprecated added in v0.0.6

func (*DeleteAccountResponse) Descriptor() ([]byte, []int)

Deprecated: Use DeleteAccountResponse.ProtoReflect.Descriptor instead.

func (*DeleteAccountResponse) GetStatus added in v0.0.6

func (x *DeleteAccountResponse) GetStatus() *ResponseStatus

func (*DeleteAccountResponse) ProtoMessage added in v0.0.6

func (*DeleteAccountResponse) ProtoMessage()

func (*DeleteAccountResponse) ProtoReflect added in v0.0.6

func (x *DeleteAccountResponse) ProtoReflect() protoreflect.Message

func (*DeleteAccountResponse) Reset added in v0.0.6

func (x *DeleteAccountResponse) Reset()

func (*DeleteAccountResponse) String added in v0.0.6

func (x *DeleteAccountResponse) String() string

type GetAccessTokenRequest added in v0.0.7

type GetAccessTokenRequest struct {
	Email    *string `protobuf:"bytes,1,opt,name=email,proto3,oneof" json:"email,omitempty"`
	Password *string `protobuf:"bytes,2,opt,name=password,proto3,oneof" json:"password,omitempty"`
	// contains filtered or unexported fields
}

func (*GetAccessTokenRequest) Descriptor deprecated added in v0.0.7

func (*GetAccessTokenRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetAccessTokenRequest.ProtoReflect.Descriptor instead.

func (*GetAccessTokenRequest) GetEmail added in v0.0.7

func (x *GetAccessTokenRequest) GetEmail() string

func (*GetAccessTokenRequest) GetPassword added in v0.0.7

func (x *GetAccessTokenRequest) GetPassword() string

func (*GetAccessTokenRequest) ProtoMessage added in v0.0.7

func (*GetAccessTokenRequest) ProtoMessage()

func (*GetAccessTokenRequest) ProtoReflect added in v0.0.7

func (x *GetAccessTokenRequest) ProtoReflect() protoreflect.Message

func (*GetAccessTokenRequest) Reset added in v0.0.7

func (x *GetAccessTokenRequest) Reset()

func (*GetAccessTokenRequest) String added in v0.0.7

func (x *GetAccessTokenRequest) String() string

type GetAccessTokenResponse added in v0.0.7

type GetAccessTokenResponse struct {
	AccessToken  string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
	RefreshToken string `protobuf:"bytes,2,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"`
	// contains filtered or unexported fields
}

func (*GetAccessTokenResponse) Descriptor deprecated added in v0.0.7

func (*GetAccessTokenResponse) Descriptor() ([]byte, []int)

Deprecated: Use GetAccessTokenResponse.ProtoReflect.Descriptor instead.

func (*GetAccessTokenResponse) GetAccessToken added in v0.0.7

func (x *GetAccessTokenResponse) GetAccessToken() string

func (*GetAccessTokenResponse) GetRefreshToken added in v0.0.7

func (x *GetAccessTokenResponse) GetRefreshToken() string

func (*GetAccessTokenResponse) ProtoMessage added in v0.0.7

func (*GetAccessTokenResponse) ProtoMessage()

func (*GetAccessTokenResponse) ProtoReflect added in v0.0.7

func (x *GetAccessTokenResponse) ProtoReflect() protoreflect.Message

func (*GetAccessTokenResponse) Reset added in v0.0.7

func (x *GetAccessTokenResponse) Reset()

func (*GetAccessTokenResponse) String added in v0.0.7

func (x *GetAccessTokenResponse) String() string

type GetAccountRequest added in v0.0.6

type GetAccountRequest struct {
	Options *GetAccountRequestOptions `protobuf:"bytes,2,opt,name=options,proto3,oneof" json:"options,omitempty"`
	// contains filtered or unexported fields
}

func (*GetAccountRequest) Descriptor deprecated added in v0.0.6

func (*GetAccountRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetAccountRequest.ProtoReflect.Descriptor instead.

func (*GetAccountRequest) GetOptions added in v0.0.6

func (*GetAccountRequest) ProtoMessage added in v0.0.6

func (*GetAccountRequest) ProtoMessage()

func (*GetAccountRequest) ProtoReflect added in v0.0.6

func (x *GetAccountRequest) ProtoReflect() protoreflect.Message

func (*GetAccountRequest) Reset added in v0.0.6

func (x *GetAccountRequest) Reset()

func (*GetAccountRequest) String added in v0.0.6

func (x *GetAccountRequest) String() string

type GetAccountRequestOptions added in v0.0.6

type GetAccountRequestOptions struct {
	ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
	// contains filtered or unexported fields
}

func (*GetAccountRequestOptions) Descriptor deprecated added in v0.0.6

func (*GetAccountRequestOptions) Descriptor() ([]byte, []int)

Deprecated: Use GetAccountRequestOptions.ProtoReflect.Descriptor instead.

func (*GetAccountRequestOptions) GetReadMask added in v0.0.6

func (*GetAccountRequestOptions) ProtoMessage added in v0.0.6

func (*GetAccountRequestOptions) ProtoMessage()

func (*GetAccountRequestOptions) ProtoReflect added in v0.0.6

func (x *GetAccountRequestOptions) ProtoReflect() protoreflect.Message

func (*GetAccountRequestOptions) Reset added in v0.0.6

func (x *GetAccountRequestOptions) Reset()

func (*GetAccountRequestOptions) String added in v0.0.6

func (x *GetAccountRequestOptions) String() string

type GetAccountResponse added in v0.0.6

type GetAccountResponse struct {
	Status  *ResponseStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	Account *Account        `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"`
	// contains filtered or unexported fields
}

func (*GetAccountResponse) Descriptor deprecated added in v0.0.6

func (*GetAccountResponse) Descriptor() ([]byte, []int)

Deprecated: Use GetAccountResponse.ProtoReflect.Descriptor instead.

func (*GetAccountResponse) GetAccount added in v0.0.6

func (x *GetAccountResponse) GetAccount() *Account

func (*GetAccountResponse) GetStatus added in v0.0.6

func (x *GetAccountResponse) GetStatus() *ResponseStatus

func (*GetAccountResponse) ProtoMessage added in v0.0.6

func (*GetAccountResponse) ProtoMessage()

func (*GetAccountResponse) ProtoReflect added in v0.0.6

func (x *GetAccountResponse) ProtoReflect() protoreflect.Message

func (*GetAccountResponse) Reset added in v0.0.6

func (x *GetAccountResponse) Reset()

func (*GetAccountResponse) String added in v0.0.6

func (x *GetAccountResponse) String() string

type LoginServiceClient added in v0.0.7

type LoginServiceClient interface {
	// Logs in a user into to `any.cloud` by returning an access token that can
	// be attached to future API calls.
	GetAccessToken(ctx context.Context, in *GetAccessTokenRequest, opts ...grpc.CallOption) (*GetAccessTokenResponse, error)
	// Signs up a new account with `any.cloud`.
	//
	// This ends up creating a new `Account` object that you can retrieve using
	// the `AccountGet` API.
	CreateAccount(ctx context.Context, in *CreateAccountRequest, opts ...grpc.CallOption) (*CreateAccountResponse, error)
}

LoginServiceClient is the client API for LoginService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewLoginServiceClient added in v0.0.7

func NewLoginServiceClient(cc grpc.ClientConnInterface) LoginServiceClient

type LoginServiceServer added in v0.0.7

type LoginServiceServer interface {
	// Logs in a user into to `any.cloud` by returning an access token that can
	// be attached to future API calls.
	GetAccessToken(context.Context, *GetAccessTokenRequest) (*GetAccessTokenResponse, error)
	// Signs up a new account with `any.cloud`.
	//
	// This ends up creating a new `Account` object that you can retrieve using
	// the `AccountGet` API.
	CreateAccount(context.Context, *CreateAccountRequest) (*CreateAccountResponse, error)
	// contains filtered or unexported methods
}

LoginServiceServer is the server API for LoginService service. All implementations must embed UnimplementedLoginServiceServer for forward compatibility

type ResponseStatus

type ResponseStatus struct {
	Code   string   `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	Errors []string `protobuf:"bytes,2,rep,name=errors,proto3" json:"errors,omitempty"`
	// contains filtered or unexported fields
}

func (*ResponseStatus) Descriptor deprecated

func (*ResponseStatus) Descriptor() ([]byte, []int)

Deprecated: Use ResponseStatus.ProtoReflect.Descriptor instead.

func (*ResponseStatus) GetCode

func (x *ResponseStatus) GetCode() string

func (*ResponseStatus) GetErrors

func (x *ResponseStatus) GetErrors() []string

func (*ResponseStatus) ProtoMessage

func (*ResponseStatus) ProtoMessage()

func (*ResponseStatus) ProtoReflect

func (x *ResponseStatus) ProtoReflect() protoreflect.Message

func (*ResponseStatus) Reset

func (x *ResponseStatus) Reset()

func (*ResponseStatus) String

func (x *ResponseStatus) String() string

type UnimplementedAccountServiceServer added in v0.0.7

type UnimplementedAccountServiceServer struct {
}

UnimplementedAccountServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedAccountServiceServer) DeleteAccount added in v0.0.7

func (UnimplementedAccountServiceServer) GetAccount added in v0.0.7

type UnimplementedLoginServiceServer added in v0.0.7

type UnimplementedLoginServiceServer struct {
}

UnimplementedLoginServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedLoginServiceServer) CreateAccount added in v0.0.7

func (UnimplementedLoginServiceServer) GetAccessToken added in v0.0.7

type UnsafeAccountServiceServer added in v0.0.7

type UnsafeAccountServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeAccountServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AccountServiceServer will result in compilation errors.

type UnsafeLoginServiceServer added in v0.0.7

type UnsafeLoginServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeLoginServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to LoginServiceServer will result in compilation errors.

Jump to

Keyboard shortcuts

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