...

Package _type

import "google.golang.org/genproto/googleapis/apps/script/type"
Overview
Index
Subdirectories

Overview ▾

Index ▾

Variables
type AddOnWidgetSet
    func (*AddOnWidgetSet) Descriptor() ([]byte, []int)
    func (x *AddOnWidgetSet) GetUsedWidgets() []AddOnWidgetSet_WidgetType
    func (*AddOnWidgetSet) ProtoMessage()
    func (x *AddOnWidgetSet) ProtoReflect() protoreflect.Message
    func (x *AddOnWidgetSet) Reset()
    func (x *AddOnWidgetSet) String() string
type AddOnWidgetSet_WidgetType
    func (AddOnWidgetSet_WidgetType) Descriptor() protoreflect.EnumDescriptor
    func (x AddOnWidgetSet_WidgetType) Enum() *AddOnWidgetSet_WidgetType
    func (AddOnWidgetSet_WidgetType) EnumDescriptor() ([]byte, []int)
    func (x AddOnWidgetSet_WidgetType) Number() protoreflect.EnumNumber
    func (x AddOnWidgetSet_WidgetType) String() string
    func (AddOnWidgetSet_WidgetType) Type() protoreflect.EnumType
type CommonAddOnManifest
    func (*CommonAddOnManifest) Descriptor() ([]byte, []int)
    func (x *CommonAddOnManifest) GetAddOnWidgetSet() *AddOnWidgetSet
    func (x *CommonAddOnManifest) GetHomepageTrigger() *HomepageExtensionPoint
    func (x *CommonAddOnManifest) GetLayoutProperties() *LayoutProperties
    func (x *CommonAddOnManifest) GetLogoUrl() string
    func (x *CommonAddOnManifest) GetName() string
    func (x *CommonAddOnManifest) GetOpenLinkUrlPrefixes() *structpb.ListValue
    func (x *CommonAddOnManifest) GetUniversalActions() []*UniversalActionExtensionPoint
    func (x *CommonAddOnManifest) GetUseLocaleFromApp() bool
    func (*CommonAddOnManifest) ProtoMessage()
    func (x *CommonAddOnManifest) ProtoReflect() protoreflect.Message
    func (x *CommonAddOnManifest) Reset()
    func (x *CommonAddOnManifest) String() string
type HomepageExtensionPoint
    func (*HomepageExtensionPoint) Descriptor() ([]byte, []int)
    func (x *HomepageExtensionPoint) GetEnabled() *wrapperspb.BoolValue
    func (x *HomepageExtensionPoint) GetRunFunction() string
    func (*HomepageExtensionPoint) ProtoMessage()
    func (x *HomepageExtensionPoint) ProtoReflect() protoreflect.Message
    func (x *HomepageExtensionPoint) Reset()
    func (x *HomepageExtensionPoint) String() string
type HttpAuthorizationHeader
    func (HttpAuthorizationHeader) Descriptor() protoreflect.EnumDescriptor
    func (x HttpAuthorizationHeader) Enum() *HttpAuthorizationHeader
    func (HttpAuthorizationHeader) EnumDescriptor() ([]byte, []int)
    func (x HttpAuthorizationHeader) Number() protoreflect.EnumNumber
    func (x HttpAuthorizationHeader) String() string
    func (HttpAuthorizationHeader) Type() protoreflect.EnumType
type HttpOptions
    func (*HttpOptions) Descriptor() ([]byte, []int)
    func (x *HttpOptions) GetAuthorizationHeader() HttpAuthorizationHeader
    func (*HttpOptions) ProtoMessage()
    func (x *HttpOptions) ProtoReflect() protoreflect.Message
    func (x *HttpOptions) Reset()
    func (x *HttpOptions) String() string
type LayoutProperties
    func (*LayoutProperties) Descriptor() ([]byte, []int)
    func (x *LayoutProperties) GetPrimaryColor() string
    func (x *LayoutProperties) GetSecondaryColor() string
    func (*LayoutProperties) ProtoMessage()
    func (x *LayoutProperties) ProtoReflect() protoreflect.Message
    func (x *LayoutProperties) Reset()
    func (x *LayoutProperties) String() string
