ucsschool.http_api package#
Subpackages#
- ucsschool.http_api.app package
- ucsschool.http_api.import_api package
- Subpackages
- Submodules
- ucsschool.http_api.import_api.admin module
- ucsschool.http_api.import_api.apps module
- ucsschool.http_api.import_api.constants module
- ucsschool.http_api.import_api.http_api_import_frontend module
HttpApiImportFrontendHttpApiImportFrontend.http_api_specific_configHttpApiImportFrontend.import_initiatorHttpApiImportFrontend.reader_classHttpApiImportFrontend.parse_cmdline()HttpApiImportFrontend.setup_logging()HttpApiImportFrontend.configuration_filesHttpApiImportFrontend.make_job_state()HttpApiImportFrontend.setup_config()HttpApiImportFrontend.update_job_state()
- ucsschool.http_api.import_api.import_logging module
- ucsschool.http_api.import_api.models module
RoleSchoolTextArtifactTextArtifact.pathTextArtifact.textTextArtifact.get_text()TextArtifact.get_userimportjob()TextArtifact.DoesNotExistTextArtifact.MultipleObjectsReturnedTextArtifact.idTextArtifact.objectsTextArtifact.userimportjob_log_fileTextArtifact.userimportjob_password_fileTextArtifact.userimportjob_summary_file
LogfilePasswordsFileSummaryFileUserImportJobUserImportJob.dryrunUserImportJob.principalUserImportJob.schoolUserImportJob.source_uidUserImportJob.statusUserImportJob.user_roleUserImportJob.task_idUserImportJob.resultUserImportJob.log_fileUserImportJob.password_fileUserImportJob.summary_fileUserImportJob.basedirUserImportJob.date_createdUserImportJob.input_fileUserImportJob.DoesNotExistUserImportJob.MultipleObjectsReturnedUserImportJob.get_next_by_date_created()UserImportJob.get_previous_by_date_created()UserImportJob.get_status_display()UserImportJob.get_user_role_display()UserImportJob.idUserImportJob.log_file_idUserImportJob.objectsUserImportJob.password_file_idUserImportJob.principal_idUserImportJob.result_idUserImportJob.school_idUserImportJob.summary_file_id
- ucsschool.http_api.import_api.serializers module
- ucsschool.http_api.import_api.tasks module
- ucsschool.http_api.import_api.utils module
- ucsschool.http_api.import_api.views module
UserImportJobFilterRoleFilterBackendSchoolFilterBackendUserImportJobFilterBackendRoleViewPermissionSchoolViewPermissionTextArtifactViewPermissionUserImportJobViewPermissionUserImportJobViewSetUserImportJobViewSet.querysetUserImportJobViewSet.serializer_classUserImportJobViewSet.filter_backendsUserImportJobViewSet.filterset_classUserImportJobViewSet.permission_classesUserImportJobViewSet.ordering_fieldsUserImportJobViewSet.perform_create()UserImportJobViewSet.retrieve()UserImportJobViewSet.list()UserImportJobViewSet.logfile()UserImportJobViewSet.passwords()UserImportJobViewSet.summary()UserImportJobViewSet.basenameUserImportJobViewSet.descriptionUserImportJobViewSet.detailUserImportJobViewSet.nameUserImportJobViewSet.suffix
SubResourceMixinLogFileViewSetPasswordsViewSetSummaryViewSetRoleViewSetRoleViewSet.querysetRoleViewSet.serializer_classRoleViewSet.filter_backendsRoleViewSet.filterset_fieldsRoleViewSet.ordering_fieldsRoleViewSet.permission_classesRoleViewSet.retrieve()RoleViewSet.list()RoleViewSet.basenameRoleViewSet.descriptionRoleViewSet.detailRoleViewSet.nameRoleViewSet.suffix
SchoolViewSetSchoolViewSet.querysetSchoolViewSet.serializer_classSchoolViewSet.filter_backendsSchoolViewSet.filterset_fieldsSchoolViewSet.ordering_fieldsSchoolViewSet.permission_classesSchoolViewSet.retrieve()SchoolViewSet.list()SchoolViewSet.user_imports()SchoolViewSet.roles()SchoolViewSet.basenameSchoolViewSet.descriptionSchoolViewSet.detailSchoolViewSet.nameSchoolViewSet.suffix
Submodules#
ucsschool.http_api.auth_backend module#
- class ucsschool.http_api.auth_backend.UASImportPAMBackend[source]#
Bases:
PAMBackendPurpose: Make uas-import the default PAM service instead of login
- authenticate(request, username=None, password=None, **extra_fields)[source]#
Authenticate using PAM then get the account if it exists else create a new account.
Note
The keyword arguments ‘service’, ‘encoding’, and ‘resetcreds’ can also be passed and will be pulled off the ‘extra_fields’ kwargs.
- Parameters:
- Return type:
The Django user object or None if it fails.
ucsschool.http_api.client module#
HTTP API Client
- exception ucsschool.http_api.client.BadRequest(msg, status_code=None)[source]#
Bases:
ApiErrorHTTP 400
- exception ucsschool.http_api.client.PermissionError(msg, status_code=None)[source]#
Bases:
ApiErrorHTTP 401|403
- exception ucsschool.http_api.client.ObjectNotFound(msg, status_code=None)[source]#
Bases:
ApiErrorHTTP 404
- exception ucsschool.http_api.client.ServerError(msg, status_code=None)[source]#
Bases:
ApiErrorHTTP 5xx
- exception ucsschool.http_api.client.ConnectionError(msg, status_code=None)[source]#
Bases:
ApiErrorCannot establish / lost connection to server.
- exception ucsschool.http_api.client.IllegalURLError(msg, status_code=None)[source]#
Bases:
ApiErrorURLs returned from API root do not meet expectation.
- class ucsschool.http_api.client.ResourceRepresentationIterator(resource_client, paginated_resource_list)[source]#
Bases:
objectIterator for paginated query results.
- next()#
- class ucsschool.http_api.client.ResourceRepresentation[source]#
Bases:
objectPython representations of HTTP-API resources.
To add resources to the Python API create inner classes that 1. subclass _ResourceReprBase 2. use as meta class _ResourceRepresentationMetaClass 3. set a class attribute resource_name that matches the resource path in the HTTP-API
The meta class will register the resource representation class and make it available through Client objects.
client = Client(<username>, <password>, [log level]) client.school.list() # <– from SchoolResource client.userimportjob.create() # <– from UserImportJobResource
- class SchoolResource(resource_client, resource)[source]#
Bases:
_ResourceReprBase- resource_name = 'schools'#
- property roles#
Roles the connected user has in this school.
- Returns:
RoleResource objects
- Return type:
- property user_imports#
UserImportJobs that ran for this school.
- Returns:
UserImportJobResource objects
- Return type:
- class RoleResource(resource_client, resource)[source]#
Bases:
_ResourceReprBase- resource_name = 'roles'#
- class ResultResource(resource_client, resource)[source]#
Bases:
_ResourceReprBase- resource_name = 'result'#
- class UserImportJobResource(resource_client, resource)[source]#
Bases:
_ResourceReprBaseRepresentation of an import job resource.
job = client.userimportjob.get(job_id)
job.status
job.result
job.log_file
job.password_file
job.school
job.summary_file
- resource_name = 'imports/users'#
- property log_file#
- property password_file#
- property school#
- property summary_file#
- property result#
- class ucsschool.http_api.client.Client(name, password, server=None, version=1, log_level=20, ssl_verify=True, *args, **kwargs)[source]#
Bases:
objectHTTP-API import client.
client = Client(username, password) my_schools = client.school.list() my_roles_at_school1 = client.school.get(‘school1’).roles job_id = client.userimportjob.create() client.userimportjob.get(job_id)
UCS@school HTTP API client.
- Parameters:
name (str) – username for connecting to HTTP-API
password (str) – password to use for connecting to HTTP-API
server (str) – FQDN of server running the HTTP-API
version (str) – HTTP-API version, omit to use latest version
log_level (int) – log level, use logging.{INFO,DEBUG,..} or Client.LOG_REQUEST to log API requests, Client.LOG_RESPONSE to log both requests and responses
- LOG_REQUEST = 5#
- LOG_RESPONSE = 4#
- property resource_urls#