amlfilesystems

package
v0.20240617.1101532 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2024 License: MPL-2.0 Imports: 18 Imported by: 1

README

github.com/hashicorp/go-azure-sdk/resource-manager/storagecache/2024-03-01/amlfilesystems Documentation

The amlfilesystems SDK allows for interaction with the Azure Resource Manager Service storagecache (API Version 2024-03-01).

This readme covers example usages, but further information on using this SDK can be found in the project root.

Import Path

import "github.com/hashicorp/go-azure-helpers/resourcemanager/commonids"
import "github.com/hashicorp/go-azure-sdk/resource-manager/storagecache/2024-03-01/amlfilesystems"

Client Initialization

client := amlfilesystems.NewAmlFilesystemsClientWithBaseURI("https://management.azure.com")
client.Client.Authorizer = authorizer

Example Usage: AmlFilesystemsClient.Archive

ctx := context.TODO()
id := amlfilesystems.NewAmlFilesystemID("12345678-1234-9876-4563-123456789012", "example-resource-group", "amlFilesystemValue")

payload := amlfilesystems.AmlFilesystemArchiveInfo{
	// ...
}


read, err := client.Archive(ctx, id, payload)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: AmlFilesystemsClient.CancelArchive

ctx := context.TODO()
id := amlfilesystems.NewAmlFilesystemID("12345678-1234-9876-4563-123456789012", "example-resource-group", "amlFilesystemValue")

