informationprotectionpolicylabel

package
v0.20241111.1164443 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2024 License: MPL-2.0 Imports: 9 Imported by: 1

README

github.com/hashicorp/go-azure-sdk/microsoft-graph/users/beta/informationprotectionpolicylabel Documentation

The informationprotectionpolicylabel SDK allows for interaction with Microsoft Graph users (API Version beta).

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-sdk/microsoft-graph/users/beta/informationprotectionpolicylabel"

Client Initialization

client := informationprotectionpolicylabel.NewInformationProtectionPolicyLabelClientWithBaseURI("https://graph.microsoft.com")
client.Client.Authorizer = authorizer

Example Usage: InformationProtectionPolicyLabelClient.CreateInformationProtectionPolicyLabel

ctx := context.TODO()
id := informationprotectionpolicylabel.NewUserID("userId")

payload := informationprotectionpolicylabel.InformationProtectionLabel{
	// ...
}


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

Example Usage: InformationProtectionPolicyLabelClient.DeleteInformationProtectionPolicyLabel

ctx := context.TODO()
id := informationprotectionpolicylabel.NewUserIdInformationProtectionPolicyLabelID("userId", "informationProtectionLabelId")

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

Example Usage: InformationProtectionPolicyLabelClient.EvaluateInformationProtectionPolicyLabelsApplications

ctx := context.TODO()
id := informationprotectionpolicylabel.NewUserID("userId")

payload := informationprotectionpolicylabel.EvaluateInformationProtectionPolicyLabelsApplicationsRequest{
	// ...
}


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

Example Usage: InformationProtectionPolicyLabelClient.EvaluateInformationProtectionPolicyLabelsClassificationResults

ctx := context.TODO()
id := informationprotectionpolicylabel.NewUserID("userId")

payload := informationprotectionpolicylabel.EvaluateInformationProtectionPolicyLabelsClassificationResultsRequest{
	// ...
}


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

Example Usage: InformationProtectionPolicyLabelClient.EvaluateInformationProtectionPolicyLabelsRemovals

ctx := context.TODO()
id := informationprotectionpolicylabel.NewUserID("userId")

payload := informationprotectionpolicylabel.EvaluateInformationProtectionPolicyLabelsRemovalsRequest{
	// ...
}


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

Example Usage: InformationProtectionPolicyLabelClient.ExtractInformationProtectionPolicyLabelsLabel

ctx := context.TODO()
id := informationprotectionpolicylabel.NewUserID("userId")

payload := informationprotectionpolicylabel.ExtractInformationProtectionPolicyLabelsLabelRequest{
	// ...
}


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

Example Usage: InformationProtectionPolicyLabelClient.GetInformationProtectionPolicyLabel

ctx := context.TODO()
id := informationprotectionpolicylabel.NewUserIdInformationProtectionPolicyLabelID("userId", "informationProtectionLabelId")

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

Example Usage: InformationProtectionPolicyLabelClient.GetInformationProtectionPolicyLabelsCount

ctx := context.TODO()
id := informationprotectionpolicylabel.NewUserID("userId")

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

Example Usage: InformationProtectionPolicyLabelClient.ListInformationProtectionPolicyLabels

ctx := context.TODO()
id := informationprotectionpolicylabel.NewUserID("userId")

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

Example Usage: InformationProtectionPolicyLabelClient.UpdateInformationProtectionPolicyLabel

ctx := context.TODO()
id := informationprotectionpolicylabel.NewUserIdInformationProtectionPolicyLabelID("userId", "informationProtectionLabelId")

payload := informationprotectionpolicylabel.InformationProtectionLabel{
	// ...
}


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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateInformationProtectionPolicyLabelOperationOptions

type CreateInformationProtectionPolicyLabelOperationOptions struct {
	Metadata  *odata.Metadata
	RetryFunc client.RequestRetryFunc
}

func DefaultCreateInformationProtectionPolicyLabelOperationOptions

func DefaultCreateInformationProtectionPolicyLabelOperationOptions() CreateInformationProtectionPolicyLabelOperationOptions

