anvil_consortium_manager.auditor.audit.workspaces module
- class anvil_consortium_manager.auditor.audit.workspaces.WorkspaceAudit
Bases:
AnVILAuditClass to runs an audit for Workspace instances.
- ERROR_DIFFERENT_AUTH_DOMAINS = 'Has different auth domains on AnVIL'
Error when the Workspace has different auth domains in the app and on AnVIL.
- ERROR_DIFFERENT_LOCK = 'Workspace lock status does not match on AnVIL'
Error when the workspace.is_locked status does not match the lock status on AnVIL.
- ERROR_DIFFERENT_REQUESTER_PAYS = 'Workspace bucket requester_pays status does not match on AnVIL'
Error when the workspace.is_locked status does not match the lock status on AnVIL.
- ERROR_NOT_IN_ANVIL = 'Not in AnVIL'
Error when a Workspace in the app does not exist on AnVIL.
- ERROR_NOT_OWNER_ON_ANVIL = 'Not an owner on AnVIL'
Error when the service account running the app is not an owner of the Workspace on AnVIL.
- ERROR_WORKSPACE_SHARING = 'Workspace sharing does not match on AnVIL'
Error when a Workspace is shared with different ManagedGroups in the app and on AnVIL.
- run_audit()
Run an audit on Workspaces in the app.
- class anvil_consortium_manager.auditor.audit.workspaces.WorkspaceSharingAudit(workspace, *args, **kwargs)
Bases:
AnVILAuditClass that runs an audit for sharing of a specific Workspace instance.
- ERROR_DIFFERENT_ACCESS = 'Different access level in AnVIL'
Error when a ManagedGroup has a different access level for workspace in the app and on AnVIL.
- ERROR_DIFFERENT_CAN_COMPUTE = 'can_compute value does not match in AnVIL'
Error when the can_compute value for a ManagedGroup does not match what’s on AnVIL.
- ERROR_DIFFERENT_CAN_SHARE = 'can_share value does not match in AnVIL'
Error when the can_share value for a ManagedGroup does not match what’s on AnVIL.
- ERROR_NOT_SHARED_IN_ANVIL = 'Not shared in AnVIL'
Error when a ManagedGroup has access to a workspace in the app but not on AnVIL.
- ignored_table_class
alias of
WorkspaceSharingIgnoredTable
- not_in_app_table_class
alias of
WorkspaceSharingNotInAppTable
- run_audit()
Run the audit for all workspace instances.
- class anvil_consortium_manager.auditor.audit.workspaces.WorkspaceSharingIgnoredResult(*args, current_access=None, current_can_compute=None, current_can_share=None, **kwargs)
Bases:
IgnoredResultClass to store a not in app audit result for a specific WorkspaceSharing record.
- class anvil_consortium_manager.auditor.audit.workspaces.WorkspaceSharingIgnoredTable(data=None, order_by=None, orderable=None, empty_text=None, exclude=None, attrs=None, row_attrs=None, pinned_row_attrs=None, sequence=None, prefix=None, order_by_field=None, page_field=None, per_page_field=None, template_name=None, default=None, request=None, show_header=None, show_footer=True, extra_columns=None)
Bases:
IgnoredTableA table specific to the IgnoredWorkspaceSharing model.
- class Meta
Bases:
object- exclude = ('record',)
- fields = ('model_instance', 'model_instance__workspace', 'model_instance__ignored_email', 'model_instance__added_by', 'current_access', 'current_can_compute', 'current_can_share')
- base_columns = {'current_access': <django_tables2.columns.base.Column object>, 'current_can_compute': <django_tables2.columns.base.Column object>, 'current_can_share': <django_tables2.columns.base.Column object>, 'model_instance': <django_tables2.columns.base.Column object>, 'model_instance__added_by': <django_tables2.columns.base.Column object>, 'model_instance__ignored_email': <django_tables2.columns.base.Column object>, 'model_instance__workspace': <django_tables2.columns.base.Column object>}
- class anvil_consortium_manager.auditor.audit.workspaces.WorkspaceSharingNotInAppResult(*args, workspace=None, email=None, access=None, can_compute=None, can_share=None, **kwargs)
Bases:
NotInAppResultClass to store a not in app audit result for a specific WorkspaceSharing record.
- class anvil_consortium_manager.auditor.audit.workspaces.WorkspaceSharingNotInAppTable(data=None, order_by=None, orderable=None, empty_text=None, exclude=None, attrs=None, row_attrs=None, pinned_row_attrs=None, sequence=None, prefix=None, order_by_field=None, page_field=None, per_page_field=None, template_name=None, default=None, request=None, show_header=None, show_footer=True, extra_columns=None)
Bases:
NotInAppTable- class Meta
Bases:
object- exclude = ('record',)
- fields = ('workspace', 'email', 'access', 'can_compute', 'can_share')
- base_columns = {'access': <django_tables2.columns.base.Column object>, 'can_compute': <django_tables2.columns.base.Column object>, 'can_share': <django_tables2.columns.base.Column object>, 'email': <django_tables2.columns.base.Column object>, 'ignore': <django_tables2.columns.templatecolumn.TemplateColumn object>, 'workspace': <django_tables2.columns.base.Column object>}