type MenuItemExtensionPoint
    func (*MenuItemExtensionPoint) Descriptor() ([]byte, []int)
    func (x *MenuItemExtensionPoint) GetLabel() string
    func (x *MenuItemExtensionPoint) GetLogoUrl() string
    func (x *MenuItemExtensionPoint) GetRunFunction() string
    func (*MenuItemExtensionPoint) ProtoMessage()
    func (x *MenuItemExtensionPoint) ProtoReflect() protoreflect.Message
    func (x *MenuItemExtensionPoint) Reset()
    func (x *MenuItemExtensionPoint) String() string
type UniversalActionExtensionPoint
    func (*UniversalActionExtensionPoint) Descriptor() ([]byte, []int)
    func (m *UniversalActionExtensionPoint) GetActionType() isUniversalActionExtensionPoint_ActionType
    func (x *UniversalActionExtensionPoint) GetLabel() string
    func (x *UniversalActionExtensionPoint) GetOpenLink() string
    func (x *UniversalActionExtensionPoint) GetRunFunction() string
    func (*UniversalActionExtensionPoint) ProtoMessage()
    func (x *UniversalActionExtensionPoint) ProtoReflect() protoreflect.Message
    func (x *UniversalActionExtensionPoint) Reset()
    func (x *UniversalActionExtensionPoint) String() string
type UniversalActionExtensionPoint_OpenLink
type UniversalActionExtensionPoint_RunFunction

Package files

addon_widget_set.pb.go extension_point.pb.go script_manifest.pb.go

Variables

Enum value maps for AddOnWidgetSet_WidgetType.

var (
    AddOnWidgetSet_WidgetType_name = map[int32]string{
        0: "WIDGET_TYPE_UNSPECIFIED",
        1: "DATE_PICKER",
        2: "STYLED_BUTTONS",
        3: "PERSISTENT_FORMS",
        4: "FIXED_FOOTER",
        5: "UPDATE_SUBJECT_AND_RECIPIENTS",
        6: "GRID_WIDGET",
        7: "ADDON_COMPOSE_UI_ACTION",
    }
    AddOnWidgetSet_WidgetType_value = map[string]int32{
        "WIDGET_TYPE_UNSPECIFIED":       0,
        "DATE_PICKER":                   1,
        "STYLED_BUTTONS":                2,
        "PERSISTENT_FORMS":              3,
        "FIXED_FOOTER":                  4,
        "UPDATE_SUBJECT_AND_RECIPIENTS": 5,
        "GRID_WIDGET":                   6,
        "ADDON_COMPOSE_UI_ACTION":       7,
    }
)

Enum value maps for HttpAuthorizationHeader.

var (
    HttpAuthorizationHeader_name = map[int32]string{
        0: "HTTP_AUTHORIZATION_HEADER_UNSPECIFIED",
        1: "SYSTEM_ID_TOKEN",
        2: "USER_ID_TOKEN",
        3: "NONE",
    }
    HttpAuthorizationHeader_value = map[string]int32{
        "HTTP_AUTHORIZATION_HEADER_UNSPECIFIED": 0,
        "SYSTEM_ID_TOKEN":                       1,
        "USER_ID_TOKEN":                         2,
        "NONE":                                  3,
    }
)
var File_google_apps_script_type_addon_widget_set_proto protoreflect.FileDescriptor
var File_google_apps_script_type_extension_point_proto protoreflect.FileDescriptor
var File_google_apps_script_type_script_manifest_proto protoreflect.FileDescriptor

type AddOnWidgetSet

The widget subset used by an add-on.

type AddOnWidgetSet struct {

    // The list of widgets used in an add-on.
    UsedWidgets []AddOnWidgetSet_WidgetType `protobuf:"varint,1,rep,packed,name=used_widgets,json=usedWidgets,proto3,enum=google.apps.script.type.AddOnWidgetSet_WidgetType" json:"used_widgets,omitempty"`
    // contains filtered or unexported fields
}

