Skip to content

Latest commit

 

History

History
1901 lines (975 loc) · 48.4 KB

REFERENCE.md

File metadata and controls

1901 lines (975 loc) · 48.4 KB

Reference

Table of Contents

Classes

Public Classes

Private Classes

  • sogo::config: Manage SOGo configuration file
  • sogo::package: Manage the SOGo package
  • sogo::service: Manage the SOGo service

Functions

  • sogo::to_plist: Convert a data structure and output it in OpenStep plist format

Data types

Classes

sogo

Manage SOGo

Parameters

The following parameters are available in the sogo class:

language

Data type: Optional[String[1]]

Default language used in the Web interface

Default value: undef

time_zone

Data type: Optional[String[1]]

Default time zone for users

Default value: undef

login_module

Data type: Optional[Enum['Calendar', 'Mail', 'Contacts']]

Module to show after login

Default value: undef

password_change_enabled

Data type: Optional[Boolean]

Allow or not users to change their passwords from SOGo

Default value: undef

user_sources

Data type: Optional[Array[Sogo::Usersource]]

LDAP and/or SQL sources used for authentication and global address books

Default value: undef

profile_url

Data type: Optional[String[1]]

Database URL so that SOGo can retrieve user profiles

Default value: undef

folder_info_url

Data type: Optional[String[1]]

Database URL so that SOGo can retrieve the location of user folders

Default value: undef

sessions_folder_url

Data type: Optional[String[1]]

Database URL so that SOGo can store and retrieve secured user sessions information

Default value: undef

configuration_file

Data type: String[1]

Path to SOGo configuration file

package

Data type: String[1]

Package name

service

Data type: String[1]

Ensure parameter for the SOGo package

configuration_group

Data type: String[1]

Group of the SOGo configuration file

configuration_owner

Data type: String[1]

User of the SOGo configuration file

Default value: 'root'

configuration_mode

Data type: Stdlib::Filemode

Permissions of the SOGo configuration file

Default value: '0640'

workers_count

Data type: Optional[Integer[1]]

Default value: undef

listen_queue_size

Data type: Optional[Integer[1]]

Default value: undef

port

Data type: Optional[String[1]]

Default value: undef

log_file

Data type: Optional[Stdlib::Absolutepath]

Default value: undef

pid_file

Data type: Optional[Stdlib::Absolutepath]

Default value: undef

watch_dog_request_timeout

Data type: Optional[Integer[1]]

Default value: undef

max_upload_size

Data type: Optional[Integer[0]]

Default value: undef

maximum_message_size_limit

Data type: Optional[Integer[0]]

Default value: undef

mem_limit

Data type: Optional[Integer[0]]

Default value: undef

memcached_host

Data type: Optional[String[1]]

Default value: undef

cache_cleanup_interval

Data type: Optional[Integer[0]]

Default value: undef

authentication_type

Data type: Optional[Enum['', 'cas', 'saml2']]

Default value: undef

trust_proxy_authentication

Data type: Optional[Boolean]

Default value: undef

encryption_key

Data type: Optional[Sensitive[String[1]]]

Default value: undef

cas_service_url

Data type: Optional[String[1]]

Default value: undef

cas_logout_enabled

Data type: Optional[Boolean]

Default value: undef

address_book_dav_access_enabled

Data type: Optional[Boolean]

Default value: undef

calendar_dav_access_enabled

Data type: Optional[Boolean]

Default value: undef

saml2_private_key_location

Data type: Optional[String[1]]

Default value: undef

saml2_certificate_location

Data type: Optional[String[1]]

Default value: undef

saml2_idp_metadata_location

Data type: Optional[String[1]]

Default value: undef

saml2_idp_public_key_location

Data type: Optional[String[1]]

Default value: undef

saml2_idp_certificate_location

Data type: Optional[String[1]]

Default value: undef

saml2_login_attribute

Data type: Optional[String[1]]

Default value: undef

saml2_logout_enabled

Data type: Optional[Boolean]

