github.com/Files-com/files-sdk-go/v2@v2.1.2/site.go (about)

     1  package files_sdk
     2  
     3  import (
     4  	"encoding/json"
     5  	"io"
     6  	"time"
     7  
     8  	lib "github.com/Files-com/files-sdk-go/v2/lib"
     9  )
    10  
    11  type Site struct {
    12  	Name                                   string                 `json:"name,omitempty" path:"name,omitempty" url:"name,omitempty"`
    13  	Allowed2faMethodSms                    *bool                  `json:"allowed_2fa_method_sms,omitempty" path:"allowed_2fa_method_sms,omitempty" url:"allowed_2fa_method_sms,omitempty"`
    14  	Allowed2faMethodTotp                   *bool                  `json:"allowed_2fa_method_totp,omitempty" path:"allowed_2fa_method_totp,omitempty" url:"allowed_2fa_method_totp,omitempty"`
    15  	Allowed2faMethodU2f                    *bool                  `json:"allowed_2fa_method_u2f,omitempty" path:"allowed_2fa_method_u2f,omitempty" url:"allowed_2fa_method_u2f,omitempty"`
    16  	Allowed2faMethodWebauthn               *bool                  `json:"allowed_2fa_method_webauthn,omitempty" path:"allowed_2fa_method_webauthn,omitempty" url:"allowed_2fa_method_webauthn,omitempty"`
    17  	Allowed2faMethodYubi                   *bool                  `json:"allowed_2fa_method_yubi,omitempty" path:"allowed_2fa_method_yubi,omitempty" url:"allowed_2fa_method_yubi,omitempty"`
    18  	Allowed2faMethodBypassForFtpSftpDav    *bool                  `json:"allowed_2fa_method_bypass_for_ftp_sftp_dav,omitempty" path:"allowed_2fa_method_bypass_for_ftp_sftp_dav,omitempty" url:"allowed_2fa_method_bypass_for_ftp_sftp_dav,omitempty"`
    19  	AdminUserId                            int64                  `json:"admin_user_id,omitempty" path:"admin_user_id,omitempty" url:"admin_user_id,omitempty"`
    20  	AllowBundleNames                       *bool                  `json:"allow_bundle_names,omitempty" path:"allow_bundle_names,omitempty" url:"allow_bundle_names,omitempty"`
    21  	AllowedCountries                       string                 `json:"allowed_countries,omitempty" path:"allowed_countries,omitempty" url:"allowed_countries,omitempty"`
    22  	AllowedIps                             string                 `json:"allowed_ips,omitempty" path:"allowed_ips,omitempty" url:"allowed_ips,omitempty"`
    23  	AskAboutOverwrites                     *bool                  `json:"ask_about_overwrites,omitempty" path:"ask_about_overwrites,omitempty" url:"ask_about_overwrites,omitempty"`
    24  	BundleActivityNotifications            string                 `json:"bundle_activity_notifications,omitempty" path:"bundle_activity_notifications,omitempty" url:"bundle_activity_notifications,omitempty"`
    25  	BundleExpiration                       int64                  `json:"bundle_expiration,omitempty" path:"bundle_expiration,omitempty" url:"bundle_expiration,omitempty"`
    26  	BundlePasswordRequired                 *bool                  `json:"bundle_password_required,omitempty" path:"bundle_password_required,omitempty" url:"bundle_password_required,omitempty"`
    27  	BundleRegistrationNotifications        string                 `json:"bundle_registration_notifications,omitempty" path:"bundle_registration_notifications,omitempty" url:"bundle_registration_notifications,omitempty"`
    28  	BundleRequireRegistration              *bool                  `json:"bundle_require_registration,omitempty" path:"bundle_require_registration,omitempty" url:"bundle_require_registration,omitempty"`
    29  	BundleRequireShareRecipient            *bool                  `json:"bundle_require_share_recipient,omitempty" path:"bundle_require_share_recipient,omitempty" url:"bundle_require_share_recipient,omitempty"`
    30  	BundleUploadReceiptNotifications       string                 `json:"bundle_upload_receipt_notifications,omitempty" path:"bundle_upload_receipt_notifications,omitempty" url:"bundle_upload_receipt_notifications,omitempty"`
    31  	BundleWatermarkAttachment              Image                  `json:"bundle_watermark_attachment,omitempty" path:"bundle_watermark_attachment,omitempty" url:"bundle_watermark_attachment,omitempty"`
    32  	BundleWatermarkValue                   map[string]interface{} `json:"bundle_watermark_value,omitempty" path:"bundle_watermark_value,omitempty" url:"bundle_watermark_value,omitempty"`
    33  	UploadsViaEmailAuthentication          *bool                  `json:"uploads_via_email_authentication,omitempty" path:"uploads_via_email_authentication,omitempty" url:"uploads_via_email_authentication,omitempty"`
    34  	Color2Left                             string                 `json:"color2_left,omitempty" path:"color2_left,omitempty" url:"color2_left,omitempty"`
    35  	Color2Link                             string                 `json:"color2_link,omitempty" path:"color2_link,omitempty" url:"color2_link,omitempty"`
    36  	Color2Text                             string                 `json:"color2_text,omitempty" path:"color2_text,omitempty" url:"color2_text,omitempty"`
    37  	Color2Top                              string                 `json:"color2_top,omitempty" path:"color2_top,omitempty" url:"color2_top,omitempty"`
    38  	Color2TopText                          string                 `json:"color2_top_text,omitempty" path:"color2_top_text,omitempty" url:"color2_top_text,omitempty"`
    39  	ContactName                            string                 `json:"contact_name,omitempty" path:"contact_name,omitempty" url:"contact_name,omitempty"`
    40  	CreatedAt                              *time.Time             `json:"created_at,omitempty" path:"created_at,omitempty" url:"created_at,omitempty"`
    41  	Currency                               string                 `json:"currency,omitempty" path:"currency,omitempty" url:"currency,omitempty"`
    42  	CustomNamespace                        *bool                  `json:"custom_namespace,omitempty" path:"custom_namespace,omitempty" url:"custom_namespace,omitempty"`
    43  	DaysToRetainBackups                    int64                  `json:"days_to_retain_backups,omitempty" path:"days_to_retain_backups,omitempty" url:"days_to_retain_backups,omitempty"`
    44  	DefaultTimeZone                        string                 `json:"default_time_zone,omitempty" path:"default_time_zone,omitempty" url:"default_time_zone,omitempty"`
    45  	DesktopApp                             *bool                  `json:"desktop_app,omitempty" path:"desktop_app,omitempty" url:"desktop_app,omitempty"`
    46  	DesktopAppSessionIpPinning             *bool                  `json:"desktop_app_session_ip_pinning,omitempty" path:"desktop_app_session_ip_pinning,omitempty" url:"desktop_app_session_ip_pinning,omitempty"`
    47  	DesktopAppSessionLifetime              int64                  `json:"desktop_app_session_lifetime,omitempty" path:"desktop_app_session_lifetime,omitempty" url:"desktop_app_session_lifetime,omitempty"`
    48  	MobileApp                              *bool                  `json:"mobile_app,omitempty" path:"mobile_app,omitempty" url:"mobile_app,omitempty"`
    49  	MobileAppSessionIpPinning              *bool                  `json:"mobile_app_session_ip_pinning,omitempty" path:"mobile_app_session_ip_pinning,omitempty" url:"mobile_app_session_ip_pinning,omitempty"`
    50  	MobileAppSessionLifetime               int64                  `json:"mobile_app_session_lifetime,omitempty" path:"mobile_app_session_lifetime,omitempty" url:"mobile_app_session_lifetime,omitempty"`
    51  	DisallowedCountries                    string                 `json:"disallowed_countries,omitempty" path:"disallowed_countries,omitempty" url:"disallowed_countries,omitempty"`
    52  	DisableFilesCertificateGeneration      *bool                  `json:"disable_files_certificate_generation,omitempty" path:"disable_files_certificate_generation,omitempty" url:"disable_files_certificate_generation,omitempty"`
    53  	DisableNotifications                   *bool                  `json:"disable_notifications,omitempty" path:"disable_notifications,omitempty" url:"disable_notifications,omitempty"`
    54  	DisablePasswordReset                   *bool                  `json:"disable_password_reset,omitempty" path:"disable_password_reset,omitempty" url:"disable_password_reset,omitempty"`
    55  	Domain                                 string                 `json:"domain,omitempty" path:"domain,omitempty" url:"domain,omitempty"`
    56  	DomainHstsHeader                       *bool                  `json:"domain_hsts_header,omitempty" path:"domain_hsts_header,omitempty" url:"domain_hsts_header,omitempty"`
    57  	DomainLetsencryptChain                 string                 `json:"domain_letsencrypt_chain,omitempty" path:"domain_letsencrypt_chain,omitempty" url:"domain_letsencrypt_chain,omitempty"`
    58  	Email                                  string                 `json:"email,omitempty" path:"email,omitempty" url:"email,omitempty"`
    59  	FtpEnabled                             *bool                  `json:"ftp_enabled,omitempty" path:"ftp_enabled,omitempty" url:"ftp_enabled,omitempty"`
    60  	ReplyToEmail                           string                 `json:"reply_to_email,omitempty" path:"reply_to_email,omitempty" url:"reply_to_email,omitempty"`
    61  	NonSsoGroupsAllowed                    *bool                  `json:"non_sso_groups_allowed,omitempty" path:"non_sso_groups_allowed,omitempty" url:"non_sso_groups_allowed,omitempty"`
    62  	NonSsoUsersAllowed                     *bool                  `json:"non_sso_users_allowed,omitempty" path:"non_sso_users_allowed,omitempty" url:"non_sso_users_allowed,omitempty"`
    63  	FolderPermissionsGroupsOnly            *bool                  `json:"folder_permissions_groups_only,omitempty" path:"folder_permissions_groups_only,omitempty" url:"folder_permissions_groups_only,omitempty"`
    64  	Hipaa                                  *bool                  `json:"hipaa,omitempty" path:"hipaa,omitempty" url:"hipaa,omitempty"`
    65  	Icon128                                Image                  `json:"icon128,omitempty" path:"icon128,omitempty" url:"icon128,omitempty"`
    66  	Icon16                                 Image                  `json:"icon16,omitempty" path:"icon16,omitempty" url:"icon16,omitempty"`
    67  	Icon32                                 Image                  `json:"icon32,omitempty" path:"icon32,omitempty" url:"icon32,omitempty"`
    68  	Icon48                                 Image                  `json:"icon48,omitempty" path:"icon48,omitempty" url:"icon48,omitempty"`
    69  	ImmutableFilesSetAt                    *time.Time             `json:"immutable_files_set_at,omitempty" path:"immutable_files_set_at,omitempty" url:"immutable_files_set_at,omitempty"`
    70  	IncludePasswordInWelcomeEmail          *bool                  `json:"include_password_in_welcome_email,omitempty" path:"include_password_in_welcome_email,omitempty" url:"include_password_in_welcome_email,omitempty"`
    71  	Language                               string                 `json:"language,omitempty" path:"language,omitempty" url:"language,omitempty"`
    72  	LdapBaseDn                             string                 `json:"ldap_base_dn,omitempty" path:"ldap_base_dn,omitempty" url:"ldap_base_dn,omitempty"`
    73  	LdapDomain                             string                 `json:"ldap_domain,omitempty" path:"ldap_domain,omitempty" url:"ldap_domain,omitempty"`
    74  	LdapEnabled                            *bool                  `json:"ldap_enabled,omitempty" path:"ldap_enabled,omitempty" url:"ldap_enabled,omitempty"`
    75  	LdapGroupAction                        string                 `json:"ldap_group_action,omitempty" path:"ldap_group_action,omitempty" url:"ldap_group_action,omitempty"`
    76  	LdapGroupExclusion                     string                 `json:"ldap_group_exclusion,omitempty" path:"ldap_group_exclusion,omitempty" url:"ldap_group_exclusion,omitempty"`
    77  	LdapGroupInclusion                     string                 `json:"ldap_group_inclusion,omitempty" path:"ldap_group_inclusion,omitempty" url:"ldap_group_inclusion,omitempty"`
    78  	LdapHost                               string                 `json:"ldap_host,omitempty" path:"ldap_host,omitempty" url:"ldap_host,omitempty"`
    79  	LdapHost2                              string                 `json:"ldap_host_2,omitempty" path:"ldap_host_2,omitempty" url:"ldap_host_2,omitempty"`
    80  	LdapHost3                              string                 `json:"ldap_host_3,omitempty" path:"ldap_host_3,omitempty" url:"ldap_host_3,omitempty"`
    81  	LdapPort                               int64                  `json:"ldap_port,omitempty" path:"ldap_port,omitempty" url:"ldap_port,omitempty"`
    82  	LdapSecure                             *bool                  `json:"ldap_secure,omitempty" path:"ldap_secure,omitempty" url:"ldap_secure,omitempty"`
    83  	LdapType                               string                 `json:"ldap_type,omitempty" path:"ldap_type,omitempty" url:"ldap_type,omitempty"`
    84  	LdapUserAction                         string                 `json:"ldap_user_action,omitempty" path:"ldap_user_action,omitempty" url:"ldap_user_action,omitempty"`
    85  	LdapUserIncludeGroups                  string                 `json:"ldap_user_include_groups,omitempty" path:"ldap_user_include_groups,omitempty" url:"ldap_user_include_groups,omitempty"`
    86  	LdapUsername                           string                 `json:"ldap_username,omitempty" path:"ldap_username,omitempty" url:"ldap_username,omitempty"`
    87  	LdapUsernameField                      string                 `json:"ldap_username_field,omitempty" path:"ldap_username_field,omitempty" url:"ldap_username_field,omitempty"`
    88  	LoginHelpText                          string                 `json:"login_help_text,omitempty" path:"login_help_text,omitempty" url:"login_help_text,omitempty"`
    89  	Logo                                   Image                  `json:"logo,omitempty" path:"logo,omitempty" url:"logo,omitempty"`
    90  	MaxPriorPasswords                      int64                  `json:"max_prior_passwords,omitempty" path:"max_prior_passwords,omitempty" url:"max_prior_passwords,omitempty"`
    91  	MotdText                               string                 `json:"motd_text,omitempty" path:"motd_text,omitempty" url:"motd_text,omitempty"`
    92  	MotdUseForFtp                          *bool                  `json:"motd_use_for_ftp,omitempty" path:"motd_use_for_ftp,omitempty" url:"motd_use_for_ftp,omitempty"`
    93  	MotdUseForSftp                         *bool                  `json:"motd_use_for_sftp,omitempty" path:"motd_use_for_sftp,omitempty" url:"motd_use_for_sftp,omitempty"`
    94  	NextBillingAmount                      string                 `json:"next_billing_amount,omitempty" path:"next_billing_amount,omitempty" url:"next_billing_amount,omitempty"`
    95  	NextBillingDate                        string                 `json:"next_billing_date,omitempty" path:"next_billing_date,omitempty" url:"next_billing_date,omitempty"`
    96  	OfficeIntegrationAvailable             *bool                  `json:"office_integration_available,omitempty" path:"office_integration_available,omitempty" url:"office_integration_available,omitempty"`
    97  	OfficeIntegrationType                  string                 `json:"office_integration_type,omitempty" path:"office_integration_type,omitempty" url:"office_integration_type,omitempty"`
    98  	OncehubLink                            string                 `json:"oncehub_link,omitempty" path:"oncehub_link,omitempty" url:"oncehub_link,omitempty"`
    99  	OptOutGlobal                           *bool                  `json:"opt_out_global,omitempty" path:"opt_out_global,omitempty" url:"opt_out_global,omitempty"`
   100  	Overdue                                *bool                  `json:"overdue,omitempty" path:"overdue,omitempty" url:"overdue,omitempty"`
   101  	PasswordMinLength                      int64                  `json:"password_min_length,omitempty" path:"password_min_length,omitempty" url:"password_min_length,omitempty"`
   102  	PasswordRequireLetter                  *bool                  `json:"password_require_letter,omitempty" path:"password_require_letter,omitempty" url:"password_require_letter,omitempty"`
   103  	PasswordRequireMixed                   *bool                  `json:"password_require_mixed,omitempty" path:"password_require_mixed,omitempty" url:"password_require_mixed,omitempty"`
   104  	PasswordRequireNumber                  *bool                  `json:"password_require_number,omitempty" path:"password_require_number,omitempty" url:"password_require_number,omitempty"`
   105  	PasswordRequireSpecial                 *bool                  `json:"password_require_special,omitempty" path:"password_require_special,omitempty" url:"password_require_special,omitempty"`
   106  	PasswordRequireUnbreached              *bool                  `json:"password_require_unbreached,omitempty" path:"password_require_unbreached,omitempty" url:"password_require_unbreached,omitempty"`
   107  	PasswordRequirementsApplyToBundles     *bool                  `json:"password_requirements_apply_to_bundles,omitempty" path:"password_requirements_apply_to_bundles,omitempty" url:"password_requirements_apply_to_bundles,omitempty"`
   108  	PasswordValidityDays                   int64                  `json:"password_validity_days,omitempty" path:"password_validity_days,omitempty" url:"password_validity_days,omitempty"`
   109  	Phone                                  string                 `json:"phone,omitempty" path:"phone,omitempty" url:"phone,omitempty"`
   110  	PinAllRemoteServersToSiteRegion        *bool                  `json:"pin_all_remote_servers_to_site_region,omitempty" path:"pin_all_remote_servers_to_site_region,omitempty" url:"pin_all_remote_servers_to_site_region,omitempty"`
   111  	PreventRootPermissionsForNonSiteAdmins *bool                  `json:"prevent_root_permissions_for_non_site_admins,omitempty" path:"prevent_root_permissions_for_non_site_admins,omitempty" url:"prevent_root_permissions_for_non_site_admins,omitempty"`
   112  	Require2fa                             *bool                  `json:"require_2fa,omitempty" path:"require_2fa,omitempty" url:"require_2fa,omitempty"`
   113  	Require2faStopTime                     *time.Time             `json:"require_2fa_stop_time,omitempty" path:"require_2fa_stop_time,omitempty" url:"require_2fa_stop_time,omitempty"`
   114  	Require2faUserType                     string                 `json:"require_2fa_user_type,omitempty" path:"require_2fa_user_type,omitempty" url:"require_2fa_user_type,omitempty"`
   115  	RequireLogoutFromBundlesAndInboxes     *bool                  `json:"require_logout_from_bundles_and_inboxes,omitempty" path:"require_logout_from_bundles_and_inboxes,omitempty" url:"require_logout_from_bundles_and_inboxes,omitempty"`
   116  	Session                                Session                `json:"session,omitempty" path:"session,omitempty" url:"session,omitempty"`
   117  	SessionPinnedByIp                      *bool                  `json:"session_pinned_by_ip,omitempty" path:"session_pinned_by_ip,omitempty" url:"session_pinned_by_ip,omitempty"`
   118  	SftpEnabled                            *bool                  `json:"sftp_enabled,omitempty" path:"sftp_enabled,omitempty" url:"sftp_enabled,omitempty"`
   119  	SftpHostKeyType                        string                 `json:"sftp_host_key_type,omitempty" path:"sftp_host_key_type,omitempty" url:"sftp_host_key_type,omitempty"`
   120  	ActiveSftpHostKeyId                    int64                  `json:"active_sftp_host_key_id,omitempty" path:"active_sftp_host_key_id,omitempty" url:"active_sftp_host_key_id,omitempty"`
   121  	SftpInsecureCiphers                    *bool                  `json:"sftp_insecure_ciphers,omitempty" path:"sftp_insecure_ciphers,omitempty" url:"sftp_insecure_ciphers,omitempty"`
   122  	SftpUserRootEnabled                    *bool                  `json:"sftp_user_root_enabled,omitempty" path:"sftp_user_root_enabled,omitempty" url:"sftp_user_root_enabled,omitempty"`
   123  	SharingEnabled                         *bool                  `json:"sharing_enabled,omitempty" path:"sharing_enabled,omitempty" url:"sharing_enabled,omitempty"`
   124  	ShowRequestAccessLink                  *bool                  `json:"show_request_access_link,omitempty" path:"show_request_access_link,omitempty" url:"show_request_access_link,omitempty"`
   125  	SiteFooter                             string                 `json:"site_footer,omitempty" path:"site_footer,omitempty" url:"site_footer,omitempty"`
   126  	SiteHeader                             string                 `json:"site_header,omitempty" path:"site_header,omitempty" url:"site_header,omitempty"`
   127  	SmtpAddress                            string                 `json:"smtp_address,omitempty" path:"smtp_address,omitempty" url:"smtp_address,omitempty"`
   128  	SmtpAuthentication                     string                 `json:"smtp_authentication,omitempty" path:"smtp_authentication,omitempty" url:"smtp_authentication,omitempty"`
   129  	SmtpFrom                               string                 `json:"smtp_from,omitempty" path:"smtp_from,omitempty" url:"smtp_from,omitempty"`
   130  	SmtpPort                               int64                  `json:"smtp_port,omitempty" path:"smtp_port,omitempty" url:"smtp_port,omitempty"`
   131  	SmtpUsername                           string                 `json:"smtp_username,omitempty" path:"smtp_username,omitempty" url:"smtp_username,omitempty"`
   132  	SessionExpiry                          string                 `json:"session_expiry,omitempty" path:"session_expiry,omitempty" url:"session_expiry,omitempty"`
   133  	SessionExpiryMinutes                   int64                  `json:"session_expiry_minutes,omitempty" path:"session_expiry_minutes,omitempty" url:"session_expiry_minutes,omitempty"`
   134  	SslRequired                            *bool                  `json:"ssl_required,omitempty" path:"ssl_required,omitempty" url:"ssl_required,omitempty"`
   135  	Subdomain                              string                 `json:"subdomain,omitempty" path:"subdomain,omitempty" url:"subdomain,omitempty"`
   136  	SwitchToPlanDate                       *time.Time             `json:"switch_to_plan_date,omitempty" path:"switch_to_plan_date,omitempty" url:"switch_to_plan_date,omitempty"`
   137  	TlsDisabled                            *bool                  `json:"tls_disabled,omitempty" path:"tls_disabled,omitempty" url:"tls_disabled,omitempty"`
   138  	TrialDaysLeft                          int64                  `json:"trial_days_left,omitempty" path:"trial_days_left,omitempty" url:"trial_days_left,omitempty"`
   139  	TrialUntil                             *time.Time             `json:"trial_until,omitempty" path:"trial_until,omitempty" url:"trial_until,omitempty"`
   140  	UpdatedAt                              *time.Time             `json:"updated_at,omitempty" path:"updated_at,omitempty" url:"updated_at,omitempty"`
   141  	UseProvidedModifiedAt                  *bool                  `json:"use_provided_modified_at,omitempty" path:"use_provided_modified_at,omitempty" url:"use_provided_modified_at,omitempty"`
   142  	User                                   User                   `json:"user,omitempty" path:"user,omitempty" url:"user,omitempty"`
   143  	UserLockout                            *bool                  `json:"user_lockout,omitempty" path:"user_lockout,omitempty" url:"user_lockout,omitempty"`
   144  	UserLockoutLockPeriod                  int64                  `json:"user_lockout_lock_period,omitempty" path:"user_lockout_lock_period,omitempty" url:"user_lockout_lock_period,omitempty"`
   145  	UserLockoutTries                       int64                  `json:"user_lockout_tries,omitempty" path:"user_lockout_tries,omitempty" url:"user_lockout_tries,omitempty"`
   146  	UserLockoutWithin                      int64                  `json:"user_lockout_within,omitempty" path:"user_lockout_within,omitempty" url:"user_lockout_within,omitempty"`
   147  	UserRequestsEnabled                    *bool                  `json:"user_requests_enabled,omitempty" path:"user_requests_enabled,omitempty" url:"user_requests_enabled,omitempty"`
   148  	UserRequestsNotifyAdmins               *bool                  `json:"user_requests_notify_admins,omitempty" path:"user_requests_notify_admins,omitempty" url:"user_requests_notify_admins,omitempty"`
   149  	WelcomeCustomText                      string                 `json:"welcome_custom_text,omitempty" path:"welcome_custom_text,omitempty" url:"welcome_custom_text,omitempty"`
   150  	WelcomeEmailCc                         string                 `json:"welcome_email_cc,omitempty" path:"welcome_email_cc,omitempty" url:"welcome_email_cc,omitempty"`
   151  	WelcomeEmailSubject                    string                 `json:"welcome_email_subject,omitempty" path:"welcome_email_subject,omitempty" url:"welcome_email_subject,omitempty"`
   152  	WelcomeEmailEnabled                    *bool                  `json:"welcome_email_enabled,omitempty" path:"welcome_email_enabled,omitempty" url:"welcome_email_enabled,omitempty"`
   153  	WelcomeScreen                          string                 `json:"welcome_screen,omitempty" path:"welcome_screen,omitempty" url:"welcome_screen,omitempty"`
   154  	WindowsModeFtp                         *bool                  `json:"windows_mode_ftp,omitempty" path:"windows_mode_ftp,omitempty" url:"windows_mode_ftp,omitempty"`
   155  	DisableUsersFromInactivityPeriodDays   int64                  `json:"disable_users_from_inactivity_period_days,omitempty" path:"disable_users_from_inactivity_period_days,omitempty" url:"disable_users_from_inactivity_period_days,omitempty"`
   156  	GroupAdminsCanSetUserPassword          *bool                  `json:"group_admins_can_set_user_password,omitempty" path:"group_admins_can_set_user_password,omitempty" url:"group_admins_can_set_user_password,omitempty"`
   157  }
   158  
   159  // Identifier no path or id
   160  
   161  type SiteCollection []Site
   162  
   163  type SiteUpdateParams struct {
   164  	Name                                   string                 `url:"name,omitempty" required:"false" json:"name,omitempty" path:"name"`
   165  	Subdomain                              string                 `url:"subdomain,omitempty" required:"false" json:"subdomain,omitempty" path:"subdomain"`
   166  	Domain                                 string                 `url:"domain,omitempty" required:"false" json:"domain,omitempty" path:"domain"`
   167  	DomainHstsHeader                       *bool                  `url:"domain_hsts_header,omitempty" required:"false" json:"domain_hsts_header,omitempty" path:"domain_hsts_header"`
   168  	DomainLetsencryptChain                 string                 `url:"domain_letsencrypt_chain,omitempty" required:"false" json:"domain_letsencrypt_chain,omitempty" path:"domain_letsencrypt_chain"`
   169  	Email                                  string                 `url:"email,omitempty" required:"false" json:"email,omitempty" path:"email"`
   170  	ReplyToEmail                           string                 `url:"reply_to_email,omitempty" required:"false" json:"reply_to_email,omitempty" path:"reply_to_email"`
   171  	AllowBundleNames                       *bool                  `url:"allow_bundle_names,omitempty" required:"false" json:"allow_bundle_names,omitempty" path:"allow_bundle_names"`
   172  	BundleExpiration                       int64                  `url:"bundle_expiration,omitempty" required:"false" json:"bundle_expiration,omitempty" path:"bundle_expiration"`
   173  	WelcomeEmailEnabled                    *bool                  `url:"welcome_email_enabled,omitempty" required:"false" json:"welcome_email_enabled,omitempty" path:"welcome_email_enabled"`
   174  	AskAboutOverwrites                     *bool                  `url:"ask_about_overwrites,omitempty" required:"false" json:"ask_about_overwrites,omitempty" path:"ask_about_overwrites"`
   175  	ShowRequestAccessLink                  *bool                  `url:"show_request_access_link,omitempty" required:"false" json:"show_request_access_link,omitempty" path:"show_request_access_link"`
   176  	WelcomeEmailCc                         string                 `url:"welcome_email_cc,omitempty" required:"false" json:"welcome_email_cc,omitempty" path:"welcome_email_cc"`
   177  	WelcomeEmailSubject                    string                 `url:"welcome_email_subject,omitempty" required:"false" json:"welcome_email_subject,omitempty" path:"welcome_email_subject"`
   178  	WelcomeCustomText                      string                 `url:"welcome_custom_text,omitempty" required:"false" json:"welcome_custom_text,omitempty" path:"welcome_custom_text"`
   179  	Language                               string                 `url:"language,omitempty" required:"false" json:"language,omitempty" path:"language"`
   180  	WindowsModeFtp                         *bool                  `url:"windows_mode_ftp,omitempty" required:"false" json:"windows_mode_ftp,omitempty" path:"windows_mode_ftp"`
   181  	DefaultTimeZone                        string                 `url:"default_time_zone,omitempty" required:"false" json:"default_time_zone,omitempty" path:"default_time_zone"`
   182  	DesktopApp                             *bool                  `url:"desktop_app,omitempty" required:"false" json:"desktop_app,omitempty" path:"desktop_app"`
   183  	DesktopAppSessionIpPinning             *bool                  `url:"desktop_app_session_ip_pinning,omitempty" required:"false" json:"desktop_app_session_ip_pinning,omitempty" path:"desktop_app_session_ip_pinning"`
   184  	DesktopAppSessionLifetime              int64                  `url:"desktop_app_session_lifetime,omitempty" required:"false" json:"desktop_app_session_lifetime,omitempty" path:"desktop_app_session_lifetime"`
   185  	MobileApp                              *bool                  `url:"mobile_app,omitempty" required:"false" json:"mobile_app,omitempty" path:"mobile_app"`
   186  	MobileAppSessionIpPinning              *bool                  `url:"mobile_app_session_ip_pinning,omitempty" required:"false" json:"mobile_app_session_ip_pinning,omitempty" path:"mobile_app_session_ip_pinning"`
   187  	MobileAppSessionLifetime               int64                  `url:"mobile_app_session_lifetime,omitempty" required:"false" json:"mobile_app_session_lifetime,omitempty" path:"mobile_app_session_lifetime"`
   188  	FolderPermissionsGroupsOnly            *bool                  `url:"folder_permissions_groups_only,omitempty" required:"false" json:"folder_permissions_groups_only,omitempty" path:"folder_permissions_groups_only"`
   189  	WelcomeScreen                          string                 `url:"welcome_screen,omitempty" required:"false" json:"welcome_screen,omitempty" path:"welcome_screen"`
   190  	OfficeIntegrationAvailable             *bool                  `url:"office_integration_available,omitempty" required:"false" json:"office_integration_available,omitempty" path:"office_integration_available"`
   191  	OfficeIntegrationType                  string                 `url:"office_integration_type,omitempty" required:"false" json:"office_integration_type,omitempty" path:"office_integration_type"`
   192  	PinAllRemoteServersToSiteRegion        *bool                  `url:"pin_all_remote_servers_to_site_region,omitempty" required:"false" json:"pin_all_remote_servers_to_site_region,omitempty" path:"pin_all_remote_servers_to_site_region"`
   193  	MotdText                               string                 `url:"motd_text,omitempty" required:"false" json:"motd_text,omitempty" path:"motd_text"`
   194  	MotdUseForFtp                          *bool                  `url:"motd_use_for_ftp,omitempty" required:"false" json:"motd_use_for_ftp,omitempty" path:"motd_use_for_ftp"`
   195  	MotdUseForSftp                         *bool                  `url:"motd_use_for_sftp,omitempty" required:"false" json:"motd_use_for_sftp,omitempty" path:"motd_use_for_sftp"`
   196  	SessionExpiry                          string                 `url:"session_expiry,omitempty" required:"false" json:"session_expiry,omitempty" path:"session_expiry"`
   197  	SslRequired                            *bool                  `url:"ssl_required,omitempty" required:"false" json:"ssl_required,omitempty" path:"ssl_required"`
   198  	TlsDisabled                            *bool                  `url:"tls_disabled,omitempty" required:"false" json:"tls_disabled,omitempty" path:"tls_disabled"`
   199  	SftpInsecureCiphers                    *bool                  `url:"sftp_insecure_ciphers,omitempty" required:"false" json:"sftp_insecure_ciphers,omitempty" path:"sftp_insecure_ciphers"`
   200  	DisableFilesCertificateGeneration      *bool                  `url:"disable_files_certificate_generation,omitempty" required:"false" json:"disable_files_certificate_generation,omitempty" path:"disable_files_certificate_generation"`
   201  	UserLockout                            *bool                  `url:"user_lockout,omitempty" required:"false" json:"user_lockout,omitempty" path:"user_lockout"`
   202  	UserLockoutTries                       int64                  `url:"user_lockout_tries,omitempty" required:"false" json:"user_lockout_tries,omitempty" path:"user_lockout_tries"`
   203  	UserLockoutWithin                      int64                  `url:"user_lockout_within,omitempty" required:"false" json:"user_lockout_within,omitempty" path:"user_lockout_within"`
   204  	UserLockoutLockPeriod                  int64                  `url:"user_lockout_lock_period,omitempty" required:"false" json:"user_lockout_lock_period,omitempty" path:"user_lockout_lock_period"`
   205  	IncludePasswordInWelcomeEmail          *bool                  `url:"include_password_in_welcome_email,omitempty" required:"false" json:"include_password_in_welcome_email,omitempty" path:"include_password_in_welcome_email"`
   206  	AllowedCountries                       string                 `url:"allowed_countries,omitempty" required:"false" json:"allowed_countries,omitempty" path:"allowed_countries"`
   207  	AllowedIps                             string                 `url:"allowed_ips,omitempty" required:"false" json:"allowed_ips,omitempty" path:"allowed_ips"`
   208  	DisallowedCountries                    string                 `url:"disallowed_countries,omitempty" required:"false" json:"disallowed_countries,omitempty" path:"disallowed_countries"`
   209  	DaysToRetainBackups                    int64                  `url:"days_to_retain_backups,omitempty" required:"false" json:"days_to_retain_backups,omitempty" path:"days_to_retain_backups"`
   210  	MaxPriorPasswords                      int64                  `url:"max_prior_passwords,omitempty" required:"false" json:"max_prior_passwords,omitempty" path:"max_prior_passwords"`
   211  	PasswordValidityDays                   int64                  `url:"password_validity_days,omitempty" required:"false" json:"password_validity_days,omitempty" path:"password_validity_days"`
   212  	PasswordMinLength                      int64                  `url:"password_min_length,omitempty" required:"false" json:"password_min_length,omitempty" path:"password_min_length"`
   213  	PasswordRequireLetter                  *bool                  `url:"password_require_letter,omitempty" required:"false" json:"password_require_letter,omitempty" path:"password_require_letter"`
   214  	PasswordRequireMixed                   *bool                  `url:"password_require_mixed,omitempty" required:"false" json:"password_require_mixed,omitempty" path:"password_require_mixed"`
   215  	PasswordRequireSpecial                 *bool                  `url:"password_require_special,omitempty" required:"false" json:"password_require_special,omitempty" path:"password_require_special"`
   216  	PasswordRequireNumber                  *bool                  `url:"password_require_number,omitempty" required:"false" json:"password_require_number,omitempty" path:"password_require_number"`
   217  	PasswordRequireUnbreached              *bool                  `url:"password_require_unbreached,omitempty" required:"false" json:"password_require_unbreached,omitempty" path:"password_require_unbreached"`
   218  	RequireLogoutFromBundlesAndInboxes     *bool                  `url:"require_logout_from_bundles_and_inboxes,omitempty" required:"false" json:"require_logout_from_bundles_and_inboxes,omitempty" path:"require_logout_from_bundles_and_inboxes"`
   219  	SftpUserRootEnabled                    *bool                  `url:"sftp_user_root_enabled,omitempty" required:"false" json:"sftp_user_root_enabled,omitempty" path:"sftp_user_root_enabled"`
   220  	DisablePasswordReset                   *bool                  `url:"disable_password_reset,omitempty" required:"false" json:"disable_password_reset,omitempty" path:"disable_password_reset"`
   221  	ImmutableFiles                         *bool                  `url:"immutable_files,omitempty" required:"false" json:"immutable_files,omitempty" path:"immutable_files"`
   222  	SessionPinnedByIp                      *bool                  `url:"session_pinned_by_ip,omitempty" required:"false" json:"session_pinned_by_ip,omitempty" path:"session_pinned_by_ip"`
   223  	BundlePasswordRequired                 *bool                  `url:"bundle_password_required,omitempty" required:"false" json:"bundle_password_required,omitempty" path:"bundle_password_required"`
   224  	BundleRequireRegistration              *bool                  `url:"bundle_require_registration,omitempty" required:"false" json:"bundle_require_registration,omitempty" path:"bundle_require_registration"`
   225  	BundleRequireShareRecipient            *bool                  `url:"bundle_require_share_recipient,omitempty" required:"false" json:"bundle_require_share_recipient,omitempty" path:"bundle_require_share_recipient"`
   226  	BundleRegistrationNotifications        string                 `url:"bundle_registration_notifications,omitempty" required:"false" json:"bundle_registration_notifications,omitempty" path:"bundle_registration_notifications"`
   227  	BundleActivityNotifications            string                 `url:"bundle_activity_notifications,omitempty" required:"false" json:"bundle_activity_notifications,omitempty" path:"bundle_activity_notifications"`
   228  	BundleUploadReceiptNotifications       string                 `url:"bundle_upload_receipt_notifications,omitempty" required:"false" json:"bundle_upload_receipt_notifications,omitempty" path:"bundle_upload_receipt_notifications"`
   229  	PasswordRequirementsApplyToBundles     *bool                  `url:"password_requirements_apply_to_bundles,omitempty" required:"false" json:"password_requirements_apply_to_bundles,omitempty" path:"password_requirements_apply_to_bundles"`
   230  	PreventRootPermissionsForNonSiteAdmins *bool                  `url:"prevent_root_permissions_for_non_site_admins,omitempty" required:"false" json:"prevent_root_permissions_for_non_site_admins,omitempty" path:"prevent_root_permissions_for_non_site_admins"`
   231  	OptOutGlobal                           *bool                  `url:"opt_out_global,omitempty" required:"false" json:"opt_out_global,omitempty" path:"opt_out_global"`
   232  	UseProvidedModifiedAt                  *bool                  `url:"use_provided_modified_at,omitempty" required:"false" json:"use_provided_modified_at,omitempty" path:"use_provided_modified_at"`
   233  	CustomNamespace                        *bool                  `url:"custom_namespace,omitempty" required:"false" json:"custom_namespace,omitempty" path:"custom_namespace"`
   234  	DisableUsersFromInactivityPeriodDays   int64                  `url:"disable_users_from_inactivity_period_days,omitempty" required:"false" json:"disable_users_from_inactivity_period_days,omitempty" path:"disable_users_from_inactivity_period_days"`
   235  	NonSsoGroupsAllowed                    *bool                  `url:"non_sso_groups_allowed,omitempty" required:"false" json:"non_sso_groups_allowed,omitempty" path:"non_sso_groups_allowed"`
   236  	NonSsoUsersAllowed                     *bool                  `url:"non_sso_users_allowed,omitempty" required:"false" json:"non_sso_users_allowed,omitempty" path:"non_sso_users_allowed"`
   237  	SharingEnabled                         *bool                  `url:"sharing_enabled,omitempty" required:"false" json:"sharing_enabled,omitempty" path:"sharing_enabled"`
   238  	UserRequestsEnabled                    *bool                  `url:"user_requests_enabled,omitempty" required:"false" json:"user_requests_enabled,omitempty" path:"user_requests_enabled"`
   239  	UserRequestsNotifyAdmins               *bool                  `url:"user_requests_notify_admins,omitempty" required:"false" json:"user_requests_notify_admins,omitempty" path:"user_requests_notify_admins"`
   240  	FtpEnabled                             *bool                  `url:"ftp_enabled,omitempty" required:"false" json:"ftp_enabled,omitempty" path:"ftp_enabled"`
   241  	SftpEnabled                            *bool                  `url:"sftp_enabled,omitempty" required:"false" json:"sftp_enabled,omitempty" path:"sftp_enabled"`
   242  	SftpHostKeyType                        string                 `url:"sftp_host_key_type,omitempty" required:"false" json:"sftp_host_key_type,omitempty" path:"sftp_host_key_type"`
   243  	ActiveSftpHostKeyId                    int64                  `url:"active_sftp_host_key_id,omitempty" required:"false" json:"active_sftp_host_key_id,omitempty" path:"active_sftp_host_key_id"`
   244  	BundleWatermarkValue                   map[string]interface{} `url:"bundle_watermark_value,omitempty" required:"false" json:"bundle_watermark_value,omitempty" path:"bundle_watermark_value"`
   245  	GroupAdminsCanSetUserPassword          *bool                  `url:"group_admins_can_set_user_password,omitempty" required:"false" json:"group_admins_can_set_user_password,omitempty" path:"group_admins_can_set_user_password"`
   246  	Allowed2faMethodSms                    *bool                  `url:"allowed_2fa_method_sms,omitempty" required:"false" json:"allowed_2fa_method_sms,omitempty" path:"allowed_2fa_method_sms"`
   247  	Allowed2faMethodU2f                    *bool                  `url:"allowed_2fa_method_u2f,omitempty" required:"false" json:"allowed_2fa_method_u2f,omitempty" path:"allowed_2fa_method_u2f"`
   248  	Allowed2faMethodTotp                   *bool                  `url:"allowed_2fa_method_totp,omitempty" required:"false" json:"allowed_2fa_method_totp,omitempty" path:"allowed_2fa_method_totp"`
   249  	Allowed2faMethodWebauthn               *bool                  `url:"allowed_2fa_method_webauthn,omitempty" required:"false" json:"allowed_2fa_method_webauthn,omitempty" path:"allowed_2fa_method_webauthn"`
   250  	Allowed2faMethodYubi                   *bool                  `url:"allowed_2fa_method_yubi,omitempty" required:"false" json:"allowed_2fa_method_yubi,omitempty" path:"allowed_2fa_method_yubi"`
   251  	Allowed2faMethodBypassForFtpSftpDav    *bool                  `url:"allowed_2fa_method_bypass_for_ftp_sftp_dav,omitempty" required:"false" json:"allowed_2fa_method_bypass_for_ftp_sftp_dav,omitempty" path:"allowed_2fa_method_bypass_for_ftp_sftp_dav"`
   252  	Require2fa                             *bool                  `url:"require_2fa,omitempty" required:"false" json:"require_2fa,omitempty" path:"require_2fa"`
   253  	Require2faUserType                     string                 `url:"require_2fa_user_type,omitempty" required:"false" json:"require_2fa_user_type,omitempty" path:"require_2fa_user_type"`
   254  	Color2Top                              string                 `url:"color2_top,omitempty" required:"false" json:"color2_top,omitempty" path:"color2_top"`
   255  	Color2Left                             string                 `url:"color2_left,omitempty" required:"false" json:"color2_left,omitempty" path:"color2_left"`
   256  	Color2Link                             string                 `url:"color2_link,omitempty" required:"false" json:"color2_link,omitempty" path:"color2_link"`
   257  	Color2Text                             string                 `url:"color2_text,omitempty" required:"false" json:"color2_text,omitempty" path:"color2_text"`
   258  	Color2TopText                          string                 `url:"color2_top_text,omitempty" required:"false" json:"color2_top_text,omitempty" path:"color2_top_text"`
   259  	SiteHeader                             string                 `url:"site_header,omitempty" required:"false" json:"site_header,omitempty" path:"site_header"`
   260  	SiteFooter                             string                 `url:"site_footer,omitempty" required:"false" json:"site_footer,omitempty" path:"site_footer"`
   261  	LoginHelpText                          string                 `url:"login_help_text,omitempty" required:"false" json:"login_help_text,omitempty" path:"login_help_text"`
   262  	SmtpAddress                            string                 `url:"smtp_address,omitempty" required:"false" json:"smtp_address,omitempty" path:"smtp_address"`
   263  	SmtpAuthentication                     string                 `url:"smtp_authentication,omitempty" required:"false" json:"smtp_authentication,omitempty" path:"smtp_authentication"`
   264  	SmtpFrom                               string                 `url:"smtp_from,omitempty" required:"false" json:"smtp_from,omitempty" path:"smtp_from"`
   265  	SmtpUsername                           string                 `url:"smtp_username,omitempty" required:"false" json:"smtp_username,omitempty" path:"smtp_username"`
   266  	SmtpPort                               int64                  `url:"smtp_port,omitempty" required:"false" json:"smtp_port,omitempty" path:"smtp_port"`
   267  	LdapEnabled                            *bool                  `url:"ldap_enabled,omitempty" required:"false" json:"ldap_enabled,omitempty" path:"ldap_enabled"`
   268  	LdapType                               string                 `url:"ldap_type,omitempty" required:"false" json:"ldap_type,omitempty" path:"ldap_type"`
   269  	LdapHost                               string                 `url:"ldap_host,omitempty" required:"false" json:"ldap_host,omitempty" path:"ldap_host"`
   270  	LdapHost2                              string                 `url:"ldap_host_2,omitempty" required:"false" json:"ldap_host_2,omitempty" path:"ldap_host_2"`
   271  	LdapHost3                              string                 `url:"ldap_host_3,omitempty" required:"false" json:"ldap_host_3,omitempty" path:"ldap_host_3"`
   272  	LdapPort                               int64                  `url:"ldap_port,omitempty" required:"false" json:"ldap_port,omitempty" path:"ldap_port"`
   273  	LdapSecure                             *bool                  `url:"ldap_secure,omitempty" required:"false" json:"ldap_secure,omitempty" path:"ldap_secure"`
   274  	LdapUsername                           string                 `url:"ldap_username,omitempty" required:"false" json:"ldap_username,omitempty" path:"ldap_username"`
   275  	LdapUsernameField                      string                 `url:"ldap_username_field,omitempty" required:"false" json:"ldap_username_field,omitempty" path:"ldap_username_field"`
   276  	LdapDomain                             string                 `url:"ldap_domain,omitempty" required:"false" json:"ldap_domain,omitempty" path:"ldap_domain"`
   277  	LdapUserAction                         string                 `url:"ldap_user_action,omitempty" required:"false" json:"ldap_user_action,omitempty" path:"ldap_user_action"`
   278  	LdapGroupAction                        string                 `url:"ldap_group_action,omitempty" required:"false" json:"ldap_group_action,omitempty" path:"ldap_group_action"`
   279  	LdapUserIncludeGroups                  string                 `url:"ldap_user_include_groups,omitempty" required:"false" json:"ldap_user_include_groups,omitempty" path:"ldap_user_include_groups"`
   280  	LdapGroupExclusion                     string                 `url:"ldap_group_exclusion,omitempty" required:"false" json:"ldap_group_exclusion,omitempty" path:"ldap_group_exclusion"`
   281  	LdapGroupInclusion                     string                 `url:"ldap_group_inclusion,omitempty" required:"false" json:"ldap_group_inclusion,omitempty" path:"ldap_group_inclusion"`
   282  	LdapBaseDn                             string                 `url:"ldap_base_dn,omitempty" required:"false" json:"ldap_base_dn,omitempty" path:"ldap_base_dn"`
   283  	UploadsViaEmailAuthentication          *bool                  `url:"uploads_via_email_authentication,omitempty" required:"false" json:"uploads_via_email_authentication,omitempty" path:"uploads_via_email_authentication"`
   284  	Icon16File                             io.Writer              `url:"icon16_file,omitempty" required:"false" json:"icon16_file,omitempty" path:"icon16_file"`
   285  	Icon16Delete                           *bool                  `url:"icon16_delete,omitempty" required:"false" json:"icon16_delete,omitempty" path:"icon16_delete"`
   286  	Icon32File                             io.Writer              `url:"icon32_file,omitempty" required:"false" json:"icon32_file,omitempty" path:"icon32_file"`
   287  	Icon32Delete                           *bool                  `url:"icon32_delete,omitempty" required:"false" json:"icon32_delete,omitempty" path:"icon32_delete"`
   288  	Icon48File                             io.Writer              `url:"icon48_file,omitempty" required:"false" json:"icon48_file,omitempty" path:"icon48_file"`
   289  	Icon48Delete                           *bool                  `url:"icon48_delete,omitempty" required:"false" json:"icon48_delete,omitempty" path:"icon48_delete"`
   290  	Icon128File                            io.Writer              `url:"icon128_file,omitempty" required:"false" json:"icon128_file,omitempty" path:"icon128_file"`
   291  	Icon128Delete                          *bool                  `url:"icon128_delete,omitempty" required:"false" json:"icon128_delete,omitempty" path:"icon128_delete"`
   292  	LogoFile                               io.Writer              `url:"logo_file,omitempty" required:"false" json:"logo_file,omitempty" path:"logo_file"`
   293  	LogoDelete                             *bool                  `url:"logo_delete,omitempty" required:"false" json:"logo_delete,omitempty" path:"logo_delete"`
   294  	BundleWatermarkAttachmentFile          io.Writer              `url:"bundle_watermark_attachment_file,omitempty" required:"false" json:"bundle_watermark_attachment_file,omitempty" path:"bundle_watermark_attachment_file"`
   295  	BundleWatermarkAttachmentDelete        *bool                  `url:"bundle_watermark_attachment_delete,omitempty" required:"false" json:"bundle_watermark_attachment_delete,omitempty" path:"bundle_watermark_attachment_delete"`
   296  	Disable2faWithDelay                    *bool                  `url:"disable_2fa_with_delay,omitempty" required:"false" json:"disable_2fa_with_delay,omitempty" path:"disable_2fa_with_delay"`
   297  	LdapPasswordChange                     string                 `url:"ldap_password_change,omitempty" required:"false" json:"ldap_password_change,omitempty" path:"ldap_password_change"`
   298  	LdapPasswordChangeConfirmation         string                 `url:"ldap_password_change_confirmation,omitempty" required:"false" json:"ldap_password_change_confirmation,omitempty" path:"ldap_password_change_confirmation"`
   299  	SmtpPassword                           string                 `url:"smtp_password,omitempty" required:"false" json:"smtp_password,omitempty" path:"smtp_password"`
   300  	SessionExpiryMinutes                   int64                  `url:"session_expiry_minutes,omitempty" required:"false" json:"session_expiry_minutes,omitempty" path:"session_expiry_minutes"`
   301  }
   302  
   303  func (s *Site) UnmarshalJSON(data []byte) error {
   304  	type site Site
   305  	var v site
   306  	if err := json.Unmarshal(data, &v); err != nil {
   307  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{})
   308  	}
   309  
   310  	*s = Site(v)
   311  	return nil
   312  }
   313  
   314  func (s *SiteCollection) UnmarshalJSON(data []byte) error {
   315  	type sites SiteCollection
   316  	var v sites
   317  	if err := json.Unmarshal(data, &v); err != nil {
   318  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{})
   319  	}
   320  
   321  	*s = SiteCollection(v)
   322  	return nil
   323  }
   324  
   325  func (s *SiteCollection) ToSlice() *[]interface{} {
   326  	ret := make([]interface{}, len(*s))
   327  	for i, v := range *s {
   328  		ret[i] = v
   329  	}
   330  
   331  	return &ret
   332  }