func (CreateInformationProtectionPolicyLabelOperationOptions) ToHeaders

func (CreateInformationProtectionPolicyLabelOperationOptions) ToOData

func (CreateInformationProtectionPolicyLabelOperationOptions) ToQuery

type CreateInformationProtectionPolicyLabelOperationResponse

type CreateInformationProtectionPolicyLabelOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *beta.InformationProtectionLabel
}

type DeleteInformationProtectionPolicyLabelOperationOptions

type DeleteInformationProtectionPolicyLabelOperationOptions struct {
	IfMatch   *string
	Metadata  *odata.Metadata
	RetryFunc client.RequestRetryFunc
}

func DefaultDeleteInformationProtectionPolicyLabelOperationOptions

func DefaultDeleteInformationProtectionPolicyLabelOperationOptions() DeleteInformationProtectionPolicyLabelOperationOptions

func (DeleteInformationProtectionPolicyLabelOperationOptions) ToHeaders

func (DeleteInformationProtectionPolicyLabelOperationOptions) ToOData

func (DeleteInformationProtectionPolicyLabelOperationOptions) ToQuery

type DeleteInformationProtectionPolicyLabelOperationResponse

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

type EvaluateInformationProtectionPolicyLabelsApplicationsCompleteResult

type EvaluateInformationProtectionPolicyLabelsApplicationsCompleteResult struct {
	LatestHttpResponse *http.Response
	Items              []beta.InformationProtectionAction
}

type EvaluateInformationProtectionPolicyLabelsApplicationsCustomPager

type EvaluateInformationProtectionPolicyLabelsApplicationsCustomPager struct {
	NextLink *odata.Link `json:"@odata.nextLink"`
}

type EvaluateInformationProtectionPolicyLabelsApplicationsOperationOptions

type EvaluateInformationProtectionPolicyLabelsApplicationsOperationOptions struct {
	Metadata  *odata.Metadata
	RetryFunc client.RequestRetryFunc
	Skip      *int64
	Top       *int64
}

func (EvaluateInformationProtectionPolicyLabelsApplicationsOperationOptions) ToHeaders

func (EvaluateInformationProtectionPolicyLabelsApplicationsOperationOptions) ToOData

func (EvaluateInformationProtectionPolicyLabelsApplicationsOperationOptions) ToQuery

type EvaluateInformationProtectionPolicyLabelsApplicationsOperationResponse

type EvaluateInformationProtectionPolicyLabelsApplicationsOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]beta.InformationProtectionAction
}

type EvaluateInformationProtectionPolicyLabelsApplicationsRequest

type EvaluateInformationProtectionPolicyLabelsApplicationsRequest struct {
	ContentInfo     *beta.ContentInfo     `json:"contentInfo,omitempty"`
	LabelingOptions *beta.LabelingOptions `json:"labelingOptions,omitempty"`
}

type EvaluateInformationProtectionPolicyLabelsClassificationResultsCompleteResult

type EvaluateInformationProtectionPolicyLabelsClassificationResultsCompleteResult struct {
	LatestHttpResponse *http.Response
	Items              []beta.InformationProtectionAction
}

type EvaluateInformationProtectionPolicyLabelsClassificationResultsCustomPager

type EvaluateInformationProtectionPolicyLabelsClassificationResultsCustomPager struct {
	NextLink *odata.Link `json:"@odata.nextLink"`
}

type EvaluateInformationProtectionPolicyLabelsClassificationResultsOperationOptions

type EvaluateInformationProtectionPolicyLabelsClassificationResultsOperationOptions struct {
	Metadata  *odata.Metadata
	RetryFunc client.RequestRetryFunc
	Skip      *int64
	Top       *int64
}

func (EvaluateInformationProtectionPolicyLabelsClassificationResultsOperationOptions) ToHeaders

func (EvaluateInformationProtectionPolicyLabelsClassificationResultsOperationOptions) ToOData

func (EvaluateInformationProtectionPolicyLabelsClassificationResultsOperationOptions) ToQuery

type EvaluateInformationProtectionPolicyLabelsClassificationResultsOperationResponse

