R/LDAPConfig.r

# Looker API 4.0 (Beta) Reference
#
#  Welcome to the future! API 4.0 co-exists with APIs 3.1 and 3.0. (3.0 should no longer be used.) The \"beta\" tag means updates for API 4.0 may include breaking changes, but as always we will work to minimize them.  ### Authorization  The classic method of API authorization uses Looker **API3** credentials for authorization and access control. Looker admins can create API3 credentials on Looker's **Admin/Users** page.  API 4.0 adds additional ways to authenticate API requests, including OAuth and CORS requests.  For details, see [Looker API Authorization](https://looker.com/docs/r/api/authorization).   ### API Explorer  The API Explorer is a Looker-provided utility with many new and unique features for learning and using the Looker API and SDKs. It is a replacement for the 'api-docs' page currently provided on Looker instances.  For details, see the [API Explorer documentation](https://looker.com/docs/r/api/explorer).   ### Looker Language SDKs  The Looker API is a RESTful system that should be usable by any programming language capable of making HTTPS requests. SDKs for a variety of programming languages are also provided to streamline using the API. Looker has an OpenSource [sdk-codegen project](https://github.com/looker-open-source/sdk-codegen) that provides several language SDKs. Language SDKs generated by `sdk-codegen` have an Authentication manager that can automatically authenticate API requests when needed.  For details on available Looker SDKs, see [Looker API Client SDKs](https://looker.com/docs/r/api/client_sdks).   ### API Versioning  Future releases of Looker expand the latest API version release-by-release to securely expose more and more of the core power of the Looker platform to API client applications. API endpoints marked as \"beta\" may receive breaking changes without warning (but we will try to avoid doing that). Stable (non-beta) API endpoints should not receive breaking changes in future releases.  For details, see [Looker API Versioning](https://looker.com/docs/r/api/versioning).   ### In This Release  API 4.0 version was introduced so we can make adjustments to API functions, parameters, and response types to fix bugs and inconsistencies. These changes fall outside the bounds of non-breaking additive changes we can make to our stable API 3.1.  One benefit of these type adjustments in API 4.0 is dramatically better support for strongly typed languages like TypeScript, Kotlin, Swift, Go, C#, and more.  While API 3.1 is still the de-facto Looker API (\"current\", \"stable\", \"default\", etc), the bulk of our development activity has shifted to API 4.0, where all new features are added.  The API Explorer can be used to [interactively compare](https://looker.com/docs/r/api/explorer#comparing_api_versions) the differences between API 3.1 and 4.0.   ### API and SDK Support Policies  Looker API versions and language SDKs have varying support levels. Please read the API and SDK [support policies](https://looker.com/docs/r/api/support-policy) for more information.   
#
# OpenAPI spec version: 4.0.21.18
# 
# Generated by: https://github.com/swagger-api/swagger-codegen.git