read, err := client.CancelArchive(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: AmlFilesystemsClient.CheckAmlFSSubnets

ctx := context.TODO()
id := commonids.NewSubscriptionID("12345678-1234-9876-4563-123456789012")

payload := amlfilesystems.AmlFilesystemSubnetInfo{
	// ...
}


read, err := client.CheckAmlFSSubnets(ctx, id, payload)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: AmlFilesystemsClient.CreateOrUpdate

ctx := context.TODO()
id := amlfilesystems.NewAmlFilesystemID("12345678-1234-9876-4563-123456789012", "example-resource-group", "amlFilesystemValue")

payload := amlfilesystems.AmlFilesystem{
	// ...
}


if err := client.CreateOrUpdateThenPoll(ctx, id, payload); err != nil {
	// handle the error
}

Example Usage: AmlFilesystemsClient.Delete

ctx := context.TODO()
id := amlfilesystems.NewAmlFilesystemID("12345678-1234-9876-4563-123456789012", "example-resource-group", "amlFilesystemValue")

if err := client.DeleteThenPoll(ctx, id); err != nil {
	// handle the error
}

Example Usage: AmlFilesystemsClient.Get

ctx := context.TODO()
id := amlfilesystems.NewAmlFilesystemID("12345678-1234-9876-4563-123456789012", "example-resource-group", "amlFilesystemValue")

read, err := client.Get(ctx, id)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: AmlFilesystemsClient.GetRequiredAmlFSSubnetsSize

ctx := context.TODO()
id := commonids.NewSubscriptionID("12345678-1234-9876-4563-123456789012")

payload := amlfilesystems.RequiredAmlFilesystemSubnetsSizeInfo{
	// ...
}


read, err := client.GetRequiredAmlFSSubnetsSize(ctx, id, payload)
if err != nil {
	// handle the error
}
if model := read.Model; model != nil {
	// do something with the model/response object
}

Example Usage: AmlFilesystemsClient.List

ctx := context.TODO()
id := commonids.NewSubscriptionID("12345678-1234-9876-4563-123456789012")

// alternatively `client.List(ctx, id)` can be used to do batched pagination
items, err := client.ListComplete(ctx, id)
if err != nil {
	// handle the error
}
for _, item := range items {
	// do something
}

Example Usage: AmlFilesystemsClient.ListByResourceGroup

ctx := context.TODO()
id := commonids.NewResourceGroupID("12345678-1234-9876-4563-123456789012", "example-resource-group")

// alternatively `client.ListByResourceGroup(ctx, id)` can be used to do batched pagination
items, err := client.ListByResourceGroupComplete(ctx, id)
if err != nil {
	// handle the error
}
for _, item := range items {
	// do something
}

Example Usage: AmlFilesystemsClient.Update

ctx := context.TODO()
id := amlfilesystems.NewAmlFilesystemID("12345678-1234-9876-4563-123456789012", "example-resource-group", "amlFilesystemValue")

payload := amlfilesystems.AmlFilesystemUpdate{
	// ...
}


if err := client.UpdateThenPoll(ctx, id, payload); err != nil {
	// handle the error
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PossibleValuesForAmlFilesystemHealthStateType

func PossibleValuesForAmlFilesystemHealthStateType() []string

func PossibleValuesForAmlFilesystemProvisioningStateType

func PossibleValuesForAmlFilesystemProvisioningStateType() []string

func PossibleValuesForAmlFilesystemSquashMode

func PossibleValuesForAmlFilesystemSquashMode() []string

func PossibleValuesForArchiveStatusType

func PossibleValuesForArchiveStatusType() []string

func PossibleValuesForMaintenanceDayOfWeekType

func PossibleValuesForMaintenanceDayOfWeekType() []string

func ValidateAmlFilesystemID

func ValidateAmlFilesystemID(input interface{}, key string) (warnings []string, errors []error)

ValidateAmlFilesystemID checks that 'input' can be parsed as a Aml Filesystem ID

Types

type AmlFilesystem

type AmlFilesystem struct {
	Id         *string                   `json:"id,omitempty"`
	Identity   *identity.UserAssignedMap `json:"identity,omitempty"`
	Location   string                    `json:"location"`
	Name       *string                   `json:"name,omitempty"`
	Properties *AmlFilesystemProperties  `json:"properties,omitempty"`
	Sku        *SkuName                  `json:"sku,omitempty"`
	SystemData *systemdata.SystemData    `json:"systemData,omitempty"`
	Tags       *map[string]string        `json:"tags,omitempty"`
	Type       *string                   `json:"type,omitempty"`
	Zones      *zones.Schema             `json:"zones,omitempty"`
}

type AmlFilesystemArchive

type AmlFilesystemArchive struct {
	FilesystemPath *string                     `json:"filesystemPath,omitempty"`
	Status         *AmlFilesystemArchiveStatus `json:"status,omitempty"`
}

type AmlFilesystemArchiveInfo

type AmlFilesystemArchiveInfo struct {
	FilesystemPath *string `json:"filesystemPath,omitempty"`
}

type AmlFilesystemArchiveStatus

type AmlFilesystemArchiveStatus struct {
	ErrorCode          *string            `json:"errorCode,omitempty"`
	ErrorMessage       *string            `json:"errorMessage,omitempty"`
	LastCompletionTime *string            `json:"lastCompletionTime,omitempty"`
	LastStartedTime    *string            `json:"lastStartedTime,omitempty"`
	PercentComplete    *int64             `json:"percentComplete,omitempty"`
	State              *ArchiveStatusType `json:"state,omitempty"`
}

func (*AmlFilesystemArchiveStatus) GetLastCompletionTimeAsTime

func (o *AmlFilesystemArchiveStatus) GetLastCompletionTimeAsTime() (*time.Time, error)

func (*AmlFilesystemArchiveStatus) GetLastStartedTimeAsTime

func (o *AmlFilesystemArchiveStatus) GetLastStartedTimeAsTime() (*time.Time, error)

func (*AmlFilesystemArchiveStatus) SetLastCompletionTimeAsTime

func (o *AmlFilesystemArchiveStatus) SetLastCompletionTimeAsTime(input time.Time)

func (*AmlFilesystemArchiveStatus) SetLastStartedTimeAsTime

func (o *AmlFilesystemArchiveStatus) SetLastStartedTimeAsTime(input time.Time)

type AmlFilesystemClientInfo

type AmlFilesystemClientInfo struct {
	ContainerStorageInterface *AmlFilesystemContainerStorageInterface `json:"containerStorageInterface,omitempty"`
	LustreVersion             *string                                 `json:"lustreVersion,omitempty"`
	MgsAddress                *string                                 `json:"mgsAddress,omitempty"`
	MountCommand              *string                                 `json:"mountCommand,omitempty"`
}

type AmlFilesystemContainerStorageInterface

type AmlFilesystemContainerStorageInterface struct {
	PersistentVolume      *string `json:"persistentVolume,omitempty"`
	PersistentVolumeClaim *string `json:"persistentVolumeClaim,omitempty"`
	StorageClass          *string `json:"storageClass,omitempty"`
}

type AmlFilesystemEncryptionSettings

type AmlFilesystemEncryptionSettings struct {
	KeyEncryptionKey *KeyVaultKeyReference `json:"keyEncryptionKey,omitempty"`
}

type AmlFilesystemHealth

type AmlFilesystemHealth struct {
	State             *AmlFilesystemHealthStateType `json:"state,omitempty"`
	StatusCode        *string                       `json:"statusCode,omitempty"`
	StatusDescription *string                       `json:"statusDescription,omitempty"`
}

type AmlFilesystemHealthStateType

type AmlFilesystemHealthStateType string
const (
	AmlFilesystemHealthStateTypeAvailable     AmlFilesystemHealthStateType = "Available"
	AmlFilesystemHealthStateTypeDegraded      AmlFilesystemHealthStateType = "Degraded"
	AmlFilesystemHealthStateTypeMaintenance   AmlFilesystemHealthStateType = "Maintenance"
	AmlFilesystemHealthStateTypeTransitioning AmlFilesystemHealthStateType = "Transitioning"
	AmlFilesystemHealthStateTypeUnavailable   AmlFilesystemHealthStateType = "Unavailable"
)

func (*AmlFilesystemHealthStateType) UnmarshalJSON

func (s *AmlFilesystemHealthStateType) UnmarshalJSON(bytes []byte) error

type AmlFilesystemHsmSettings

type AmlFilesystemHsmSettings struct {
	Container             string    `json:"container"`
	ImportPrefix          *string   `json:"importPrefix,omitempty"`
	ImportPrefixesInitial *[]string `json:"importPrefixesInitial,omitempty"`
	LoggingContainer      string    `json:"loggingContainer"`
}

type AmlFilesystemId

type AmlFilesystemId struct {
	SubscriptionId    string
	ResourceGroupName string
	AmlFilesystemName string
}

AmlFilesystemId is a struct representing the Resource ID for a Aml Filesystem

func NewAmlFilesystemID

func NewAmlFilesystemID(subscriptionId string, resourceGroupName string, amlFilesystemName string) AmlFilesystemId

NewAmlFilesystemID returns a new AmlFilesystemId struct

func ParseAmlFilesystemID

func ParseAmlFilesystemID(input string) (*AmlFilesystemId, error)

ParseAmlFilesystemID parses 'input' into a AmlFilesystemId

func ParseAmlFilesystemIDInsensitively

func ParseAmlFilesystemIDInsensitively(input string) (*AmlFilesystemId, error)

ParseAmlFilesystemIDInsensitively parses 'input' case-insensitively into a AmlFilesystemId note: this method should only be used for API response data and not user input

func (*AmlFilesystemId) FromParseResult

func (id *AmlFilesystemId) FromParseResult(input resourceids.ParseResult) error

func (AmlFilesystemId) ID

func (id AmlFilesystemId) ID() string

ID returns the formatted Aml Filesystem ID

func (AmlFilesystemId) Segments

func (id AmlFilesystemId) Segments() []resourceids.Segment

Segments returns a slice of Resource ID Segments which comprise this Aml Filesystem ID

func (AmlFilesystemId) String

func (id AmlFilesystemId) String() string

String returns a human-readable description of this Aml Filesystem ID

type AmlFilesystemOperationPredicate

type AmlFilesystemOperationPredicate struct {
	Id       *string
	Location *string
	Name     *string
	Type     *string
}

func (AmlFilesystemOperationPredicate) Matches

type AmlFilesystemProperties

type AmlFilesystemProperties struct {
	ClientInfo                *AmlFilesystemClientInfo                 `json:"clientInfo,omitempty"`
	EncryptionSettings        *AmlFilesystemEncryptionSettings         `json:"encryptionSettings,omitempty"`
	FilesystemSubnet          string                                   `json:"filesystemSubnet"`
	Health                    *AmlFilesystemHealth                     `json:"health,omitempty"`
	Hsm                       *AmlFilesystemPropertiesHsm              `json:"hsm,omitempty"`
	MaintenanceWindow         AmlFilesystemPropertiesMaintenanceWindow `json:"maintenanceWindow"`
	ProvisioningState         *AmlFilesystemProvisioningStateType      `json:"provisioningState,omitempty"`
	RootSquashSettings        *AmlFilesystemRootSquashSettings         `json:"rootSquashSettings,omitempty"`
	StorageCapacityTiB        float64                                  `json:"storageCapacityTiB"`
	ThroughputProvisionedMBps *int64                                   `json:"throughputProvisionedMBps,omitempty"`
}

type AmlFilesystemPropertiesHsm

type AmlFilesystemPropertiesHsm struct {
	ArchiveStatus *[]AmlFilesystemArchive   `json:"archiveStatus,omitempty"`
	Settings      *AmlFilesystemHsmSettings `json:"settings,omitempty"`
}

type AmlFilesystemPropertiesMaintenanceWindow

type AmlFilesystemPropertiesMaintenanceWindow struct {
	DayOfWeek    *MaintenanceDayOfWeekType `json:"dayOfWeek,omitempty"`
	TimeOfDayUTC *string                   `json:"timeOfDayUTC,omitempty"`
}

type AmlFilesystemProvisioningStateType

type AmlFilesystemProvisioningStateType string
const (
	AmlFilesystemProvisioningStateTypeCanceled  AmlFilesystemProvisioningStateType = "Canceled"
	AmlFilesystemProvisioningStateTypeCreating  AmlFilesystemProvisioningStateType = "Creating"
	AmlFilesystemProvisioningStateTypeDeleting  AmlFilesystemProvisioningStateType = "Deleting"
	AmlFilesystemProvisioningStateTypeFailed    AmlFilesystemProvisioningStateType = "Failed"
	AmlFilesystemProvisioningStateTypeSucceeded AmlFilesystemProvisioningStateType = "Succeeded"
	AmlFilesystemProvisioningStateTypeUpdating  AmlFilesystemProvisioningStateType = "Updating"
)

func (*AmlFilesystemProvisioningStateType) UnmarshalJSON

func (s *AmlFilesystemProvisioningStateType) UnmarshalJSON(bytes []byte) error

type AmlFilesystemRootSquashSettings

type AmlFilesystemRootSquashSettings struct {
	Mode             *AmlFilesystemSquashMode `json:"mode,omitempty"`
	NoSquashNidLists *string                  `json:"noSquashNidLists,omitempty"`
	SquashGID        *int64                   `json:"squashGID,omitempty"`
	SquashUID        *int64                   `json:"squashUID,omitempty"`
	Status           *string                  `json:"status,omitempty"`
}

type AmlFilesystemSquashMode

type AmlFilesystemSquashMode string
const (
	AmlFilesystemSquashModeAll      AmlFilesystemSquashMode = "All"
	AmlFilesystemSquashModeNone     AmlFilesystemSquashMode = "None"
	AmlFilesystemSquashModeRootOnly AmlFilesystemSquashMode = "RootOnly"
)

func (*AmlFilesystemSquashMode) UnmarshalJSON

func (s *AmlFilesystemSquashMode) UnmarshalJSON(bytes []byte) error

type AmlFilesystemSubnetInfo

type AmlFilesystemSubnetInfo struct {
	FilesystemSubnet   *string  `json:"filesystemSubnet,omitempty"`
	Location           *string  `json:"location,omitempty"`
	Sku                *SkuName `json:"sku,omitempty"`
	StorageCapacityTiB *float64 `json:"storageCapacityTiB,omitempty"`
}

type AmlFilesystemUpdate

type AmlFilesystemUpdate struct {
	Properties *AmlFilesystemUpdateProperties `json:"properties,omitempty"`
	Tags       *map[string]string             `json:"tags,omitempty"`
}

type AmlFilesystemUpdateProperties

type AmlFilesystemUpdateProperties struct {
	EncryptionSettings *AmlFilesystemEncryptionSettings                `json:"encryptionSettings,omitempty"`
	MaintenanceWindow  *AmlFilesystemUpdatePropertiesMaintenanceWindow `json:"maintenanceWindow,omitempty"`
	RootSquashSettings *AmlFilesystemRootSquashSettings                `json:"rootSquashSettings,omitempty"`
}

type AmlFilesystemUpdatePropertiesMaintenanceWindow

type AmlFilesystemUpdatePropertiesMaintenanceWindow struct {
	DayOfWeek    *MaintenanceDayOfWeekType `json:"dayOfWeek,omitempty"`
	TimeOfDayUTC *string                   `json:"timeOfDayUTC,omitempty"`
}

type AmlFilesystemsClient

type AmlFilesystemsClient struct {
	Client *resourcemanager.Client
}

func NewAmlFilesystemsClientWithBaseURI

func NewAmlFilesystemsClientWithBaseURI(sdkApi sdkEnv.Api) (*AmlFilesystemsClient, error)

func (AmlFilesystemsClient) Archive

Archive ...

func (AmlFilesystemsClient) CancelArchive

CancelArchive ...

func (AmlFilesystemsClient) CheckAmlFSSubnets

CheckAmlFSSubnets ...

func (AmlFilesystemsClient) CreateOrUpdate

CreateOrUpdate ...

func (AmlFilesystemsClient) CreateOrUpdateThenPoll

func (c AmlFilesystemsClient) CreateOrUpdateThenPoll(ctx context.Context, id AmlFilesystemId, input AmlFilesystem) error

CreateOrUpdateThenPoll performs CreateOrUpdate then polls until it's completed

func (AmlFilesystemsClient) Delete

Delete ...

func (AmlFilesystemsClient) DeleteThenPoll

func (c AmlFilesystemsClient) DeleteThenPoll(ctx context.Context, id AmlFilesystemId) error

DeleteThenPoll performs Delete then polls until it's completed

func (AmlFilesystemsClient) Get

Get ...

func (AmlFilesystemsClient) GetRequiredAmlFSSubnetsSize

GetRequiredAmlFSSubnetsSize ...

func (AmlFilesystemsClient) List

List ...

func (AmlFilesystemsClient) ListByResourceGroup

ListByResourceGroup ...

func (AmlFilesystemsClient) ListByResourceGroupComplete

ListByResourceGroupComplete retrieves all the results into a single object

func (AmlFilesystemsClient) ListByResourceGroupCompleteMatchingPredicate

func (c AmlFilesystemsClient) ListByResourceGroupCompleteMatchingPredicate(ctx context.Context, id commonids.ResourceGroupId, predicate AmlFilesystemOperationPredicate) (result ListByResourceGroupCompleteResult, err error)

ListByResourceGroupCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (AmlFilesystemsClient) ListComplete

ListComplete retrieves all the results into a single object

func (AmlFilesystemsClient) ListCompleteMatchingPredicate

func (c AmlFilesystemsClient) ListCompleteMatchingPredicate(ctx context.Context, id commonids.SubscriptionId, predicate AmlFilesystemOperationPredicate) (result ListCompleteResult, err error)

ListCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (AmlFilesystemsClient) Update

Update ...

func (AmlFilesystemsClient) UpdateThenPoll

UpdateThenPoll performs Update then polls until it's completed

type ArchiveOperationResponse

type ArchiveOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
}

type ArchiveStatusType

type ArchiveStatusType string
const (
	ArchiveStatusTypeCanceled         ArchiveStatusType = "Canceled"
	ArchiveStatusTypeCancelling       ArchiveStatusType = "Cancelling"
	ArchiveStatusTypeCompleted        ArchiveStatusType = "Completed"
	ArchiveStatusTypeFSScanInProgress ArchiveStatusType = "FSScanInProgress"
	ArchiveStatusTypeFailed           ArchiveStatusType = "Failed"
	ArchiveStatusTypeIdle             ArchiveStatusType = "Idle"
	ArchiveStatusTypeInProgress       ArchiveStatusType = "InProgress"
	ArchiveStatusTypeNotConfigured    ArchiveStatusType = "NotConfigured"
)

func (*ArchiveStatusType) UnmarshalJSON

func (s *ArchiveStatusType) UnmarshalJSON(bytes []byte) error

type CancelArchiveOperationResponse

type CancelArchiveOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
}