Default value: undef

saml2_logout_url

Data type: Optional[String[1]]

Default value: undef

mail_domain

Data type: Optional[String[1]]

Default value: undef

appointment_send_email_notifications

Data type: Optional[Boolean]

Default value: undef

folders_send_email_notifications

Data type: Optional[Boolean]

Default value: undef

acls_send_email_notifications

Data type: Optional[Boolean]

Default value: undef

calendar_default_roles

Data type: Optional[Array[Sogo::Calendar_role]]

Default value: undef

contacts_default_roles

Data type: Optional[Array[Sogo::Contacts_role]]

Default value: undef

super_usernames

Data type: Optional[Array[String[1]]]

Default value: undef

notify_on_personal_modifications

Data type: Optional[Boolean]

Default value: undef

notify_on_external_modifications

Data type: Optional[Boolean]

Default value: undef

iphone_force_all_day_transparency

Data type: Optional[Boolean]

Default value: undef

enable_public_access

Data type: Optional[Boolean]

Default value: undef

disable_sharing

Data type: Optional[Boolean]

Default value: undef

supported_languages

Data type: Optional[Array[String[1]]]

Default value: undef

hide_system_email

Data type: Optional[Boolean]

Default value: undef

search_minimum_word_length

Data type: Optional[Integer[0]]

Default value: undef

maximum_failed_login_count

Data type: Optional[Integer[0]]

Default value: undef

maximum_failed_login_interval

Data type: Optional[Integer[0]]

Default value: undef

failed_login_block_interval

Data type: Optional[Integer[0]]

Default value: undef

maximum_message_submission_count

Data type: Optional[Integer[0]]

Default value: undef

maximum_recipient_count

Data type: Optional[Integer[0]]

Default value: undef

maximum_submission_interval

Data type: Optional[Integer[0]]

Default value: undef

message_submission_block_interval

Data type: Optional[Integer[0]]

Default value: undef

maximum_request_count

Data type: Optional[Integer[0]]

Default value: undef

maximum_request_interval

Data type: Optional[Integer[0]]

Default value: undef

request_block_interval

Data type: Optional[Integer[0]]

Default value: undef

xsrf_validation_enabled

Data type: Optional[Boolean]

Default value: undef

password_recovery_enabled

Data type: Optional[Boolean]

Default value: undef

password_recovery_domains

Data type: Optional[Array[String[1]]]

Default value: undef

jwt_secret

Data type: Optional[Sensitive[String[1]]]

Default value: undef

create_identities_disabled

Data type: Optional[Boolean]

Default value: undef

url_encryption_enabled

Data type: Optional[Boolean]

Default value: undef

url_encryption_passphrase

Data type: Optional[Sensitive[String[1]]]

Default value: undef

global_address_book_first_entries

Data type: Optional[Boolean]

Default value: undef

global_address_book_first_entries_count

Data type: Optional[Integer[0]]

Default value: undef

secret_type

Data type: Optional[Enum['plain', 'env', 'none']]

Default value: undef

secret_value

Data type: Optional[Variant[String[1], Sensitive[String[1]]]]

Default value: undef

email_alarms_folder_url

Data type: Optional[String[1]]

Default value: undef

disable_organizer_event_check

Data type: Optional[Boolean]

Default value: undef

store_url

Data type: Optional[String[1]]

Default value: undef

acl_url

Data type: Optional[String[1]]

Default value: undef

cache_folder_url

Data type: Optional[String[1]]

Default value: undef

admin_url

Data type: Optional[String[1]]

Default value: undef

ldap_contact_info_attribute

Data type: Optional[String[1]]

Default value: undef

ldap_query_limit

Data type: Optional[String[1]]

Default value: undef

ldap_query_timeout

Data type: Optional[Integer[0]]

Default value: undef

ldap_group_expansion_enabled

Data type: Optional[Boolean]

Default value: undef

mailing_mechanism

Data type: Optional[Enum['sendmail', 'smtp']]

Default value: undef