func (*AddOnWidgetSet) Descriptor

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

Deprecated: Use AddOnWidgetSet.ProtoReflect.Descriptor instead.

func (*AddOnWidgetSet) GetUsedWidgets

func (x *AddOnWidgetSet) GetUsedWidgets() []AddOnWidgetSet_WidgetType

func (*AddOnWidgetSet) ProtoMessage

func (*AddOnWidgetSet) ProtoMessage()

func (*AddOnWidgetSet) ProtoReflect

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

func (*AddOnWidgetSet) Reset

func (x *AddOnWidgetSet) Reset()

func (*AddOnWidgetSet) String

func (x *AddOnWidgetSet) String() string

type AddOnWidgetSet_WidgetType

The Widget type. DEFAULT is the basic widget set.

type AddOnWidgetSet_WidgetType int32
const (
    // The default widget set.
    AddOnWidgetSet_WIDGET_TYPE_UNSPECIFIED AddOnWidgetSet_WidgetType = 0
    // The date picker.
    AddOnWidgetSet_DATE_PICKER AddOnWidgetSet_WidgetType = 1
    // Styled buttons include filled buttons and disabled buttons.
    AddOnWidgetSet_STYLED_BUTTONS AddOnWidgetSet_WidgetType = 2
    // Persistent forms allow persisting form values during actions.
    AddOnWidgetSet_PERSISTENT_FORMS AddOnWidgetSet_WidgetType = 3
    // Fixed footer in card.
    AddOnWidgetSet_FIXED_FOOTER AddOnWidgetSet_WidgetType = 4
    // Update the subject and recipients of a draft.
    AddOnWidgetSet_UPDATE_SUBJECT_AND_RECIPIENTS AddOnWidgetSet_WidgetType = 5
    // The grid widget.
    AddOnWidgetSet_GRID_WIDGET AddOnWidgetSet_WidgetType = 6
    // A Gmail add-on action that applies to the addon compose UI.
    AddOnWidgetSet_ADDON_COMPOSE_UI_ACTION AddOnWidgetSet_WidgetType = 7
)

func (AddOnWidgetSet_WidgetType) Descriptor

func (AddOnWidgetSet_WidgetType) Descriptor() protoreflect.EnumDescriptor

func (AddOnWidgetSet_WidgetType) Enum

func (x AddOnWidgetSet_WidgetType) Enum() *AddOnWidgetSet_WidgetType

func (AddOnWidgetSet_WidgetType) EnumDescriptor

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

Deprecated: Use AddOnWidgetSet_WidgetType.Descriptor instead.

func (AddOnWidgetSet_WidgetType) Number

func (x AddOnWidgetSet_WidgetType) Number() protoreflect.EnumNumber

func (AddOnWidgetSet_WidgetType) String

func (x AddOnWidgetSet_WidgetType) String() string

func (AddOnWidgetSet_WidgetType) Type

func (AddOnWidgetSet_WidgetType) Type() protoreflect.EnumType

type CommonAddOnManifest

Add-on configuration that is shared across all add-on host applications.

