github.com/Files-com/files-sdk-go/v3@v3.1.81/ssostrategy.go (about) 1 package files_sdk 2 3 import ( 4 "encoding/json" 5 6 lib "github.com/Files-com/files-sdk-go/v3/lib" 7 ) 8 9 type SsoStrategy struct { 10 Protocol string `json:"protocol,omitempty" path:"protocol,omitempty" url:"protocol,omitempty"` 11 Provider string `json:"provider,omitempty" path:"provider,omitempty" url:"provider,omitempty"` 12 Label string `json:"label,omitempty" path:"label,omitempty" url:"label,omitempty"` 13 LogoUrl string `json:"logo_url,omitempty" path:"logo_url,omitempty" url:"logo_url,omitempty"` 14 Id int64 `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"` 15 UserCount int64 `json:"user_count,omitempty" path:"user_count,omitempty" url:"user_count,omitempty"` 16 SamlProviderCertFingerprint string `json:"saml_provider_cert_fingerprint,omitempty" path:"saml_provider_cert_fingerprint,omitempty" url:"saml_provider_cert_fingerprint,omitempty"` 17 SamlProviderIssuerUrl string `json:"saml_provider_issuer_url,omitempty" path:"saml_provider_issuer_url,omitempty" url:"saml_provider_issuer_url,omitempty"` 18 SamlProviderMetadataContent string `json:"saml_provider_metadata_content,omitempty" path:"saml_provider_metadata_content,omitempty" url:"saml_provider_metadata_content,omitempty"` 19 SamlProviderMetadataUrl string `json:"saml_provider_metadata_url,omitempty" path:"saml_provider_metadata_url,omitempty" url:"saml_provider_metadata_url,omitempty"` 20 SamlProviderSloTargetUrl string `json:"saml_provider_slo_target_url,omitempty" path:"saml_provider_slo_target_url,omitempty" url:"saml_provider_slo_target_url,omitempty"` 21 SamlProviderSsoTargetUrl string `json:"saml_provider_sso_target_url,omitempty" path:"saml_provider_sso_target_url,omitempty" url:"saml_provider_sso_target_url,omitempty"` 22 ScimAuthenticationMethod string `json:"scim_authentication_method,omitempty" path:"scim_authentication_method,omitempty" url:"scim_authentication_method,omitempty"` 23 ScimUsername string `json:"scim_username,omitempty" path:"scim_username,omitempty" url:"scim_username,omitempty"` 24 ScimOauthAccessToken string `json:"scim_oauth_access_token,omitempty" path:"scim_oauth_access_token,omitempty" url:"scim_oauth_access_token,omitempty"` 25 ScimOauthAccessTokenExpiresAt string `json:"scim_oauth_access_token_expires_at,omitempty" path:"scim_oauth_access_token_expires_at,omitempty" url:"scim_oauth_access_token_expires_at,omitempty"` 26 Subdomain string `json:"subdomain,omitempty" path:"subdomain,omitempty" url:"subdomain,omitempty"` 27 ProvisionUsers *bool `json:"provision_users,omitempty" path:"provision_users,omitempty" url:"provision_users,omitempty"` 28 ProvisionGroups *bool `json:"provision_groups,omitempty" path:"provision_groups,omitempty" url:"provision_groups,omitempty"` 29 DeprovisionUsers *bool `json:"deprovision_users,omitempty" path:"deprovision_users,omitempty" url:"deprovision_users,omitempty"` 30 DeprovisionGroups *bool `json:"deprovision_groups,omitempty" path:"deprovision_groups,omitempty" url:"deprovision_groups,omitempty"` 31 DeprovisionBehavior string `json:"deprovision_behavior,omitempty" path:"deprovision_behavior,omitempty" url:"deprovision_behavior,omitempty"` 32 ProvisionGroupDefault string `json:"provision_group_default,omitempty" path:"provision_group_default,omitempty" url:"provision_group_default,omitempty"` 33 ProvisionGroupExclusion string `json:"provision_group_exclusion,omitempty" path:"provision_group_exclusion,omitempty" url:"provision_group_exclusion,omitempty"` 34 ProvisionGroupInclusion string `json:"provision_group_inclusion,omitempty" path:"provision_group_inclusion,omitempty" url:"provision_group_inclusion,omitempty"` 35 ProvisionGroupRequired string `json:"provision_group_required,omitempty" path:"provision_group_required,omitempty" url:"provision_group_required,omitempty"` 36 ProvisionEmailSignupGroups string `json:"provision_email_signup_groups,omitempty" path:"provision_email_signup_groups,omitempty" url:"provision_email_signup_groups,omitempty"` 37 ProvisionSiteAdminGroups string `json:"provision_site_admin_groups,omitempty" path:"provision_site_admin_groups,omitempty" url:"provision_site_admin_groups,omitempty"` 38 ProvisionGroupAdminGroups string `json:"provision_group_admin_groups,omitempty" path:"provision_group_admin_groups,omitempty" url:"provision_group_admin_groups,omitempty"` 39 ProvisionAttachmentsPermission *bool `json:"provision_attachments_permission,omitempty" path:"provision_attachments_permission,omitempty" url:"provision_attachments_permission,omitempty"` 40 ProvisionDavPermission *bool `json:"provision_dav_permission,omitempty" path:"provision_dav_permission,omitempty" url:"provision_dav_permission,omitempty"` 41 ProvisionFtpPermission *bool `json:"provision_ftp_permission,omitempty" path:"provision_ftp_permission,omitempty" url:"provision_ftp_permission,omitempty"` 42 ProvisionSftpPermission *bool `json:"provision_sftp_permission,omitempty" path:"provision_sftp_permission,omitempty" url:"provision_sftp_permission,omitempty"` 43 ProvisionTimeZone string `json:"provision_time_zone,omitempty" path:"provision_time_zone,omitempty" url:"provision_time_zone,omitempty"` 44 ProvisionCompany string `json:"provision_company,omitempty" path:"provision_company,omitempty" url:"provision_company,omitempty"` 45 ProvisionRequire2fa string `json:"provision_require_2fa,omitempty" path:"provision_require_2fa,omitempty" url:"provision_require_2fa,omitempty"` 46 LdapBaseDn string `json:"ldap_base_dn,omitempty" path:"ldap_base_dn,omitempty" url:"ldap_base_dn,omitempty"` 47 LdapDomain string `json:"ldap_domain,omitempty" path:"ldap_domain,omitempty" url:"ldap_domain,omitempty"` 48 Enabled *bool `json:"enabled,omitempty" path:"enabled,omitempty" url:"enabled,omitempty"` 49 LdapHost string `json:"ldap_host,omitempty" path:"ldap_host,omitempty" url:"ldap_host,omitempty"` 50 LdapHost2 string `json:"ldap_host_2,omitempty" path:"ldap_host_2,omitempty" url:"ldap_host_2,omitempty"` 51 LdapHost3 string `json:"ldap_host_3,omitempty" path:"ldap_host_3,omitempty" url:"ldap_host_3,omitempty"` 52 LdapPort int64 `json:"ldap_port,omitempty" path:"ldap_port,omitempty" url:"ldap_port,omitempty"` 53 LdapSecure *bool `json:"ldap_secure,omitempty" path:"ldap_secure,omitempty" url:"ldap_secure,omitempty"` 54 LdapUsername string `json:"ldap_username,omitempty" path:"ldap_username,omitempty" url:"ldap_username,omitempty"` 55 LdapUsernameField string `json:"ldap_username_field,omitempty" path:"ldap_username_field,omitempty" url:"ldap_username_field,omitempty"` 56 } 57 58 func (s SsoStrategy) Identifier() interface{} { 59 return s.Id 60 } 61 62 type SsoStrategyCollection []SsoStrategy 63 64 type SsoStrategyListParams struct { 65 ListParams 66 } 67 68 type SsoStrategyFindParams struct { 69 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 70 } 71 72 // Synchronize provisioning data with the SSO remote server 73 type SsoStrategySyncParams struct { 74 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 75 } 76 77 func (s *SsoStrategy) UnmarshalJSON(data []byte) error { 78 type ssoStrategy SsoStrategy 79 var v ssoStrategy 80 if err := json.Unmarshal(data, &v); err != nil { 81 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 82 } 83 84 *s = SsoStrategy(v) 85 return nil 86 } 87 88 func (s *SsoStrategyCollection) UnmarshalJSON(data []byte) error { 89 type ssoStrategys SsoStrategyCollection 90 var v ssoStrategys 91 if err := json.Unmarshal(data, &v); err != nil { 92 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 93 } 94 95 *s = SsoStrategyCollection(v) 96 return nil 97 } 98 99 func (s *SsoStrategyCollection) ToSlice() *[]interface{} { 100 ret := make([]interface{}, len(*s)) 101 for i, v := range *s { 102 ret[i] = v 103 } 104 105 return &ret 106 }