smtp_server

Data type: Optional[String[1]]

Default value: undef

smtp_authentication_type

Data type: Optional[Enum['PLAIN']]

Default value: undef

smtp_master_user_enabled

Data type: Optional[Boolean]

Default value: undef

smtp_master_user_username

Data type: Optional[String[1]]

Default value: undef

smtp_master_user_password

Data type: Optional[Sensitive[String[1]]]

Default value: undef

send_mail

Data type: Optional[String[1]]

Default value: undef

drafts_folder_name

Data type: Optional[String[1]]

Default value: undef

sent_folder_name

Data type: Optional[String[1]]

Default value: undef

trash_folder_name

Data type: Optional[String[1]]

Default value: undef

junk_folder_name

Data type: Optional[String[1]]

Default value: undef

imap_cas_service_name

Data type: Optional[String[1]]

Default value: undef

imap_server

Data type: Optional[String[1]]

Default value: undef

sieve_server

Data type: Optional[String[1]]

Default value: undef

sieve_folder_encoding

Data type: Optional[Enum['UTF-7', 'UTF-8']]

Default value: undef

mail_show_subscribed_folders_only

Data type: Optional[Boolean]

Default value: undef

imap_acl_style

Data type: Optional[Enum['rfc2086', 'rfc4314']]

Default value: undef

imap_acl_conforms_to_imap_ext

Data type: Optional[Boolean]

Default value: undef

mail_spool_path

Data type: Optional[Stdlib::Absolutepath]

Default value: undef

mime_build_mime_temp_directory

Data type: Optional[Stdlib::Absolutepath]

Default value: undef

imap4_disable_imap4_pooling

Data type: Optional[Boolean]

Default value: undef

imap4_auth_mechanism

Data type: Optional[String[1]]

Default value: undef

imap4_connection_group_id_prefix

Data type: Optional[String[1]]

Default value: undef

force_external_login_with_email

Data type: Optional[Boolean]

Default value: undef

page_title

Data type: Optional[String[1]]

Default value: undef

help_url

Data type: Optional[Stdlib::HTTPUrl]

Default value: undef

favicon_relative_url

Data type: Optional[String[1]]

Default value: undef

zip_path

Data type: Optional[Stdlib::Absolutepath]

Default value: undef

soft_quota_ratio

Data type: Optional[Float[0,1]]

Default value: undef

mail_use_outlook_style_replies

Data type: Optional[Boolean]

Default value: undef

mail_list_view_columns_order

Data type: Optional[Array[String[1]]]

Default value: undef

mail_add_outgoing_addresses

Data type: Optional[Boolean]

Default value: undef

mail_certificate_enabled

Data type: Optional[Boolean]

Default value: undef

selected_address_book

Data type: Optional[String[1]]

Default value: undef

external_avatars_enabled

Data type: Optional[Boolean]

Default value: undef

gravatar_enabled

Data type: Optional[Boolean]

Default value: undef

vacation_enabled

Data type: Optional[Boolean]

Default value: undef

vacation_period_enabled

Data type: Optional[Boolean]

Default value: undef

vacation_default_subject

Data type: Optional[String[1]]

Default value: undef

vacation_header_template_file

Data type: Optional[Stdlib::Absolutepath]

Default value: undef

vacation_footer_template_file

Data type: Optional[Stdlib::Absolutepath]

Default value: undef

forward_enabled

Data type: Optional[Boolean]

Default value: undef

forward_constraints

Data type: Optional[Integer[0,2]]

Default value: undef

forward_constraints_domains

Data type: Optional[Array[String[1]]]

Default value: undef

notification_enabled

Data type: Optional[Boolean]

Default value: undef

sieve_scripts_enabled

Data type: Optional[Boolean]

Default value: undef

sieve_script_header_template_file

Data type: Optional[Stdlib::Absolutepath]

Default value: undef

sieve_script_footer_template_file

Data type: Optional[Stdlib::Absolutepath]

Default value: undef

sieve_filters