type EvaluateInformationProtectionPolicyLabelsClassificationResultsOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]beta.InformationProtectionAction
}

type EvaluateInformationProtectionPolicyLabelsClassificationResultsRequest

type EvaluateInformationProtectionPolicyLabelsClassificationResultsRequest struct {
	ClassificationResults *[]beta.ClassificationResult `json:"classificationResults,omitempty"`
	ContentInfo           *beta.ContentInfo            `json:"contentInfo,omitempty"`
}

type EvaluateInformationProtectionPolicyLabelsRemovalsCompleteResult

type EvaluateInformationProtectionPolicyLabelsRemovalsCompleteResult struct {
	LatestHttpResponse *http.Response
	Items              []beta.InformationProtectionAction
}

type EvaluateInformationProtectionPolicyLabelsRemovalsCustomPager

type EvaluateInformationProtectionPolicyLabelsRemovalsCustomPager struct {
	NextLink *odata.Link `json:"@odata.nextLink"`
}

type EvaluateInformationProtectionPolicyLabelsRemovalsOperationOptions

type EvaluateInformationProtectionPolicyLabelsRemovalsOperationOptions struct {
	Metadata  *odata.Metadata
	RetryFunc client.RequestRetryFunc
	Skip      *int64
	Top       *int64
}

func (EvaluateInformationProtectionPolicyLabelsRemovalsOperationOptions) ToHeaders

func (EvaluateInformationProtectionPolicyLabelsRemovalsOperationOptions) ToOData

func (EvaluateInformationProtectionPolicyLabelsRemovalsOperationOptions) ToQuery

type EvaluateInformationProtectionPolicyLabelsRemovalsOperationResponse

type EvaluateInformationProtectionPolicyLabelsRemovalsOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]beta.InformationProtectionAction
}

type EvaluateInformationProtectionPolicyLabelsRemovalsRequest

type EvaluateInformationProtectionPolicyLabelsRemovalsRequest struct {
	ContentInfo            *beta.ContentInfo            `json:"contentInfo,omitempty"`
	DowngradeJustification *beta.DowngradeJustification `json:"downgradeJustification,omitempty"`
}

type ExtractInformationProtectionPolicyLabelsLabelOperationOptions

type ExtractInformationProtectionPolicyLabelsLabelOperationOptions struct {
	Metadata  *odata.Metadata
	RetryFunc client.RequestRetryFunc
}

func (ExtractInformationProtectionPolicyLabelsLabelOperationOptions) ToHeaders

func (ExtractInformationProtectionPolicyLabelsLabelOperationOptions) ToOData

func (ExtractInformationProtectionPolicyLabelsLabelOperationOptions) ToQuery

type ExtractInformationProtectionPolicyLabelsLabelOperationResponse

type ExtractInformationProtectionPolicyLabelsLabelOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *beta.InformationProtectionContentLabel
}

type ExtractInformationProtectionPolicyLabelsLabelRequest

type ExtractInformationProtectionPolicyLabelsLabelRequest struct {
	ContentInfo *beta.ContentInfo `json:"contentInfo,omitempty"`
}

type GetInformationProtectionPolicyLabelOperationOptions

type GetInformationProtectionPolicyLabelOperationOptions struct {
	Expand    *odata.Expand
	Metadata  *odata.Metadata
	RetryFunc client.RequestRetryFunc
	Select    *[]string
}

func DefaultGetInformationProtectionPolicyLabelOperationOptions

func DefaultGetInformationProtectionPolicyLabelOperationOptions() GetInformationProtectionPolicyLabelOperationOptions

func (GetInformationProtectionPolicyLabelOperationOptions) ToHeaders

func (GetInformationProtectionPolicyLabelOperationOptions) ToOData

func (GetInformationProtectionPolicyLabelOperationOptions) ToQuery

type GetInformationProtectionPolicyLabelOperationResponse

type GetInformationProtectionPolicyLabelOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *beta.InformationProtectionLabel
}

type GetInformationProtectionPolicyLabelsCountOperationOptions