type CommonAddOnManifest struct {

    // Required. The display name of the add-on.
    Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    // Required. The URL for the logo image shown in the add-on toolbar.
    LogoUrl string `protobuf:"bytes,2,opt,name=logo_url,json=logoUrl,proto3" json:"logo_url,omitempty"`
    // Common layout properties for the add-on cards.
    LayoutProperties *LayoutProperties `protobuf:"bytes,3,opt,name=layout_properties,json=layoutProperties,proto3" json:"layout_properties,omitempty"`
    // The widgets used in the add-on. If this field is not specified,
    // it indicates that default set is used.
    AddOnWidgetSet *AddOnWidgetSet `protobuf:"bytes,4,opt,name=add_on_widget_set,json=addOnWidgetSet,proto3" json:"add_on_widget_set,omitempty"`
    // Whether to pass locale information from host app.
    UseLocaleFromApp bool `protobuf:"varint,5,opt,name=use_locale_from_app,json=useLocaleFromApp,proto3" json:"use_locale_from_app,omitempty"`
    // Defines an endpoint that will be executed in any context, in
    // any host. Any cards generated by this function will always be available to
    // the user, but may be eclipsed by contextual content when this add-on
    // declares more targeted triggers.
    HomepageTrigger *HomepageExtensionPoint `protobuf:"bytes,6,opt,name=homepage_trigger,json=homepageTrigger,proto3" json:"homepage_trigger,omitempty"`
    // Defines a list of extension points in the universal action menu which
    // serves as a setting menu for the add-on. The extension point can be
    // link URL to open or an endpoint to execute as a form
    // submission.
    UniversalActions []*UniversalActionExtensionPoint `protobuf:"bytes,7,rep,name=universal_actions,json=universalActions,proto3" json:"universal_actions,omitempty"`
    // An OpenLink action
    // can only use a URL with an HTTPS, MAILTO or TEL scheme.  For HTTPS links,
    // the URL must also
    // [match](/gmail/add-ons/concepts/manifests#whitelisting_urls) one of the
    // prefixes specified in this whitelist. If the prefix omits the scheme, HTTPS
    // is assumed.  Notice that HTTP links are automatically rewritten to HTTPS
    // links.
    OpenLinkUrlPrefixes *structpb.ListValue `protobuf:"bytes,8,opt,name=open_link_url_prefixes,json=openLinkUrlPrefixes,proto3" json:"open_link_url_prefixes,omitempty"`
    // contains filtered or unexported fields
}

func (*CommonAddOnManifest) Descriptor

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

Deprecated: Use CommonAddOnManifest.ProtoReflect.Descriptor instead.

func (*CommonAddOnManifest) GetAddOnWidgetSet

func (x *CommonAddOnManifest) GetAddOnWidgetSet() *AddOnWidgetSet

func (*CommonAddOnManifest) GetHomepageTrigger

func (x *CommonAddOnManifest) GetHomepageTrigger() *HomepageExtensionPoint

func (*CommonAddOnManifest) GetLayoutProperties

func (x *CommonAddOnManifest) GetLayoutProperties() *LayoutProperties

func (*CommonAddOnManifest) GetLogoUrl

func (x *CommonAddOnManifest) GetLogoUrl() string

func (*CommonAddOnManifest) GetName

func (x *CommonAddOnManifest) GetName() string

func (*CommonAddOnManifest) GetOpenLinkUrlPrefixes

func (x *CommonAddOnManifest) GetOpenLinkUrlPrefixes() *structpb.ListValue

func (*CommonAddOnManifest) GetUniversalActions

func (x *CommonAddOnManifest) GetUniversalActions() []*UniversalActionExtensionPoint

func (*CommonAddOnManifest) GetUseLocaleFromApp

func (x *CommonAddOnManifest) GetUseLocaleFromApp() bool

func (*CommonAddOnManifest) ProtoMessage

func (*CommonAddOnManifest) ProtoMessage()

func (*CommonAddOnManifest) ProtoReflect

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

func (*CommonAddOnManifest) Reset

func (x *CommonAddOnManifest) Reset()

func (*CommonAddOnManifest) String

func (x *CommonAddOnManifest) String() string

type HomepageExtensionPoint

Common format for declaring an add-on's home-page view.

type HomepageExtensionPoint struct {

    // Required. The endpoint to execute when this extension point is
    // activated.
    RunFunction string `protobuf:"bytes,1,opt,name=run_function,json=runFunction,proto3" json:"run_function,omitempty"`
    // Optional. If set to `false`, disable the home-page view in this context.
    //
    // Defaults to `true` if unset.
    //
    // If an add-ons custom home-page view is disabled, an autogenerated overview
    // card will be provided for users instead.
    Enabled *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
    // contains filtered or unexported fields
}

func (*HomepageExtensionPoint) Descriptor

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

Deprecated: Use HomepageExtensionPoint.ProtoReflect.Descriptor instead.

func (*HomepageExtensionPoint) GetEnabled

func (x *HomepageExtensionPoint) GetEnabled() *wrapperspb.BoolValue