Data type: Optional[Array[String[1]]]

Default value: undef

refresh_view_intervals

Data type: Optional[Array[Integer[1]]]

Default value: undef

refresh_view_check

Data type: Optional[Sogo::Refresh_view_check]

Default value: undef

mail_auxiliary_user_accounts_enabled

Data type: Optional[Boolean]

Default value: undef

default_calendar

Data type: Optional[Enum['selected', 'personal', 'first']]

Default value: undef

day_start_time

Data type: Optional[Integer[0,12]]

Default value: undef

day_end_time

Data type: Optional[Integer[12,23]]

Default value: undef

first_day_of_week

Data type: Optional[Integer[0,6]]

Default value: undef

first_week_of_year

Data type: Optional[Sogo::First_week_of_year]

Default value: undef

time_format

Data type: Optional[String[1]]

Default value: undef

calendar_categories

Data type: Optional[Array[String[1]]]

Default value: undef

calendar_categories_colors

Data type: Optional[Hash[String[1], String[1]]]

Default value: undef

calendar_events_default_classification

Data type: Optional[Sogo::Classification]

Default value: undef

calendar_tasks_default_classification

Data type: Optional[Sogo::Classification]

Default value: undef

calendar_default_reminder

Data type: Optional[Sogo::Reminder]

Default value: undef

free_busy_default_interval

Data type: Optional[Array[Integer[0],2,2]]

Default value: undef

dav_calendar_start_time_limit

Data type: Optional[Integer[0]]

Default value: undef

busy_off_hours

Data type: Optional[Boolean]

Default value: undef

mail_message_forwarding

Data type: Optional[Enum['inline', 'attached']]

Default value: undef

mail_reply_placement

Data type: Optional[Enum['above', 'below']]

Default value: undef

mail_signature_placement

Data type: Optional[Enum['above', 'below']]

Default value: undef

mail_use_signature_on_new

Data type: Optional[Boolean]

Default value: undef

mail_use_signature_on_reply

Data type: Optional[Boolean]

Default value: undef

mail_use_signature_on_forward

Data type: Optional[Boolean]

Default value: undef

mail_compose_message_type

Data type: Optional[Enum['text', 'html']]

Default value: undef

mail_compose_window

Data type: Optional[Enum['inline', 'popup']]

Default value: undef

enable_email_alarms

Data type: Optional[Boolean]

Default value: undef

contacts_categories

Data type: Optional[Array[String[1]]]

Default value: undef

ui_additional_js_files

Data type: Optional[Array[String[1]]]

Default value: undef

mail_custom_from_enabled

Data type: Optional[Boolean]

Default value: undef

subscription_folder_format

Data type: Optional[String[1]]

Default value: undef

uix_additional_preferences

Data type: Optional[Boolean]

Default value: undef

mail_junk_settings

Data type: Optional[Sogo::Mail_junk_settings]

Default value: undef

mail_keep_drafts_after_send

Data type: Optional[Boolean]

Default value: undef

domains

Data type: Optional[Hash[String[1], Sogo::Domain]]

Default value: undef

enable_domain_based_uid

Data type: Optional[Boolean]

Default value: undef

login_domains

Data type: Optional[Array[String[1]]]

Default value: undef

domains_visibility

Data type: Optional[Array[Array[String[1]]]]

Default value: undef

Functions

sogo::to_plist

Type: Ruby 4.x API

Convert a data structure and output it in OpenStep plist format

Examples

Output OpenStep plist to a file
file { '/tmp/my.yaml':
  ensure  => file,
  content => stdlib::to_yaml($myhash),
}

sogo::to_plist(Any $data, Optional[Integer] $indent)

The sogo::to_plist function.

Returns: String The OpenStep plist formatted document

Examples
Output OpenStep plist to a file
file { '/tmp/my.yaml':
  ensure  => file,
  content => stdlib::to_yaml($myhash),
}
data

Data type: Any

The data you want to convert

indent

Data type: Optional[Integer]

The indentation level to add to the output