type GetInformationProtectionPolicyLabelsCountOperationOptions struct {
	Filter    *string
	Metadata  *odata.Metadata
	RetryFunc client.RequestRetryFunc
	Search    *string
}

func (GetInformationProtectionPolicyLabelsCountOperationOptions) ToHeaders

func (GetInformationProtectionPolicyLabelsCountOperationOptions) ToOData

func (GetInformationProtectionPolicyLabelsCountOperationOptions) ToQuery

type GetInformationProtectionPolicyLabelsCountOperationResponse

type GetInformationProtectionPolicyLabelsCountOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]byte
}

type InformationProtectionActionOperationPredicate

type InformationProtectionActionOperationPredicate struct {
}

func (InformationProtectionActionOperationPredicate) Matches

type InformationProtectionLabelOperationPredicate

type InformationProtectionLabelOperationPredicate struct {
}

func (InformationProtectionLabelOperationPredicate) Matches

type InformationProtectionPolicyLabelClient

type InformationProtectionPolicyLabelClient struct {
	Client *msgraph.Client
}

func NewInformationProtectionPolicyLabelClientWithBaseURI

func NewInformationProtectionPolicyLabelClientWithBaseURI(sdkApi sdkEnv.Api) (*InformationProtectionPolicyLabelClient, error)

func (InformationProtectionPolicyLabelClient) CreateInformationProtectionPolicyLabel

CreateInformationProtectionPolicyLabel - Create new navigation property to labels for users

func (InformationProtectionPolicyLabelClient) DeleteInformationProtectionPolicyLabel

DeleteInformationProtectionPolicyLabel - Delete navigation property labels for users

func (InformationProtectionPolicyLabelClient) EvaluateInformationProtectionPolicyLabelsApplications

EvaluateInformationProtectionPolicyLabelsApplications - Invoke action evaluateApplication. Compute the information protection label that should be applied and return the set of actions that must be taken to correctly label the information. This API is useful when a label should be set manually or explicitly by a user or service, rather than automatically based on file contents. Given contentInfo, which includes existing content metadata key/value pairs, and labelingOptions as an input, the API returns an informationProtectionAction object that contains one of more of the following

func (InformationProtectionPolicyLabelClient) EvaluateInformationProtectionPolicyLabelsApplicationsComplete

EvaluateInformationProtectionPolicyLabelsApplicationsComplete retrieves all the results into a single object

func (InformationProtectionPolicyLabelClient) EvaluateInformationProtectionPolicyLabelsApplicationsCompleteMatchingPredicate

EvaluateInformationProtectionPolicyLabelsApplicationsCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (InformationProtectionPolicyLabelClient) EvaluateInformationProtectionPolicyLabelsClassificationResults

EvaluateInformationProtectionPolicyLabelsClassificationResults - Invoke action evaluateClassificationResults. Using classification results, compute the information protection label that should be applied and return the set of actions that must be taken to correctly label the information. This API is useful when a label should be set automatically based on classification of the file contents, rather than labeled directly by a user or service. To evaluate based on classification results, provide contentInfo, which includes existing content metadata key/value pairs, and classification results. The API returns an informationProtectionAction that contains one of more of the following

func (InformationProtectionPolicyLabelClient) EvaluateInformationProtectionPolicyLabelsClassificationResultsComplete

EvaluateInformationProtectionPolicyLabelsClassificationResultsComplete retrieves all the results into a single object

func (InformationProtectionPolicyLabelClient) EvaluateInformationProtectionPolicyLabelsClassificationResultsCompleteMatchingPredicate

EvaluateInformationProtectionPolicyLabelsClassificationResultsCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (InformationProtectionPolicyLabelClient) EvaluateInformationProtectionPolicyLabelsRemovals

EvaluateInformationProtectionPolicyLabelsRemovals - Invoke action evaluateRemoval. Indicate to the consuming application what actions it should take to remove the label information. Given contentInfo as an input, which includes existing content metadata key/value pairs, the API returns an informationProtectionAction that contains some combination of one of more of the following

func (InformationProtectionPolicyLabelClient) EvaluateInformationProtectionPolicyLabelsRemovalsComplete