type CheckAmlFSSubnetsOperationResponse

type CheckAmlFSSubnetsOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
}

type CreateOrUpdateOperationResponse

type CreateOrUpdateOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *AmlFilesystem
}

type DeleteOperationResponse

type DeleteOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
}

type GetOperationResponse

type GetOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *AmlFilesystem
}

type GetRequiredAmlFSSubnetsSizeOperationResponse

type GetRequiredAmlFSSubnetsSizeOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *RequiredAmlFilesystemSubnetsSize
}

type KeyVaultKeyReference

type KeyVaultKeyReference struct {
	KeyUrl      string                          `json:"keyUrl"`
	SourceVault KeyVaultKeyReferenceSourceVault `json:"sourceVault"`
}

type KeyVaultKeyReferenceSourceVault

type KeyVaultKeyReferenceSourceVault struct {
	Id *string `json:"id,omitempty"`
}

type ListByResourceGroupCompleteResult

type ListByResourceGroupCompleteResult struct {
	LatestHttpResponse *http.Response
	Items              []AmlFilesystem
}

type ListByResourceGroupOperationResponse

type ListByResourceGroupOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]AmlFilesystem
}

type ListCompleteResult

type ListCompleteResult struct {
	LatestHttpResponse *http.Response
	Items              []AmlFilesystem
}