func (*HomepageExtensionPoint) GetRunFunction

func (x *HomepageExtensionPoint) GetRunFunction() string

func (*HomepageExtensionPoint) ProtoMessage

func (*HomepageExtensionPoint) ProtoMessage()

func (*HomepageExtensionPoint) ProtoReflect

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

func (*HomepageExtensionPoint) Reset

func (x *HomepageExtensionPoint) Reset()

func (*HomepageExtensionPoint) String

func (x *HomepageExtensionPoint) String() string

type HttpAuthorizationHeader

Authorization header sent in add-on HTTP requests

type HttpAuthorizationHeader int32
const (
    // Default value, equivalent to `SYSTEM_ID_TOKEN`
    HttpAuthorizationHeader_HTTP_AUTHORIZATION_HEADER_UNSPECIFIED HttpAuthorizationHeader = 0
    // Send an ID token for the project-specific Google Workspace Add-ons system
    // service account (default)
    HttpAuthorizationHeader_SYSTEM_ID_TOKEN HttpAuthorizationHeader = 1
    // Send an ID token for the end user
    HttpAuthorizationHeader_USER_ID_TOKEN HttpAuthorizationHeader = 2
    // Do not send an Authentication header
    HttpAuthorizationHeader_NONE HttpAuthorizationHeader = 3
)

func (HttpAuthorizationHeader) Descriptor

func (HttpAuthorizationHeader) Descriptor() protoreflect.EnumDescriptor

func (HttpAuthorizationHeader) Enum

func (x HttpAuthorizationHeader) Enum() *HttpAuthorizationHeader

func (HttpAuthorizationHeader) EnumDescriptor

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

Deprecated: Use HttpAuthorizationHeader.Descriptor instead.

func (HttpAuthorizationHeader) Number

func (x HttpAuthorizationHeader) Number() protoreflect.EnumNumber

func (HttpAuthorizationHeader) String

func (x HttpAuthorizationHeader) String() string

func (HttpAuthorizationHeader) Type

func (HttpAuthorizationHeader) Type() protoreflect.EnumType

type HttpOptions

Options for sending requests to add-on HTTP endpoints

type HttpOptions struct {

    // Configuration for the token sent in the HTTP Authorization header
    AuthorizationHeader HttpAuthorizationHeader `protobuf:"varint,1,opt,name=authorization_header,json=authorizationHeader,proto3,enum=google.apps.script.type.HttpAuthorizationHeader" json:"authorization_header,omitempty"`
    // contains filtered or unexported fields
}

func (*HttpOptions) Descriptor

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

Deprecated: Use HttpOptions.ProtoReflect.Descriptor instead.

func (*HttpOptions) GetAuthorizationHeader

func (x *HttpOptions) GetAuthorizationHeader() HttpAuthorizationHeader

func (*HttpOptions) ProtoMessage

func (*HttpOptions) ProtoMessage()

func (*HttpOptions) ProtoReflect

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

func (*HttpOptions) Reset

func (x *HttpOptions) Reset()

func (*HttpOptions) String

func (x *HttpOptions) String() string

type LayoutProperties

Card layout properties shared across all add-on host applications.

type LayoutProperties struct {

    // The primary color of the add-on. It sets the color of toolbar. If no
    // primary color is set explicitly, the default value provided by the
    // framework is used.
    PrimaryColor string `protobuf:"bytes,1,opt,name=primary_color,json=primaryColor,proto3" json:"primary_color,omitempty"`
    // The secondary color of the add-on. It sets the color of buttons.
    // If primary color is set but no secondary color is set, the
    // secondary color is the same as the primary color. If neither primary
    // color nor secondary color is set, the default value provided by the
    // framework is used.
    SecondaryColor string `protobuf:"bytes,2,opt,name=secondary_color,json=secondaryColor,proto3" json:"secondary_color,omitempty"`
    // contains filtered or unexported fields
}

func (*LayoutProperties) Descriptor

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

Deprecated: Use LayoutProperties.ProtoReflect.Descriptor instead.

func (*LayoutProperties) GetPrimaryColor

