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