EvaluateInformationProtectionPolicyLabelsRemovalsComplete retrieves all the results into a single object

func (InformationProtectionPolicyLabelClient) EvaluateInformationProtectionPolicyLabelsRemovalsCompleteMatchingPredicate

EvaluateInformationProtectionPolicyLabelsRemovalsCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (InformationProtectionPolicyLabelClient) ExtractInformationProtectionPolicyLabelsLabel

ExtractInformationProtectionPolicyLabelsLabel - Invoke action extractLabel. Using the metadata that exists on an already-labeled piece of information, resolve the metadata to a specific sensitivity label. The contentInfo input is resolved to informationProtectionContentLabel.

func (InformationProtectionPolicyLabelClient) GetInformationProtectionPolicyLabel

GetInformationProtectionPolicyLabel - Get labels from users

func (InformationProtectionPolicyLabelClient) GetInformationProtectionPolicyLabelsCount

GetInformationProtectionPolicyLabelsCount - Get the number of the resource

func (InformationProtectionPolicyLabelClient) ListInformationProtectionPolicyLabels

ListInformationProtectionPolicyLabels - Get labels from users

func (InformationProtectionPolicyLabelClient) ListInformationProtectionPolicyLabelsComplete

ListInformationProtectionPolicyLabelsComplete retrieves all the results into a single object

func (InformationProtectionPolicyLabelClient) ListInformationProtectionPolicyLabelsCompleteMatchingPredicate

ListInformationProtectionPolicyLabelsCompleteMatchingPredicate retrieves all the results and then applies the predicate

func (InformationProtectionPolicyLabelClient) UpdateInformationProtectionPolicyLabel

UpdateInformationProtectionPolicyLabel - Update the navigation property labels in users

type ListInformationProtectionPolicyLabelsCompleteResult

type ListInformationProtectionPolicyLabelsCompleteResult struct {
	LatestHttpResponse *http.Response
	Items              []beta.InformationProtectionLabel
}

type ListInformationProtectionPolicyLabelsCustomPager

type ListInformationProtectionPolicyLabelsCustomPager struct {
	NextLink *odata.Link `json:"@odata.nextLink"`
}

type ListInformationProtectionPolicyLabelsOperationOptions

type ListInformationProtectionPolicyLabelsOperationOptions struct {
	Count     *bool
	Expand    *odata.Expand
	Filter    *string
	Metadata  *odata.Metadata
	OrderBy   *odata.OrderBy
	RetryFunc client.RequestRetryFunc
	Search    *string
	Select    *[]string
	Skip      *int64
	Top       *int64
}

func DefaultListInformationProtectionPolicyLabelsOperationOptions

func DefaultListInformationProtectionPolicyLabelsOperationOptions() ListInformationProtectionPolicyLabelsOperationOptions

func (ListInformationProtectionPolicyLabelsOperationOptions) ToHeaders

func (ListInformationProtectionPolicyLabelsOperationOptions) ToOData

func (ListInformationProtectionPolicyLabelsOperationOptions) ToQuery

type ListInformationProtectionPolicyLabelsOperationResponse

type ListInformationProtectionPolicyLabelsOperationResponse struct {
	HttpResponse *http.Response
	OData        *odata.OData
	Model        *[]beta.InformationProtectionLabel
}

type UpdateInformationProtectionPolicyLabelOperationOptions

type UpdateInformationProtectionPolicyLabelOperationOptions struct {
	Metadata  *odata.Metadata
	RetryFunc client.RequestRetryFunc
}

func DefaultUpdateInformationProtectionPolicyLabelOperationOptions

func DefaultUpdateInformationProtectionPolicyLabelOperationOptions() UpdateInformationProtectionPolicyLabelOperationOptions

func (UpdateInformationProtectionPolicyLabelOperationOptions) ToHeaders

func (UpdateInformationProtectionPolicyLabelOperationOptions) ToOData

func (UpdateInformationProtectionPolicyLabelOperationOptions) ToQuery

type UpdateInformationProtectionPolicyLabelOperationResponse

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

Jump to

Keyboard shortcuts

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