func (x *LayoutProperties) GetPrimaryColor() string

func (*LayoutProperties) GetSecondaryColor

func (x *LayoutProperties) GetSecondaryColor() string

func (*LayoutProperties) ProtoMessage

func (*LayoutProperties) ProtoMessage()

func (*LayoutProperties) ProtoReflect

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

func (*LayoutProperties) Reset

func (x *LayoutProperties) Reset()

func (*LayoutProperties) String

func (x *LayoutProperties) String() string

Common format for declaring a menu item, or button, that appears within a host app.

type MenuItemExtensionPoint struct {

    // Required. The endpoint to execute when this extension point is
    // activated.
    RunFunction string `protobuf:"bytes,1,opt,name=run_function,json=runFunction,proto3" json:"run_function,omitempty"`
    // Required. User-visible text describing the action taken by activating this
    // extension point. For example, "Insert invoice".
    Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
    // The URL for the logo image shown in the add-on toolbar.
    //
    // If not set, defaults to the add-on's primary logo URL.
    LogoUrl string `protobuf:"bytes,3,opt,name=logo_url,json=logoUrl,proto3" json:"logo_url,omitempty"`
    // contains filtered or unexported fields
}
func (*MenuItemExtensionPoint) Descriptor() ([]byte, []int)

Deprecated: Use MenuItemExtensionPoint.ProtoReflect.Descriptor instead.

func (x *MenuItemExtensionPoint) GetLabel() string
func (x *MenuItemExtensionPoint) GetLogoUrl() string
func (x *MenuItemExtensionPoint) GetRunFunction() string
func (*MenuItemExtensionPoint) ProtoMessage()
func (x *MenuItemExtensionPoint) ProtoReflect() protoreflect.Message
func (x *MenuItemExtensionPoint) Reset()
func (x *MenuItemExtensionPoint) String() string

type UniversalActionExtensionPoint

Format for declaring a universal action menu item extension point.

type UniversalActionExtensionPoint struct {

    // Required. User-visible text describing the action taken by activating this
    // extension point, for example, "Add a new contact".
    Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
    // Required. The action type supported on a universal action menu item. It
    // could be either a link to open or an endpoint to execute.
    //
    // Types that are assignable to ActionType:
    //
    //	*UniversalActionExtensionPoint_OpenLink
    //	*UniversalActionExtensionPoint_RunFunction
    ActionType isUniversalActionExtensionPoint_ActionType `protobuf_oneof:"action_type"`
    // contains filtered or unexported fields
}

func (*UniversalActionExtensionPoint) Descriptor

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

Deprecated: Use UniversalActionExtensionPoint.ProtoReflect.Descriptor instead.

func (*UniversalActionExtensionPoint) GetActionType

func (m *UniversalActionExtensionPoint) GetActionType() isUniversalActionExtensionPoint_ActionType

func (*UniversalActionExtensionPoint) GetLabel

func (x *UniversalActionExtensionPoint) GetLabel() string
func (x *UniversalActionExtensionPoint) GetOpenLink() string

func (*UniversalActionExtensionPoint) GetRunFunction

func (x *UniversalActionExtensionPoint) GetRunFunction() string

func (*UniversalActionExtensionPoint) ProtoMessage

func (*UniversalActionExtensionPoint) ProtoMessage()

func (*UniversalActionExtensionPoint) ProtoReflect

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

func (*UniversalActionExtensionPoint) Reset

func (x *UniversalActionExtensionPoint) Reset()

func (*UniversalActionExtensionPoint) String

func (x *UniversalActionExtensionPoint) String() string
type UniversalActionExtensionPoint_OpenLink struct {
    // URL to be opened by the UniversalAction.
    OpenLink string `protobuf:"bytes,2,opt,name=open_link,json=openLink,proto3,oneof"`
}

type UniversalActionExtensionPoint_RunFunction

type UniversalActionExtensionPoint_RunFunction struct {
    // Endpoint to be run by the UniversalAction.
    RunFunction string `protobuf:"bytes,3,opt,name=run_function,json=runFunction,proto3,oneof"`
}

Subdirectories