Data types

Sogo::Calendar_role

Available roles for calendars

Alias of Enum['PublicViewer', 'PublicDAndTViewer', 'PublicModifier', 'PublicResponder', 'ConfidentialViewer', 'ConfidentialDAndTViewer', 'ConfidentialModifier', 'ConfidentialResponder', 'PrivateViewer', 'PrivateDAndTViewer', 'PrivateModifier', 'PrivateResponder', 'ObjectCreator', 'ObjectEraser']

Sogo::Classification

Available classifications for calendars and contacts

Alias of Enum['PUBLIC', 'CONFIDENTIAL', 'PRIVATE']

Sogo::Contacts_role

Available roles for contacts

Alias of Enum['ObjectViewer', 'ObjectEditor', 'ObjectCreator', 'ObjectEraser']

Sogo::Domain

Describe a SOGo domain

Alias of

Struct[{
    # General Preferences
    Optional[time_zone]                              => String[1],
    Optional[mail_domain]                            => String[1],
    Optional[appointment_send_email_notifications]   => Boolean,
    Optional[folders_send_email_notifications]       => Boolean,
    Optional[acls_send_email_notifications]          => Boolean,
    Optional[calendar_default_roles]                 => Array[Sogo::Calendar_role],
    Optional[contacts_default_roles]                 => Array[Sogo::Contacts_role],
    Optional[super_usernames]                        => Array[String[1]],
    Optional[language]                               => String[1],
    Optional[notify_on_personal_modifications]       => Boolean,
    Optional[notify_on_external_modifications]       => Boolean,
    Optional[ldap_contact_info_attribute]            => String[1],
    Optional[iphone_force_all_day_transparency]      => Boolean,
    Optional[hide_system_email]                      => Boolean,
    Optional[search_minimum_word_length]             => Integer[0],
    Optional[user_sources]                           => Array[Sogo::Usersource],
    Optional[create_identities_disabled]             => Boolean,

    # Authentication using LDAP
    # ldap_contact_info_attribute (duplicate entry, kept to match documentation)
    Optional[ldap_query_limit]                       => String[1],
    Optional[ldap_query_timeout]                     => Integer[0],
    Optional[ldap_group_expansion_enabled]           => Boolean,

    # SMTP Server Configuration
    Optional[mailing_mechanism]                      => String[1],
    Optional[smtp_server]                            => String[1],
    Optional[smtp_authentication_type]               => String[1],
    Optional[smtp_master_user_enabled]               => Boolean,
    Optional[smtp_master_user_username]              => String[1],
    Optional[smtp_master_user_password]              => Sensitive[String[1]],
    Optional[force_external_login_with_email]        => Boolean,

    # IMAP Server Configuration
    Optional[drafts_folder_name]                     => String[1],
    Optional[sent_folder_name]                       => String[1],
    Optional[trash_folder_name]                      => String[1],
    Optional[junk_folder_name]                       => String[1],
    Optional[imap_cas_service_name]                  => String[1],
    Optional[imap_server]                            => String[1],
    Optional[sieve_server]                           => String[1],
    Optional[sieve_folder_encoding]                  => Enum['UTF-7', 'UTF-8'],
    Optional[mail_show_subscribed_folders_only]      => Boolean,
    Optional[imap_acl_style]                         => Enum['rfc2086', 'rfc4314'],
    Optional[imap_acl_conforms_to_imap_ext]          => Boolean,
    #Optional[force_external_login_with_email]       => Boolean,
    Optional[mail_spool_path]                        => String[1],
    Optional[imap4_connection_group_id_prefix]       => String[1],

    # Web Interface Configuration
    Optional[login_module]                           => String[1],
    Optional[soft_quota_ratio]                       => Float[0, 1],
    Optional[mail_use_outlook_style_replies]         => Boolean,
    Optional[mail_list_view_columns_order]           => Array[String[1]],
    Optional[mail_add_outgoing_addresses]            => Boolean,
    Optional[mail_certificate_enabled]               => Boolean,
    Optional[selected_address_book]                  => String[1],
    Optional[external_avatars_enabled]               => Boolean,
    Optional[gravatar_enabled]                       => Boolean,
    Optional[vacation_enabled]                       => Boolean,
    Optional[vacation_period_enabled]                => Boolean,
    Optional[vacation_default_subject]               => String[1],
    Optional[vacation_header_template_file]          => Stdlib::Absolutepath,
    Optional[vacation_footer_template_file]          => Stdlib::Absolutepath,
    Optional[forward_enabled]                        => Boolean,
    Optional[forward_constraints]                    => Integer[0, 2],
    Optional[forward_constraints_domains]            => Array[String[1]],
    Optional[notification_enabled]                   => Boolean,
    Optional[sieve_scripts_enabled]                  => Boolean,
    Optional[sieve_script_header_template_file]      => Stdlib::Absolutepath,
    Optional[sieve_script_footer_template_file]      => Stdlib::Absolutepath,
    Optional[sieve_filters]                          => Array[String[1]],
    Optional[refresh_view_intervals]                 => Array[Integer[0]],
    Optional[refresh_view_check]                     => Sogo::Refresh_view_check,
    Optional[mail_auxiliary_user_accounts_enabled]   => Boolean,
    Optional[default_calendar]                       => Enum['selected','personal','first'],
    Optional[day_start_time]                         => Integer[0,12],
    Optional[day_end_time]                           => Integer[12,23],
    Optional[first_day_of_week]                      => Integer[0,6],
    Optional[first_week_of_year]                     => Enum['January1','First4DayWeek','FirstFullWeek'],
    Optional[time_format]                            => String[1],
    Optional[calendar_categories]                    => Array[String[1]],
    Optional[calendar_categories_colors]             => Hash[String[1], String[1]],
    Optional[calendar_events_default_classification] => Enum['PUBLIC','CONFIDENTIAL','PRIVATE'],
    Optional[calendar_tasks_default_classification]  => Enum['PUBLIC','CONFIDENTIAL','PRIVATE'],
    Optional[calendar_default_reminder]              => Sogo::Reminder,
    Optional[free_busy_default_interval]             => Array[Integer[0], 2, 2],
    Optional[dav_calendar_start_time_limit]          => Integer[0],
    Optional[busy_off_hours]                         => Boolean,
    Optional[mail_message_forwarding]                => String[1],
    Optional[mail_reply_placement]                   => String[1],
    Optional[mail_signature_placement]               => String[1],
    Optional[mail_use_signature_on_new]              => Boolean,
    Optional[mail_use_signature_on_reply]            => Boolean,
    Optional[mail_use_signature_on_forward]          => Boolean,
    Optional[mail_compose_message_type]              => Enum['text', 'html'],
    Optional[mail_compose_window]                    => Enum['inline', 'popup'],
    Optional[enable_email_alarms]                    => Boolean,
    Optional[contacts_categories]                    => Array[String[1]],
    Optional[ui_additional_js_files]                 => Array[String[1]],
    Optional[mail_custom_from_enabled]               => Boolean,
    Optional[subscription_folder_format]             => String[1],
    Optional[uix_additional_preferences]             => Boolean,
    Optional[mail_junk_settings]                     => Sogo::Mail_junk_settings,
    Optional[mail_keep_drafts_after_send]            => Boolean,
  }]