type ListOperationResponse

type ListOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]AmlFilesystem
}

type MaintenanceDayOfWeekType

type MaintenanceDayOfWeekType string
const (
	MaintenanceDayOfWeekTypeFriday    MaintenanceDayOfWeekType = "Friday"
	MaintenanceDayOfWeekTypeMonday    MaintenanceDayOfWeekType = "Monday"
	MaintenanceDayOfWeekTypeSaturday  MaintenanceDayOfWeekType = "Saturday"
	MaintenanceDayOfWeekTypeSunday    MaintenanceDayOfWeekType = "Sunday"
	MaintenanceDayOfWeekTypeThursday  MaintenanceDayOfWeekType = "Thursday"
	MaintenanceDayOfWeekTypeTuesday   MaintenanceDayOfWeekType = "Tuesday"
	MaintenanceDayOfWeekTypeWednesday MaintenanceDayOfWeekType = "Wednesday"
)

func (*MaintenanceDayOfWeekType) UnmarshalJSON

func (s *MaintenanceDayOfWeekType) UnmarshalJSON(bytes []byte) error

type RequiredAmlFilesystemSubnetsSize

type RequiredAmlFilesystemSubnetsSize struct {
	FilesystemSubnetSize *int64 `json:"filesystemSubnetSize,omitempty"`
}

type RequiredAmlFilesystemSubnetsSizeInfo

type RequiredAmlFilesystemSubnetsSizeInfo struct {
	Sku                *SkuName `json:"sku,omitempty"`
	StorageCapacityTiB *float64 `json:"storageCapacityTiB,omitempty"`
}

type SkuName

type SkuName struct {
	Name *string `json:"name,omitempty"`
}

type UpdateOperationResponse

type UpdateOperationResponse struct {
	Poller       pollers.Poller
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *AmlFilesystem
}

Jump to

Keyboard shortcuts

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