#' LDAPConfig Class
#'
#' @field can 
#' @field alternate_email_login_allowed 
#' @field auth_password 
#' @field auth_requires_role 
#' @field auth_username 
#' @field connection_host 
#' @field connection_port 
#' @field connection_tls 
#' @field connection_tls_no_verify 
#' @field default_new_user_group_ids 
#' @field default_new_user_groups 
#' @field default_new_user_role_ids 
#' @field default_new_user_roles 
#' @field enabled 
#' @field force_no_page 
#' @field groups 
#' @field groups_base_dn 
#' @field groups_finder_type 
#' @field groups_member_attribute 
#' @field groups_objectclasses 
#' @field groups_user_attribute 
#' @field groups_with_role_ids 
#' @field has_auth_password 
#' @field merge_new_users_by_email 
#' @field modified_at 
#' @field modified_by 
#' @field set_roles_from_groups 
#' @field test_ldap_password 
#' @field test_ldap_user 
#' @field user_attribute_map_email 
#' @field user_attribute_map_first_name 
#' @field user_attribute_map_last_name 
#' @field user_attribute_map_ldap_id 
#' @field user_attributes 
#' @field user_attributes_with_ids 
#' @field user_bind_base_dn 
#' @field user_custom_filter 
#' @field user_id_attribute_names 
#' @field user_objectclass 
#' @field allow_normal_group_membership 
#' @field allow_roles_from_normal_groups 
#' @field allow_direct_roles 
#' @field url 
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite parse_json toJSON
#' @export
LDAPConfig <- R6::R6Class(
  'LDAPConfig',
  public = list(
    `can` = NULL,
    `alternate_email_login_allowed` = NULL,
    `auth_password` = NULL,
    `auth_requires_role` = NULL,
    `auth_username` = NULL,
    `connection_host` = NULL,
    `connection_port` = NULL,
    `connection_tls` = NULL,
    `connection_tls_no_verify` = NULL,
    `default_new_user_group_ids` = NULL,
    `default_new_user_groups` = NULL,
    `default_new_user_role_ids` = NULL,
    `default_new_user_roles` = NULL,
    `enabled` = NULL,
    `force_no_page` = NULL,
    `groups` = NULL,
    `groups_base_dn` = NULL,
    `groups_finder_type` = NULL,
    `groups_member_attribute` = NULL,
    `groups_objectclasses` = NULL,
    `groups_user_attribute` = NULL,
    `groups_with_role_ids` = NULL,
    `has_auth_password` = NULL,
    `merge_new_users_by_email` = NULL,
    `modified_at` = NULL,
    `modified_by` = NULL,
    `set_roles_from_groups` = NULL,
    `test_ldap_password` = NULL,
    `test_ldap_user` = NULL,
    `user_attribute_map_email` = NULL,
    `user_attribute_map_first_name` = NULL,
    `user_attribute_map_last_name` = NULL,
    `user_attribute_map_ldap_id` = NULL,
    `user_attributes` = NULL,
    `user_attributes_with_ids` = NULL,
    `user_bind_base_dn` = NULL,
    `user_custom_filter` = NULL,
    `user_id_attribute_names` = NULL,
    `user_objectclass` = NULL,
    `allow_normal_group_membership` = NULL,
    `allow_roles_from_normal_groups` = NULL,
    `allow_direct_roles` = NULL,
    `url` = NULL,
    initialize = function(`can`, `alternate_email_login_allowed`, `auth_password`, `auth_requires_role`, `auth_username`, `connection_host`, `connection_port`, `connection_tls`, `connection_tls_no_verify`, `default_new_user_group_ids`, `default_new_user_groups`, `default_new_user_role_ids`, `default_new_user_roles`, `enabled`, `force_no_page`, `groups`, `groups_base_dn`, `groups_finder_type`, `groups_member_attribute`, `groups_objectclasses`, `groups_user_attribute`, `groups_with_role_ids`, `has_auth_password`, `merge_new_users_by_email`, `modified_at`, `modified_by`, `set_roles_from_groups`, `test_ldap_password`, `test_ldap_user`, `user_attribute_map_email`, `user_attribute_map_first_name`, `user_attribute_map_last_name`, `user_attribute_map_ldap_id`, `user_attributes`, `user_attributes_with_ids`, `user_bind_base_dn`, `user_custom_filter`, `user_id_attribute_names`, `user_objectclass`, `allow_normal_group_membership`, `allow_roles_from_normal_groups`, `allow_direct_roles`, `url`){
      if (!missing(`can`)) {
        self$`can` <- `can`
      }
      if (!missing(`alternate_email_login_allowed`)) {
        self$`alternate_email_login_allowed` <- `alternate_email_login_allowed`
      }
      if (!missing(`auth_password`)) {
        stopifnot(is.character(`auth_password`), length(`auth_password`) == 1)
        self$`auth_password` <- `auth_password`
      }
      if (!missing(`auth_requires_role`)) {
        self$`auth_requires_role` <- `auth_requires_role`
      }
      if (!missing(`auth_username`)) {
        stopifnot(is.character(`auth_username`), length(`auth_username`) == 1)
        self$`auth_username` <- `auth_username`
      }
      if (!missing(`connection_host`)) {
        stopifnot(is.character(`connection_host`), length(`connection_host`) == 1)
        self$`connection_host` <- `connection_host`
      }
      if (!missing(`connection_port`)) {
        stopifnot(is.character(`connection_port`), length(`connection_port`) == 1)
        self$`connection_port` <- `connection_port`
      }
      if (!missing(`connection_tls`)) {
        self$`connection_tls` <- `connection_tls`
      }
      if (!missing(`connection_tls_no_verify`)) {
        self$`connection_tls_no_verify` <- `connection_tls_no_verify`
      }
      if (!missing(`default_new_user_group_ids`)) {
        stopifnot(is.list(`default_new_user_group_ids`), length(`default_new_user_group_ids`) != 0)
        lapply(`default_new_user_group_ids`, function(x) stopifnot(is.character(x)))
        self$`default_new_user_group_ids` <- `default_new_user_group_ids`
      }
      if (!missing(`default_new_user_groups`)) {
        stopifnot(is.list(`default_new_user_groups`), length(`default_new_user_groups`) != 0)
        lapply(`default_new_user_groups`, function(x) stopifnot(R6::is.R6(x)))
        self$`default_new_user_groups` <- `default_new_user_groups`
      }
      if (!missing(`default_new_user_role_ids`)) {
        stopifnot(is.list(`default_new_user_role_ids`), length(`default_new_user_role_ids`) != 0)
        lapply(`default_new_user_role_ids`, function(x) stopifnot(is.character(x)))
        self$`default_new_user_role_ids` <- `default_new_user_role_ids`
      }
      if (!missing(`default_new_user_roles`)) {
        stopifnot(is.list(`default_new_user_roles`), length(`default_new_user_roles`) != 0)
        lapply(`default_new_user_roles`, function(x) stopifnot(R6::is.R6(x)))
        self$`default_new_user_roles` <- `default_new_user_roles`
      }
      if (!missing(`enabled`)) {
        self$`enabled` <- `enabled`
      }
      if (!missing(`force_no_page`)) {
        self$`force_no_page` <- `force_no_page`
      }
      if (!missing(`groups`)) {
        stopifnot(is.list(`groups`), length(`groups`) != 0)
        lapply(`groups`, function(x) stopifnot(R6::is.R6(x)))
        self$`groups` <- `groups`
      }
      if (!missing(`groups_base_dn`)) {
        stopifnot(is.character(`groups_base_dn`), length(`groups_base_dn`) == 1)
        self$`groups_base_dn` <- `groups_base_dn`
      }
      if (!missing(`groups_finder_type`)) {
        stopifnot(is.character(`groups_finder_type`), length(`groups_finder_type`) == 1)
        self$`groups_finder_type` <- `groups_finder_type`
      }
      if (!missing(`groups_member_attribute`)) {
        stopifnot(is.character(`groups_member_attribute`), length(`groups_member_attribute`) == 1)
        self$`groups_member_attribute` <- `groups_member_attribute`
      }
      if (!missing(`groups_objectclasses`)) {
        stopifnot(is.character(`groups_objectclasses`), length(`groups_objectclasses`) == 1)
        self$`groups_objectclasses` <- `groups_objectclasses`
      }
      if (!missing(`groups_user_attribute`)) {
        stopifnot(is.character(`groups_user_attribute`), length(`groups_user_attribute`) == 1)
        self$`groups_user_attribute` <- `groups_user_attribute`
      }
      if (!missing(`groups_with_role_ids`)) {
        stopifnot(is.list(`groups_with_role_ids`), length(`groups_with_role_ids`) != 0)
        lapply(`groups_with_role_ids`, function(x) stopifnot(R6::is.R6(x)))
        self$`groups_with_role_ids` <- `groups_with_role_ids`
      }
      if (!missing(`has_auth_password`)) {
        self$`has_auth_password` <- `has_auth_password`
      }
      if (!missing(`merge_new_users_by_email`)) {
        self$`merge_new_users_by_email` <- `merge_new_users_by_email`
      }
      if (!missing(`modified_at`)) {
        stopifnot(is.character(`modified_at`), length(`modified_at`) == 1)
        self$`modified_at` <- `modified_at`
      }
      if (!missing(`modified_by`)) {
        stopifnot(is.character(`modified_by`), length(`modified_by`) == 1)
        self$`modified_by` <- `modified_by`
      }
      if (!missing(`set_roles_from_groups`)) {
        self$`set_roles_from_groups` <- `set_roles_from_groups`
      }
      if (!missing(`test_ldap_password`)) {
        stopifnot(is.character(`test_ldap_password`), length(`test_ldap_password`) == 1)
        self$`test_ldap_password` <- `test_ldap_password`
      }
      if (!missing(`test_ldap_user`)) {
        stopifnot(is.character(`test_ldap_user`), length(`test_ldap_user`) == 1)
        self$`test_ldap_user` <- `test_ldap_user`
      }
      if (!missing(`user_attribute_map_email`)) {
        stopifnot(is.character(`user_attribute_map_email`), length(`user_attribute_map_email`) == 1)
        self$`user_attribute_map_email` <- `user_attribute_map_email`
      }
      if (!missing(`user_attribute_map_first_name`)) {
        stopifnot(is.character(`user_attribute_map_first_name`), length(`user_attribute_map_first_name`) == 1)
        self$`user_attribute_map_first_name` <- `user_attribute_map_first_name`
      }
      if (!missing(`user_attribute_map_last_name`)) {
        stopifnot(is.character(`user_attribute_map_last_name`), length(`user_attribute_map_last_name`) == 1)
        self$`user_attribute_map_last_name` <- `user_attribute_map_last_name`
      }
      if (!missing(`user_attribute_map_ldap_id`)) {
        stopifnot(is.character(`user_attribute_map_ldap_id`), length(`user_attribute_map_ldap_id`) == 1)
        self$`user_attribute_map_ldap_id` <- `user_attribute_map_ldap_id`
      }
      if (!missing(`user_attributes`)) {
        stopifnot(is.list(`user_attributes`), length(`user_attributes`) != 0)
        lapply(`user_attributes`, function(x) stopifnot(R6::is.R6(x)))
        self$`user_attributes` <- `user_attributes`
      }
      if (!missing(`user_attributes_with_ids`)) {
        stopifnot(is.list(`user_attributes_with_ids`), length(`user_attributes_with_ids`) != 0)
        lapply(`user_attributes_with_ids`, function(x) stopifnot(R6::is.R6(x)))
        self$`user_attributes_with_ids` <- `user_attributes_with_ids`
      }
      if (!missing(`user_bind_base_dn`)) {
        stopifnot(is.character(`user_bind_base_dn`), length(`user_bind_base_dn`) == 1)
        self$`user_bind_base_dn` <- `user_bind_base_dn`
      }
      if (!missing(`user_custom_filter`)) {
        stopifnot(is.character(`user_custom_filter`), length(`user_custom_filter`) == 1)
        self$`user_custom_filter` <- `user_custom_filter`
      }
      if (!missing(`user_id_attribute_names`)) {
        stopifnot(is.character(`user_id_attribute_names`), length(`user_id_attribute_names`) == 1)
        self$`user_id_attribute_names` <- `user_id_attribute_names`
      }
      if (!missing(`user_objectclass`)) {
        stopifnot(is.character(`user_objectclass`), length(`user_objectclass`) == 1)
        self$`user_objectclass` <- `user_objectclass`
      }
      if (!missing(`allow_normal_group_membership`)) {
        self$`allow_normal_group_membership` <- `allow_normal_group_membership`
      }
      if (!missing(`allow_roles_from_normal_groups`)) {
        self$`allow_roles_from_normal_groups` <- `allow_roles_from_normal_groups`
      }
      if (!missing(`allow_direct_roles`)) {
        self$`allow_direct_roles` <- `allow_direct_roles`
      }
      if (!missing(`url`)) {
        stopifnot(is.character(`url`), length(`url`) == 1)
        self$`url` <- `url`
      }
    },
    toJSON = function() {
      LDAPConfigObject <- list()
      if (!is.null(self$`can`)) {
        LDAPConfigObject[['can']] <- self$`can`
      }
      if (!is.null(self$`alternate_email_login_allowed`)) {
        LDAPConfigObject[['alternate_email_login_allowed']] <- self$`alternate_email_login_allowed`
      }
      if (!is.null(self$`auth_password`)) {
        LDAPConfigObject[['auth_password']] <- self$`auth_password`
      }
      if (!is.null(self$`auth_requires_role`)) {
        LDAPConfigObject[['auth_requires_role']] <- self$`auth_requires_role`
      }
      if (!is.null(self$`auth_username`)) {
        LDAPConfigObject[['auth_username']] <- self$`auth_username`
      }
      if (!is.null(self$`connection_host`)) {
        LDAPConfigObject[['connection_host']] <- self$`connection_host`
      }
      if (!is.null(self$`connection_port`)) {
        LDAPConfigObject[['connection_port']] <- self$`connection_port`
      }
      if (!is.null(self$`connection_tls`)) {
        LDAPConfigObject[['connection_tls']] <- self$`connection_tls`
      }
      if (!is.null(self$`connection_tls_no_verify`)) {
        LDAPConfigObject[['connection_tls_no_verify']] <- self$`connection_tls_no_verify`
      }
      if (!is.null(self$`default_new_user_group_ids`)) {
        LDAPConfigObject[['default_new_user_group_ids']] <- self$`default_new_user_group_ids`
      }
      if (!is.null(self$`default_new_user_groups`)) {
        LDAPConfigObject[['default_new_user_groups']] <- lapply(self$`default_new_user_groups`, function(x) x$toJSON())
      }
      if (!is.null(self$`default_new_user_role_ids`)) {
        LDAPConfigObject[['default_new_user_role_ids']] <- self$`default_new_user_role_ids`
      }
      if (!is.null(self$`default_new_user_roles`)) {
        LDAPConfigObject[['default_new_user_roles']] <- lapply(self$`default_new_user_roles`, function(x) x$toJSON())
      }
      if (!is.null(self$`enabled`)) {
        LDAPConfigObject[['enabled']] <- self$`enabled`
      }
      if (!is.null(self$`force_no_page`)) {
        LDAPConfigObject[['force_no_page']] <- self$`force_no_page`
      }
      if (!is.null(self$`groups`)) {
        LDAPConfigObject[['groups']] <- lapply(self$`groups`, function(x) x$toJSON())
      }
      if (!is.null(self$`groups_base_dn`)) {
        LDAPConfigObject[['groups_base_dn']] <- self$`groups_base_dn`
      }
      if (!is.null(self$`groups_finder_type`)) {
        LDAPConfigObject[['groups_finder_type']] <- self$`groups_finder_type`
      }
      if (!is.null(self$`groups_member_attribute`)) {
        LDAPConfigObject[['groups_member_attribute']] <- self$`groups_member_attribute`
      }
      if (!is.null(self$`groups_objectclasses`)) {
        LDAPConfigObject[['groups_objectclasses']] <- self$`groups_objectclasses`
      }
      if (!is.null(self$`groups_user_attribute`)) {
        LDAPConfigObject[['groups_user_attribute']] <- self$`groups_user_attribute`
      }
      if (!is.null(self$`groups_with_role_ids`)) {
        LDAPConfigObject[['groups_with_role_ids']] <- lapply(self$`groups_with_role_ids`, function(x) x$toJSON())
      }
      if (!is.null(self$`has_auth_password`)) {
        LDAPConfigObject[['has_auth_password']] <- self$`has_auth_password`
      }
      if (!is.null(self$`merge_new_users_by_email`)) {
        LDAPConfigObject[['merge_new_users_by_email']] <- self$`merge_new_users_by_email`
      }
      if (!is.null(self$`modified_at`)) {
        LDAPConfigObject[['modified_at']] <- self$`modified_at`
      }
      if (!is.null(self$`modified_by`)) {
        LDAPConfigObject[['modified_by']] <- self$`modified_by`
      }
      if (!is.null(self$`set_roles_from_groups`)) {
        LDAPConfigObject[['set_roles_from_groups']] <- self$`set_roles_from_groups`
      }
      if (!is.null(self$`test_ldap_password`)) {
        LDAPConfigObject[['test_ldap_password']] <- self$`test_ldap_password`
      }
      if (!is.null(self$`test_ldap_user`)) {
        LDAPConfigObject[['test_ldap_user']] <- self$`test_ldap_user`
      }
      if (!is.null(self$`user_attribute_map_email`)) {
        LDAPConfigObject[['user_attribute_map_email']] <- self$`user_attribute_map_email`
      }
      if (!is.null(self$`user_attribute_map_first_name`)) {
        LDAPConfigObject[['user_attribute_map_first_name']] <- self$`user_attribute_map_first_name`
      }
      if (!is.null(self$`user_attribute_map_last_name`)) {
        LDAPConfigObject[['user_attribute_map_last_name']] <- self$`user_attribute_map_last_name`
      }
      if (!is.null(self$`user_attribute_map_ldap_id`)) {
        LDAPConfigObject[['user_attribute_map_ldap_id']] <- self$`user_attribute_map_ldap_id`
      }
      if (!is.null(self$`user_attributes`)) {
        LDAPConfigObject[['user_attributes']] <- lapply(self$`user_attributes`, function(x) x$toJSON())
      }
      if (!is.null(self$`user_attributes_with_ids`)) {
        LDAPConfigObject[['user_attributes_with_ids']] <- lapply(self$`user_attributes_with_ids`, function(x) x$toJSON())
      }
      if (!is.null(self$`user_bind_base_dn`)) {
        LDAPConfigObject[['user_bind_base_dn']] <- self$`user_bind_base_dn`
      }
      if (!is.null(self$`user_custom_filter`)) {
        LDAPConfigObject[['user_custom_filter']] <- self$`user_custom_filter`
      }
      if (!is.null(self$`user_id_attribute_names`)) {
        LDAPConfigObject[['user_id_attribute_names']] <- self$`user_id_attribute_names`
      }
      if (!is.null(self$`user_objectclass`)) {
        LDAPConfigObject[['user_objectclass']] <- self$`user_objectclass`
      }
      if (!is.null(self$`allow_normal_group_membership`)) {
        LDAPConfigObject[['allow_normal_group_membership']] <- self$`allow_normal_group_membership`
      }
      if (!is.null(self$`allow_roles_from_normal_groups`)) {
        LDAPConfigObject[['allow_roles_from_normal_groups']] <- self$`allow_roles_from_normal_groups`
      }
      if (!is.null(self$`allow_direct_roles`)) {
        LDAPConfigObject[['allow_direct_roles']] <- self$`allow_direct_roles`
      }
      if (!is.null(self$`url`)) {
        LDAPConfigObject[['url']] <- self$`url`
      }

      LDAPConfigObject
    },
    fromJSONObject = function(LDAPConfigJsonObject) {
      LDAPConfigObject <- LDAPConfigJsonObject #jsonlite::fromJSON(LDAPConfigJson, simplifyVector = FALSE)
      if (!is.null(LDAPConfigObject$`can`)) {
        self$`can` <- LDAPConfigObject$`can`
      }
      if (!is.null(LDAPConfigObject$`alternate_email_login_allowed`)) {
        self$`alternate_email_login_allowed` <- LDAPConfigObject$`alternate_email_login_allowed`
      }
      if (!is.null(LDAPConfigObject$`auth_password`)) {
        self$`auth_password` <- LDAPConfigObject$`auth_password`
      }
      if (!is.null(LDAPConfigObject$`auth_requires_role`)) {
        self$`auth_requires_role` <- LDAPConfigObject$`auth_requires_role`
      }
      if (!is.null(LDAPConfigObject$`auth_username`)) {
        self$`auth_username` <- LDAPConfigObject$`auth_username`
      }
      if (!is.null(LDAPConfigObject$`connection_host`)) {
        self$`connection_host` <- LDAPConfigObject$`connection_host`
      }
      if (!is.null(LDAPConfigObject$`connection_port`)) {
        self$`connection_port` <- LDAPConfigObject$`connection_port`
      }
      if (!is.null(LDAPConfigObject$`connection_tls`)) {
        self$`connection_tls` <- LDAPConfigObject$`connection_tls`
      }
      if (!is.null(LDAPConfigObject$`connection_tls_no_verify`)) {
        self$`connection_tls_no_verify` <- LDAPConfigObject$`connection_tls_no_verify`
      }
      if (!is.null(LDAPConfigObject$`default_new_user_group_ids`)) {
        self$`default_new_user_group_ids` <- LDAPConfigObject$`default_new_user_group_ids`
      }
      if (!is.null(LDAPConfigObject$`default_new_user_groups`)) {
        self$`default_new_user_groups` <- lapply(LDAPConfigObject$`default_new_user_groups`, function(x) {
          default_new_user_groupsObject <- Group$new()
          default_new_user_groupsObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          default_new_user_groupsObject
        })
      }
      if (!is.null(LDAPConfigObject$`default_new_user_role_ids`)) {
        self$`default_new_user_role_ids` <- LDAPConfigObject$`default_new_user_role_ids`
      }
      if (!is.null(LDAPConfigObject$`default_new_user_roles`)) {
        self$`default_new_user_roles` <- lapply(LDAPConfigObject$`default_new_user_roles`, function(x) {
          default_new_user_rolesObject <- Role$new()
          default_new_user_rolesObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          default_new_user_rolesObject
        })
      }
      if (!is.null(LDAPConfigObject$`enabled`)) {
        self$`enabled` <- LDAPConfigObject$`enabled`
      }
      if (!is.null(LDAPConfigObject$`force_no_page`)) {
        self$`force_no_page` <- LDAPConfigObject$`force_no_page`
      }
      if (!is.null(LDAPConfigObject$`groups`)) {
        self$`groups` <- lapply(LDAPConfigObject$`groups`, function(x) {
          groupsObject <- LDAPGroupRead$new()
          groupsObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          groupsObject
        })
      }
      if (!is.null(LDAPConfigObject$`groups_base_dn`)) {
        self$`groups_base_dn` <- LDAPConfigObject$`groups_base_dn`
      }
      if (!is.null(LDAPConfigObject$`groups_finder_type`)) {
        self$`groups_finder_type` <- LDAPConfigObject$`groups_finder_type`
      }
      if (!is.null(LDAPConfigObject$`groups_member_attribute`)) {
        self$`groups_member_attribute` <- LDAPConfigObject$`groups_member_attribute`
      }
      if (!is.null(LDAPConfigObject$`groups_objectclasses`)) {
        self$`groups_objectclasses` <- LDAPConfigObject$`groups_objectclasses`
      }
      if (!is.null(LDAPConfigObject$`groups_user_attribute`)) {
        self$`groups_user_attribute` <- LDAPConfigObject$`groups_user_attribute`
      }
      if (!is.null(LDAPConfigObject$`groups_with_role_ids`)) {
        self$`groups_with_role_ids` <- lapply(LDAPConfigObject$`groups_with_role_ids`, function(x) {
          groups_with_role_idsObject <- LDAPGroupWrite$new()
          groups_with_role_idsObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          groups_with_role_idsObject
        })
      }
      if (!is.null(LDAPConfigObject$`has_auth_password`)) {
        self$`has_auth_password` <- LDAPConfigObject$`has_auth_password`
      }
      if (!is.null(LDAPConfigObject$`merge_new_users_by_email`)) {
        self$`merge_new_users_by_email` <- LDAPConfigObject$`merge_new_users_by_email`
      }
      if (!is.null(LDAPConfigObject$`modified_at`)) {
        self$`modified_at` <- LDAPConfigObject$`modified_at`
      }
      if (!is.null(LDAPConfigObject$`modified_by`)) {
        self$`modified_by` <- LDAPConfigObject$`modified_by`
      }
      if (!is.null(LDAPConfigObject$`set_roles_from_groups`)) {
        self$`set_roles_from_groups` <- LDAPConfigObject$`set_roles_from_groups`
      }
      if (!is.null(LDAPConfigObject$`test_ldap_password`)) {
        self$`test_ldap_password` <- LDAPConfigObject$`test_ldap_password`
      }
      if (!is.null(LDAPConfigObject$`test_ldap_user`)) {
        self$`test_ldap_user` <- LDAPConfigObject$`test_ldap_user`
      }
      if (!is.null(LDAPConfigObject$`user_attribute_map_email`)) {
        self$`user_attribute_map_email` <- LDAPConfigObject$`user_attribute_map_email`
      }
      if (!is.null(LDAPConfigObject$`user_attribute_map_first_name`)) {
        self$`user_attribute_map_first_name` <- LDAPConfigObject$`user_attribute_map_first_name`
      }
      if (!is.null(LDAPConfigObject$`user_attribute_map_last_name`)) {
        self$`user_attribute_map_last_name` <- LDAPConfigObject$`user_attribute_map_last_name`
      }
      if (!is.null(LDAPConfigObject$`user_attribute_map_ldap_id`)) {
        self$`user_attribute_map_ldap_id` <- LDAPConfigObject$`user_attribute_map_ldap_id`
      }
      if (!is.null(LDAPConfigObject$`user_attributes`)) {
        self$`user_attributes` <- lapply(LDAPConfigObject$`user_attributes`, function(x) {
          user_attributesObject <- LDAPUserAttributeRead$new()
          user_attributesObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          user_attributesObject
        })
      }
      if (!is.null(LDAPConfigObject$`user_attributes_with_ids`)) {
        self$`user_attributes_with_ids` <- lapply(LDAPConfigObject$`user_attributes_with_ids`, function(x) {
          user_attributes_with_idsObject <- LDAPUserAttributeWrite$new()
          user_attributes_with_idsObject$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE))
          user_attributes_with_idsObject
        })
      }
      if (!is.null(LDAPConfigObject$`user_bind_base_dn`)) {
        self$`user_bind_base_dn` <- LDAPConfigObject$`user_bind_base_dn`
      }
      if (!is.null(LDAPConfigObject$`user_custom_filter`)) {
        self$`user_custom_filter` <- LDAPConfigObject$`user_custom_filter`
      }
      if (!is.null(LDAPConfigObject$`user_id_attribute_names`)) {
        self$`user_id_attribute_names` <- LDAPConfigObject$`user_id_attribute_names`
      }
      if (!is.null(LDAPConfigObject$`user_objectclass`)) {
        self$`user_objectclass` <- LDAPConfigObject$`user_objectclass`
      }
      if (!is.null(LDAPConfigObject$`allow_normal_group_membership`)) {
        self$`allow_normal_group_membership` <- LDAPConfigObject$`allow_normal_group_membership`
      }
      if (!is.null(LDAPConfigObject$`allow_roles_from_normal_groups`)) {
        self$`allow_roles_from_normal_groups` <- LDAPConfigObject$`allow_roles_from_normal_groups`
      }
      if (!is.null(LDAPConfigObject$`allow_direct_roles`)) {
        self$`allow_direct_roles` <- LDAPConfigObject$`allow_direct_roles`
      }
      if (!is.null(LDAPConfigObject$`url`)) {
        self$`url` <- LDAPConfigObject$`url`
      }
    },
    fromJSON = function(LDAPConfigJson) {
      LDAPConfigObject <- jsonlite::fromJSON(LDAPConfigJson, simplifyVector = FALSE)
      self$fromJSONObject(LDAPConfigObject)
    },
    toJSONString = function() {
       sprintf(
        '{
           "can": %s,
           "alternate_email_login_allowed": %s,
           "auth_password": %s,
           "auth_requires_role": %s,
           "auth_username": %s,
           "connection_host": %s,
           "connection_port": %s,
           "connection_tls": %s,
           "connection_tls_no_verify": %s,
           "default_new_user_group_ids": [%s],
           "default_new_user_groups": [%s],
           "default_new_user_role_ids": [%s],
           "default_new_user_roles": [%s],
           "enabled": %s,
           "force_no_page": %s,
           "groups": [%s],
           "groups_base_dn": %s,
           "groups_finder_type": %s,
           "groups_member_attribute": %s,
           "groups_objectclasses": %s,
           "groups_user_attribute": %s,
           "groups_with_role_ids": [%s],
           "has_auth_password": %s,
           "merge_new_users_by_email": %s,
           "modified_at": %s,
           "modified_by": %s,
           "set_roles_from_groups": %s,
           "test_ldap_password": %s,
           "test_ldap_user": %s,
           "user_attribute_map_email": %s,
           "user_attribute_map_first_name": %s,
           "user_attribute_map_last_name": %s,
           "user_attribute_map_ldap_id": %s,
           "user_attributes": [%s],
           "user_attributes_with_ids": [%s],
           "user_bind_base_dn": %s,
           "user_custom_filter": %s,
           "user_id_attribute_names": %s,
           "user_objectclass": %s,
           "allow_normal_group_membership": %s,
           "allow_roles_from_normal_groups": %s,
           "allow_direct_roles": %s,
           "url": %s
        }',
        self$`can`,
        self$`alternate_email_login_allowed`,
        self$`auth_password`,
        self$`auth_requires_role`,
        self$`auth_username`,
        self$`connection_host`,
        self$`connection_port`,
        self$`connection_tls`,
        self$`connection_tls_no_verify`,
        lapply(self$`default_new_user_group_ids`, function(x) paste(paste0('"', x, '"'), sep=",")),
        lapply(self$`default_new_user_groups`, function(x) paste(x$toJSON(), sep=",")),
        lapply(self$`default_new_user_role_ids`, function(x) paste(paste0('"', x, '"'), sep=",")),
        lapply(self$`default_new_user_roles`, function(x) paste(x$toJSON(), sep=",")),
        self$`enabled`,
        self$`force_no_page`,
        lapply(self$`groups`, function(x) paste(x$toJSON(), sep=",")),
        self$`groups_base_dn`,
        self$`groups_finder_type`,
        self$`groups_member_attribute`,
        self$`groups_objectclasses`,
        self$`groups_user_attribute`,
        lapply(self$`groups_with_role_ids`, function(x) paste(x$toJSON(), sep=",")),
        self$`has_auth_password`,
        self$`merge_new_users_by_email`,
        self$`modified_at`,
        self$`modified_by`,
        self$`set_roles_from_groups`,
        self$`test_ldap_password`,
        self$`test_ldap_user`,
        self$`user_attribute_map_email`,
        self$`user_attribute_map_first_name`,
        self$`user_attribute_map_last_name`,
        self$`user_attribute_map_ldap_id`,
        lapply(self$`user_attributes`, function(x) paste(x$toJSON(), sep=",")),
        lapply(self$`user_attributes_with_ids`, function(x) paste(x$toJSON(), sep=",")),
        self$`user_bind_base_dn`,
        self$`user_custom_filter`,
        self$`user_id_attribute_names`,
        self$`user_objectclass`,
        self$`allow_normal_group_membership`,
        self$`allow_roles_from_normal_groups`,
        self$`allow_direct_roles`,
        self$`url`
      )
    },
    fromJSONString = function(LDAPConfigJson) {
      LDAPConfigObject <- jsonlite::fromJSON(LDAPConfigJson, simplifyVector = FALSE)
      self$`can` <- LDAPConfigObject$`can`
      self$`alternate_email_login_allowed` <- LDAPConfigObject$`alternate_email_login_allowed`
      self$`auth_password` <- LDAPConfigObject$`auth_password`
      self$`auth_requires_role` <- LDAPConfigObject$`auth_requires_role`
      self$`auth_username` <- LDAPConfigObject$`auth_username`
      self$`connection_host` <- LDAPConfigObject$`connection_host`
      self$`connection_port` <- LDAPConfigObject$`connection_port`
      self$`connection_tls` <- LDAPConfigObject$`connection_tls`
      self$`connection_tls_no_verify` <- LDAPConfigObject$`connection_tls_no_verify`
      self$`default_new_user_group_ids` <- LDAPConfigObject$`default_new_user_group_ids`
      self$`default_new_user_groups` <- lapply(LDAPConfigObject$`default_new_user_groups`, function(x) Group$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
      self$`default_new_user_role_ids` <- LDAPConfigObject$`default_new_user_role_ids`
      self$`default_new_user_roles` <- lapply(LDAPConfigObject$`default_new_user_roles`, function(x) Role$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
      self$`enabled` <- LDAPConfigObject$`enabled`
      self$`force_no_page` <- LDAPConfigObject$`force_no_page`
      self$`groups` <- lapply(LDAPConfigObject$`groups`, function(x) LDAPGroupRead$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
      self$`groups_base_dn` <- LDAPConfigObject$`groups_base_dn`
      self$`groups_finder_type` <- LDAPConfigObject$`groups_finder_type`
      self$`groups_member_attribute` <- LDAPConfigObject$`groups_member_attribute`
      self$`groups_objectclasses` <- LDAPConfigObject$`groups_objectclasses`
      self$`groups_user_attribute` <- LDAPConfigObject$`groups_user_attribute`
      self$`groups_with_role_ids` <- lapply(LDAPConfigObject$`groups_with_role_ids`, function(x) LDAPGroupWrite$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
      self$`has_auth_password` <- LDAPConfigObject$`has_auth_password`
      self$`merge_new_users_by_email` <- LDAPConfigObject$`merge_new_users_by_email`
      self$`modified_at` <- LDAPConfigObject$`modified_at`
      self$`modified_by` <- LDAPConfigObject$`modified_by`
      self$`set_roles_from_groups` <- LDAPConfigObject$`set_roles_from_groups`
      self$`test_ldap_password` <- LDAPConfigObject$`test_ldap_password`
      self$`test_ldap_user` <- LDAPConfigObject$`test_ldap_user`
      self$`user_attribute_map_email` <- LDAPConfigObject$`user_attribute_map_email`
      self$`user_attribute_map_first_name` <- LDAPConfigObject$`user_attribute_map_first_name`
      self$`user_attribute_map_last_name` <- LDAPConfigObject$`user_attribute_map_last_name`
      self$`user_attribute_map_ldap_id` <- LDAPConfigObject$`user_attribute_map_ldap_id`
      self$`user_attributes` <- lapply(LDAPConfigObject$`user_attributes`, function(x) LDAPUserAttributeRead$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
      self$`user_attributes_with_ids` <- lapply(LDAPConfigObject$`user_attributes_with_ids`, function(x) LDAPUserAttributeWrite$new()$fromJSON(jsonlite::toJSON(x, auto_unbox = TRUE)))
      self$`user_bind_base_dn` <- LDAPConfigObject$`user_bind_base_dn`
      self$`user_custom_filter` <- LDAPConfigObject$`user_custom_filter`
      self$`user_id_attribute_names` <- LDAPConfigObject$`user_id_attribute_names`
      self$`user_objectclass` <- LDAPConfigObject$`user_objectclass`
      self$`allow_normal_group_membership` <- LDAPConfigObject$`allow_normal_group_membership`
      self$`allow_roles_from_normal_groups` <- LDAPConfigObject$`allow_roles_from_normal_groups`
      self$`allow_direct_roles` <- LDAPConfigObject$`allow_direct_roles`
      self$`url` <- LDAPConfigObject$`url`
    }
  )
)
looker-open-source/lookr documentation built on Jan. 27, 2024, 1:24 a.m.