workflowspb

package
v1.14.3 Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2025 License: Apache-2.0 Imports: 13 Imported by: 1

Documentation

Index

Constants

View Source
const (
	Workflows_ListWorkflows_FullMethodName  = "/google.cloud.workflows.v1beta.Workflows/ListWorkflows"
	Workflows_GetWorkflow_FullMethodName    = "/google.cloud.workflows.v1beta.Workflows/GetWorkflow"
	Workflows_CreateWorkflow_FullMethodName = "/google.cloud.workflows.v1beta.Workflows/CreateWorkflow"
	Workflows_DeleteWorkflow_FullMethodName = "/google.cloud.workflows.v1beta.Workflows/DeleteWorkflow"
	Workflows_UpdateWorkflow_FullMethodName = "/google.cloud.workflows.v1beta.Workflows/UpdateWorkflow"
)

Variables

View Source
var (
	Workflow_State_name = map[int32]string{
		0: "STATE_UNSPECIFIED",
		1: "ACTIVE",
	}
	Workflow_State_value = map[string]int32{
		"STATE_UNSPECIFIED": 0,
		"ACTIVE":            1,
	}
)

Enum value maps for Workflow_State.

View Source
var File_google_cloud_workflows_v1beta_workflows_proto protoreflect.FileDescriptor
View Source
var Workflows_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "google.cloud.workflows.v1beta.Workflows",
	HandlerType: (*WorkflowsServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ListWorkflows",
			Handler:    _Workflows_ListWorkflows_Handler,
		},
		{
			MethodName: "GetWorkflow",
			Handler:    _Workflows_GetWorkflow_Handler,
		},
		{
			MethodName: "CreateWorkflow",
			Handler:    _Workflows_CreateWorkflow_Handler,
		},
		{
			MethodName: "DeleteWorkflow",
			Handler:    _Workflows_DeleteWorkflow_Handler,
		},
		{
			MethodName: "UpdateWorkflow",
			Handler:    _Workflows_UpdateWorkflow_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "google/cloud/workflows/v1beta/workflows.proto",
}

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

Functions

func RegisterWorkflowsServer

func RegisterWorkflowsServer(s grpc.ServiceRegistrar, srv WorkflowsServer)

Types

type CreateWorkflowRequest

type CreateWorkflowRequest struct {

	// Required. Project and location in which the workflow should be created.
	// Format:  projects/{project}/locations/{location}
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. Workflow to be created.
	Workflow *Workflow `protobuf:"bytes,2,opt,name=workflow,proto3" json:"workflow,omitempty"`
	// Required. The ID of the workflow to be created. It has to fulfill the
	// following requirements:
	//
	// * Must contain only letters, numbers, underscores and hyphens.
	// * Must start with a letter.
	// * Must be between 1-64 characters.
	// * Must end with a number or a letter.
	// * Must be unique within the customer project and location.
	WorkflowId string `protobuf:"bytes,3,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"`
	// contains filtered or unexported fields
}

Request for the [CreateWorkflow][google.cloud.workflows.v1beta.Workflows.CreateWorkflow] method.

func (*CreateWorkflowRequest) Descriptor deprecated

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

Deprecated: Use CreateWorkflowRequest.ProtoReflect.Descriptor instead.

func (*CreateWorkflowRequest) GetParent

func (x *CreateWorkflowRequest) GetParent() string

func (*CreateWorkflowRequest) GetWorkflow

func (x *CreateWorkflowRequest) GetWorkflow() *Workflow

func (*CreateWorkflowRequest) GetWorkflowId

func (x *CreateWorkflowRequest) GetWorkflowId() string

func (*CreateWorkflowRequest) ProtoMessage

func (*CreateWorkflowRequest) ProtoMessage()

func (*CreateWorkflowRequest) ProtoReflect

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

func (*CreateWorkflowRequest) Reset

func (x *CreateWorkflowRequest) Reset()

func (*CreateWorkflowRequest) String

func (x *CreateWorkflowRequest) String() string

type DeleteWorkflowRequest