Sogo::First_week_of_year

Available values for the first week of the year

Alias of Enum['January1', 'First4DayWeek', 'FirstFullWeek']

Sogo::Mail_junk_settings

Describe SOGo junk mail settings

Alias of

Struct[vendor              => Enum['generic'],
  junkEmailAddress    => String[1],
  notJunkEmailAddress => String[1],
  limit               => Integer[0]]

Sogo::Refresh_view_check

Available values for refreshing views

Alias of Enum['manually', 'every_minute', 'every_2_minutes', 'every_5_minutes', 'every_10_minutes', 'every_20_minutes', 'every_30_minutes', 'once_per_hour']

Sogo::Reminder

Supported values for SOGo reminders

Alias of Enum['-PT5M', '-PT10M', '-PT15M', '-PT30M', '-PT45M', '-PT1H', '-PT2H', '-PT5H', '-PT15H', '-P1D', '-P2D', '-P1W']

Sogo::Usersource

Describe a SOGo user source

Alias of Variant[Sogo::Usersource_ldap, Sogo::Usersource_sql]

Sogo::Usersource_ldap

Describe a SOGo LDAP user source

Alias of

Struct[{
    type                         => Enum['ldap'],
    id                           => Optional[String[1]],

    cn_field_name                => Optional[String[1]],
    id_field_name                => Optional[String[1]],
    uid_field_name               => Optional[String[1]],
    mail_field_names             => Optional[Array[String[1]]],
    search_field_names           => Optional[Array[String[1]]],
    imap_host_field_name         => Optional[String[1]],
    imap_login_field_name        => Optional[String[1]],
    sieve_host_field_name        => Optional[String[1]],
    base_dn                      => Optional[String[1]],
    kind_field_name              => Optional[String[1]],
    multiple_bookings_field_name => Optional[Integer[-1]],
    filter                       => Optional[String[1]],
    scope                        => Optional[Enum['BASE', 'ONE', 'SUB']],
    bind_dn                      => Optional[String[1]],
    bind_password                => Optional[Sensitive[String[1]]],
    bind_as_current_user         => Optional[Boolean],
    bind_fields                  => Optional[Array[String]],
    lookup_fields                => Optional[Array[String[1]]],
    hostname                     => Optional[String[1]],
    # port
    # encryption
    user_password_algorithm      => Optional[String[1]],
    can_authenticate             => Optional[Boolean],
    password_policy              => Optional[Boolean],
    update_samba_ntlm_passwords  => Optional[Boolean],
    is_address_book              => Optional[Boolean],
    display_name                 => Optional[String[1]],
    list_requires_dot            => Optional[Boolean],
    modules_constraints          => Optional[Hash[String[1], Hash[String[1], String[1]]]],
    mapping                      => Optional[Hash[String[1], Array[String[1]]]],
    object_classes               => Optional[Array[String[1]]],
    group_object_classes         => Optional[Array[String[1]]],
    modifiers                    => Optional[Array[String[1]]],
    ab_ou                        => Optional[String[1]],

    # DS
    ldap_contact_info_attribute  => Optional[String[1]],
    ldap_query_limit             => Optional[Integer[1]],
    ldap_query_timeout           => Optional[Integer[0]],
    ldap_group_expansion_enabled => Optional[Boolean],
  }]

Sogo::Usersource_sql

Describe a SOGo SQL user source

Alias of

Struct[{
    type                         => Enum['sql'],
    id                           => String[1],

    view_url                     => String[1],
    user_password_policy         => Optional[Array[Struct[label => String[1], regex => String[1]]]],
    user_password_algorithm      => Optional[String[1]],
    prepend_password_scheme      => Optional[Boolean],
    key_path                     => Optional[Stdlib::Absolutepath],
    can_authenticate             => Optional[Boolean],
    is_address_book              => Optional[Boolean],

    authentication_filter        => Optional[String[1]],
    display_name                 => Optional[String[1]],
    login_field_names            => Optional[Array[String[1]]],
    mail_field_names             => Optional[Array[String[1]]],
    search_field_names           => Optional[Array[String[1]]],
    imap_host_field_name         => Optional[String[1]],
    imap_login_field_name        => Optional[String[1]],
    sieve_host_field_name        => Optional[String[1]],
    kind_field_name              => Optional[String[1]],
    multiple_bookings_field_name => Optional[Integer[-1]],
    domain_field_name            => Optional[String[1]],
    list_requires_dot            => Optional[Boolean],
    modules_constraints          => Optional[Hash[String[1], Hash[String[1], String[1]]]],
  }]