type DeleteWorkflowRequest struct {

	// Required. Name of the workflow to be deleted.
	// Format: projects/{project}/locations/{location}/workflows/{workflow}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Request for the [DeleteWorkflow][google.cloud.workflows.v1beta.Workflows.DeleteWorkflow] method.

func (*DeleteWorkflowRequest) Descriptor deprecated

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

Deprecated: Use DeleteWorkflowRequest.ProtoReflect.Descriptor instead.

func (*DeleteWorkflowRequest) GetName

func (x *DeleteWorkflowRequest) GetName() string

func (*DeleteWorkflowRequest) ProtoMessage

func (*DeleteWorkflowRequest) ProtoMessage()

func (*DeleteWorkflowRequest) ProtoReflect

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

func (*DeleteWorkflowRequest) Reset

func (x *DeleteWorkflowRequest) Reset()

func (*DeleteWorkflowRequest) String

func (x *DeleteWorkflowRequest) String() string

type GetWorkflowRequest

type GetWorkflowRequest struct {

	// Required. Name of the workflow which information should be retrieved.
	// Format: projects/{project}/locations/{location}/workflows/{workflow}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Request for the [GetWorkflow][google.cloud.workflows.v1beta.Workflows.GetWorkflow] method.

func (*GetWorkflowRequest) Descriptor deprecated

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

Deprecated: Use GetWorkflowRequest.ProtoReflect.Descriptor instead.

func (*GetWorkflowRequest) GetName

func (x *GetWorkflowRequest) GetName() string

func (*GetWorkflowRequest) ProtoMessage

func (*GetWorkflowRequest) ProtoMessage()

func (*GetWorkflowRequest) ProtoReflect

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

func (*GetWorkflowRequest) Reset

func (x *GetWorkflowRequest) Reset()

func (*GetWorkflowRequest) String

func (x *GetWorkflowRequest) String() string

type ListWorkflowsRequest

type ListWorkflowsRequest struct {

	// Required. Project and location from which the workflows should be listed.
	// Format: projects/{project}/locations/{location}
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Maximum number of workflows to return per call. The service may return
	// fewer than this value. If the value is not specified, a default value of
	// 500 will be used. The maximum permitted value is 1000 and values greater
	// than 1000 will be coerced down to 1000.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token, received from a previous `ListWorkflows` call.
	// Provide this to retrieve the subsequent page.
	//
	// When paginating, all other parameters provided to `ListWorkflows` must
	// match the call that provided the page token.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// Filter to restrict results to specific workflows.
	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
	// Comma-separated list of fields that that specify the order of the results.
	// Default sorting order for a field is ascending. To specify descending order
	// for a field, append a " desc" suffix.
	// If not specified, the results will be returned in an unspecified order.
	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
	// contains filtered or unexported fields
}

Request for the [ListWorkflows][google.cloud.workflows.v1beta.Workflows.ListWorkflows] method.

func (*ListWorkflowsRequest) Descriptor deprecated

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

Deprecated: Use ListWorkflowsRequest.ProtoReflect.Descriptor instead.

func (*ListWorkflowsRequest) GetFilter

func (x *ListWorkflowsRequest) GetFilter() string

func (*ListWorkflowsRequest) GetOrderBy

func (x *ListWorkflowsRequest) GetOrderBy() string

func (*ListWorkflowsRequest) GetPageSize

func (x *ListWorkflowsRequest) GetPageSize() int32

func (*ListWorkflowsRequest) GetPageToken

func (x *ListWorkflowsRequest) GetPageToken() string

func (*ListWorkflowsRequest) GetParent

func (x *ListWorkflowsRequest) GetParent() string

func (*ListWorkflowsRequest) ProtoMessage

func (*ListWorkflowsRequest) ProtoMessage()

func (*ListWorkflowsRequest) ProtoReflect

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

func (*ListWorkflowsRequest) Reset

func (x *ListWorkflowsRequest) Reset()

func (*ListWorkflowsRequest) String

func (x *ListWorkflowsRequest) String() string

type ListWorkflowsResponse

type ListWorkflowsResponse struct {

	// The workflows which match the request.
	Workflows []*Workflow `protobuf:"bytes,1,rep,name=workflows,proto3" json:"workflows,omitempty"`
	// A token, which can be sent as `page_token` to retrieve the next page.
	// If this field is omitted, there are no subsequent pages.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// Unreachable resources.
	Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
	// contains filtered or unexported fields
}

Response for the [ListWorkflows][google.cloud.workflows.v1beta.Workflows.ListWorkflows] method.

func (*ListWorkflowsResponse) Descriptor deprecated

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

Deprecated: Use ListWorkflowsResponse.ProtoReflect.Descriptor instead.

func (*ListWorkflowsResponse) GetNextPageToken

func (x *ListWorkflowsResponse) GetNextPageToken() string

func (*ListWorkflowsResponse) GetUnreachable

func (x *ListWorkflowsResponse) GetUnreachable() []string

func (*ListWorkflowsResponse) GetWorkflows

func (x *ListWorkflowsResponse) GetWorkflows() []*Workflow

func (*ListWorkflowsResponse) ProtoMessage

func (*ListWorkflowsResponse) ProtoMessage()

func (*ListWorkflowsResponse) ProtoReflect

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

func (*ListWorkflowsResponse) Reset

func (x *ListWorkflowsResponse) Reset()

func (*ListWorkflowsResponse) String

func (x *ListWorkflowsResponse) String() string

type OperationMetadata

type OperationMetadata struct {

	// The time the operation was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// The time the operation finished running.
	EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	// Server-defined resource path for the target of the operation.
	Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
	// Name of the verb executed by the operation.
	Verb string `protobuf:"bytes,4,opt,name=verb,proto3" json:"verb,omitempty"`
	// API version used to start the operation.
	ApiVersion string `protobuf:"bytes,5,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
	// contains filtered or unexported fields
}

Represents the metadata of the long-running operation.

func (*OperationMetadata) Descriptor deprecated

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

Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead.

func (*OperationMetadata) GetApiVersion

func (x *OperationMetadata) GetApiVersion() string

func (*OperationMetadata) GetCreateTime

func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp

func (*OperationMetadata) GetEndTime

func (x *OperationMetadata) GetEndTime() *timestamppb.Timestamp

func (*OperationMetadata) GetTarget

func (x *OperationMetadata) GetTarget() string

func (*OperationMetadata) GetVerb

func (x *OperationMetadata) GetVerb() string

func (*OperationMetadata) ProtoMessage

func (*OperationMetadata) ProtoMessage()

func (*OperationMetadata) ProtoReflect

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

func (*OperationMetadata) Reset

func (x *OperationMetadata) Reset()

func (*OperationMetadata) String

func (x *OperationMetadata) String() string

type UnimplementedWorkflowsServer

type UnimplementedWorkflowsServer struct {
}

UnimplementedWorkflowsServer should be embedded to have forward compatible implementations.

func (UnimplementedWorkflowsServer) CreateWorkflow

func (UnimplementedWorkflowsServer) DeleteWorkflow

func (UnimplementedWorkflowsServer) GetWorkflow

func (UnimplementedWorkflowsServer) ListWorkflows

func (UnimplementedWorkflowsServer) UpdateWorkflow

type UnsafeWorkflowsServer added in v1.14.3

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

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

type UpdateWorkflowRequest

type UpdateWorkflowRequest struct {

	// Required. Workflow to be updated.
	Workflow *Workflow `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"`
	// List of fields to be updated. If not present, the entire workflow
	// will be updated.
	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	// contains filtered or unexported fields
}

Request for the [UpdateWorkflow][google.cloud.workflows.v1beta.Workflows.UpdateWorkflow] method.

func (*UpdateWorkflowRequest) Descriptor deprecated

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

Deprecated: Use UpdateWorkflowRequest.ProtoReflect.Descriptor instead.

func (*UpdateWorkflowRequest) GetUpdateMask

func (x *UpdateWorkflowRequest) GetUpdateMask() *fieldmaskpb.FieldMask

func (*UpdateWorkflowRequest) GetWorkflow

func (x *UpdateWorkflowRequest) GetWorkflow() *Workflow

func (*UpdateWorkflowRequest) ProtoMessage

func (*UpdateWorkflowRequest) ProtoMessage()

func (*UpdateWorkflowRequest) ProtoReflect

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

func (*UpdateWorkflowRequest) Reset

func (x *UpdateWorkflowRequest) Reset()

func (*UpdateWorkflowRequest) String

func (x *UpdateWorkflowRequest) String() string

type Workflow

type Workflow struct {

	// The resource name of the workflow.
	// Format: projects/{project}/locations/{location}/workflows/{workflow}
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the workflow provided by the user.
	// Must be at most 1000 unicode characters long.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// Output only. State of the workflow deployment.
	State Workflow_State `protobuf:"varint,3,opt,name=state,proto3,enum=google.cloud.workflows.v1beta.Workflow_State" json:"state,omitempty"`
	// Output only. The revision of the workflow.
	// A new revision of a workflow is created as a result of updating the
	// following properties of a workflow:
	//
	// - [Service account][google.cloud.workflows.v1beta.Workflow.service_account]
	// - [Workflow code to be
	// executed][google.cloud.workflows.v1beta.Workflow.source_contents]
	//
	// The format is "000001-a4d", where the first 6 characters define
	// the zero-padded revision ordinal number. They are followed by a hyphen and
	// 3 hexadecimal random characters.
	RevisionId string `protobuf:"bytes,4,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"`
	// Output only. The timestamp of when the workflow was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Output only. The last update timestamp of the workflow.
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	// Output only. The timestamp that the latest revision of the workflow
	// was created.
	RevisionCreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=revision_create_time,json=revisionCreateTime,proto3" json:"revision_create_time,omitempty"`
	// Labels associated with this workflow.
	// Labels can contain at most 64 entries. Keys and values can be no longer
	// than 63 characters and can only contain lowercase letters, numeric
	// characters, underscores and dashes. Label keys must start with a letter.
	// International characters are allowed.
	Labels map[string]string `` /* 153-byte string literal not displayed */
	// The service account associated with the latest workflow version.
	// This service account represents the identity of the workflow and determines
	// what permissions the workflow has.
	// Format: projects/{project}/serviceAccounts/{account} or {account}
	//
	// Using `-` as a wildcard for the `{project}` or not providing one at all
	// will infer the project from the account. The `{account}` value can be the
	// `email` address or the `unique_id` of the service account.
	//
	// If not provided, workflow will use the project's default service account.
	// Modifying this field for an existing workflow results in a new workflow
	// revision.
	ServiceAccount string `protobuf:"bytes,9,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
	// Required. Location of the workflow source code.
	// Modifying this field for an existing workflow results in a new workflow
	// revision.
	//
	// Types that are assignable to SourceCode:
	//
	//	*Workflow_SourceContents
	SourceCode isWorkflow_SourceCode `protobuf_oneof:"source_code"`
	// contains filtered or unexported fields
}

Workflow program to be executed by Workflows.

func (*Workflow) Descriptor deprecated

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

Deprecated: Use Workflow.ProtoReflect.Descriptor instead.

func (*Workflow) GetCreateTime

func (x *Workflow) GetCreateTime() *timestamppb.Timestamp

func (*Workflow) GetDescription

func (x *Workflow) GetDescription() string

func (*Workflow) GetLabels

func (x *Workflow) GetLabels() map[string]string

func (*Workflow) GetName

func (x *Workflow) GetName() string

func (*Workflow) GetRevisionCreateTime

func (x *Workflow) GetRevisionCreateTime() *timestamppb.Timestamp

func (*Workflow) GetRevisionId

func (x *Workflow) GetRevisionId() string

func (*Workflow) GetServiceAccount

func (x *Workflow) GetServiceAccount() string

func (*Workflow) GetSourceCode

func (m *Workflow) GetSourceCode() isWorkflow_SourceCode

func (*Workflow) GetSourceContents

func (x *Workflow) GetSourceContents() string

func (*Workflow) GetState

func (x *Workflow) GetState() Workflow_State

func (*Workflow) GetUpdateTime

func (x *Workflow) GetUpdateTime() *timestamppb.Timestamp

func (*Workflow) ProtoMessage

func (*Workflow) ProtoMessage()

func (*Workflow) ProtoReflect

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

func (*Workflow) Reset

func (x *Workflow) Reset()

func (*Workflow) String

func (x *Workflow) String() string

type Workflow_SourceContents

type Workflow_SourceContents struct {
	// Workflow code to be executed. The size limit is 128KB.
	SourceContents string `protobuf:"bytes,10,opt,name=source_contents,json=sourceContents,proto3,oneof"`
}

type Workflow_State

type Workflow_State int32

Describes the current state of workflow deployment. More states may be added in the future.

const (
	// Invalid state.
	Workflow_STATE_UNSPECIFIED Workflow_State = 0
	// The workflow has been deployed successfully and is serving.
	Workflow_ACTIVE Workflow_State = 1
)

func (Workflow_State) Descriptor

func (Workflow_State) Enum

func (x Workflow_State) Enum() *Workflow_State

func (Workflow_State) EnumDescriptor deprecated

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

Deprecated: Use Workflow_State.Descriptor instead.

func (Workflow_State) Number

func (Workflow_State) String

func (x Workflow_State) String() string

func (Workflow_State) Type

type WorkflowsClient

type WorkflowsClient interface {
	// Lists Workflows in a given project and location.
	// The default order is not specified.
	ListWorkflows(ctx context.Context, in *ListWorkflowsRequest, opts ...grpc.CallOption) (*ListWorkflowsResponse, error)
	// Gets details of a single Workflow.
	GetWorkflow(ctx context.Context, in *GetWorkflowRequest, opts ...grpc.CallOption) (*Workflow, error)
	// Creates a new workflow. If a workflow with the specified name already
	// exists in the specified project and location, the long running operation
	// will return [ALREADY_EXISTS][google.rpc.Code.ALREADY_EXISTS] error.
	CreateWorkflow(ctx context.Context, in *CreateWorkflowRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Deletes a workflow with the specified name.
	// This method also cancels and deletes all running executions of the
	// workflow.
	DeleteWorkflow(ctx context.Context, in *DeleteWorkflowRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
	// Updates an existing workflow.
	// Running this method has no impact on already running executions of the
	// workflow. A new revision of the workflow may be created as a result of a
	// successful update operation. In that case, such revision will be used
	// in new workflow executions.
	UpdateWorkflow(ctx context.Context, in *UpdateWorkflowRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
}

WorkflowsClient is the client API for Workflows 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 NewWorkflowsClient

func NewWorkflowsClient(cc grpc.ClientConnInterface) WorkflowsClient

type WorkflowsServer

type WorkflowsServer interface {
	// Lists Workflows in a given project and location.
	// The default order is not specified.
	ListWorkflows(context.Context, *ListWorkflowsRequest) (*ListWorkflowsResponse, error)
	// Gets details of a single Workflow.
	GetWorkflow(context.Context, *GetWorkflowRequest) (*Workflow, error)
	// Creates a new workflow. If a workflow with the specified name already
	// exists in the specified project and location, the long running operation
	// will return [ALREADY_EXISTS][google.rpc.Code.ALREADY_EXISTS] error.
	CreateWorkflow(context.Context, *CreateWorkflowRequest) (*longrunningpb.Operation, error)
	// Deletes a workflow with the specified name.
	// This method also cancels and deletes all running executions of the
	// workflow.
	DeleteWorkflow(context.Context, *DeleteWorkflowRequest) (*longrunningpb.Operation, error)
	// Updates an existing workflow.
	// Running this method has no impact on already running executions of the
	// workflow. A new revision of the workflow may be created as a result of a
	// successful update operation. In that case, such revision will be used
	// in new workflow executions.
	UpdateWorkflow(context.Context, *UpdateWorkflowRequest) (*longrunningpb.Operation, error)
}

WorkflowsServer is the server API for Workflows service. All implementations should embed UnimplementedWorkflowsServer for forward compatibility

Jump to

Keyboard shortcuts

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