The openstack_dashboard.dashboards.project.databases.tables ModuleΒΆ

class openstack_dashboard.dashboards.project.databases.tables.CreateBackup(attrs=None, **kwargs)[source]

Bases: horizon.tables.actions.LinkAction

CreateBackup.allowed(request, instance=None)[source]
CreateBackup.base_options = {'__module__': 'openstack_dashboard.dashboards.project.databases.tables', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'update': <function update at 0x5441848>, 'get_link_url': <function get_link_url at 0x71bdc08>, 'allowed': <function allowed at 0x71bdb90>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x54417d0>, 'update': <function update at 0x5441848>, 'get_policy_target': <function get_policy_target at 0x5441c80>, '_allowed': <function _allowed at 0x5441de8>, '__repr__': <function __repr__ at 0x5441758>, 'allowed': <function allowed at 0x5441c08>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5441d70>}, '__init__': <function __init__ at 0x54419b0>, 'name': 'backup', 'url': 'horizon:project:database_backups:create', 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x54417d0>, 'get_policy_target': <function get_policy_target at 0x5441c80>, '_allowed': <function _allowed at 0x5441de8>, 'classes': ('ajax-modal', 'btn-camera'), '__repr__': <function __repr__ at 0x5441758>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, 'verbose_name': <django.utils.functional.__proxy__ object at 0x71a9450>, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n '}
CreateBackup.classes = ('ajax-modal', 'btn-camera')
CreateBackup.get_link_url(datam)[source]
CreateBackup.name = 'backup'
CreateBackup.url = 'horizon:project:database_backups:create'
CreateBackup.verbose_name = <django.utils.functional.__proxy__ object at 0x71a9450>
class openstack_dashboard.dashboards.project.databases.tables.DatabaseTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

class DatabaseTable.Meta[source]
DatabaseTable.Meta.name = 'databases'
DatabaseTable.Meta.row_actions = [<class 'openstack_dashboard.dashboards.project.databases.tables.DeleteDatabase'>]
DatabaseTable.Meta.table_actions = [<class 'openstack_dashboard.dashboards.project.databases.tables.DeleteDatabase'>]
DatabaseTable.Meta.verbose_name = <django.utils.functional.__proxy__ object at 0x71ab3d0>
DatabaseTable.base_actions = {'delete': <DeleteDatabase: delete>}
DatabaseTable.base_columns = {'name': <Column: name>}
DatabaseTable.get_object_id(datum)[source]
class openstack_dashboard.dashboards.project.databases.tables.DeleteDatabase(**kwargs)[source]

Bases: horizon.tables.actions.DeleteAction

DeleteDatabase.action_past = <django.utils.functional.__proxy__ object at 0x71a9210>
DeleteDatabase.action_present = <django.utils.functional.__proxy__ object at 0x71a9150>
DeleteDatabase.base_options = {'__module__': 'openstack_dashboard.dashboards.project.databases.tables', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_singular': <django.utils.functional.__proxy__ object at 0x71a9290>, 'update': <function update at 0x546ab18>, 'get_success_url': <function get_success_url at 0x546ab90>, 'get_param_name': <function get_param_name at 0x5441a28>, 'allowed': <function allowed at 0x5441c08>, 'handle': <function handle at 0x546ac08>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x54417d0>, 'update': <function update at 0x5441848>, 'get_policy_target': <function get_policy_target at 0x5441c80>, '_allowed': <function _allowed at 0x5441de8>, '__repr__': <function __repr__ at 0x5441758>, 'allowed': <function allowed at 0x5441c08>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5441d70>}, '__init__': <function __init__ at 0x546ac80>, 'name': 'delete', 'data_type_plural': <django.utils.functional.__proxy__ object at 0x71a9310>, 'action_present': <django.utils.functional.__proxy__ object at 0x71a9150>, 'action_past': <django.utils.functional.__proxy__ object at 0x71a9210>, 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x546ade8>, 'get_policy_target': <function get_policy_target at 0x5441c80>, '_allowed': <function _allowed at 0x546a9b0>, '_get_action_name': <function _get_action_name at 0x546aa28>, '__repr__': <function __repr__ at 0x5441758>, 'action': <function action at 0x546acf8>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, '__doc__': 'Doc missing.', 'delete': <function delete at 0x71bdb18>}
DeleteDatabase.data_type_plural = <django.utils.functional.__proxy__ object at 0x71a9310>
DeleteDatabase.data_type_singular = <django.utils.functional.__proxy__ object at 0x71a9290>
DeleteDatabase.delete(request, obj_id)[source]
DeleteDatabase.name = 'delete'
class openstack_dashboard.dashboards.project.databases.tables.DeleteUser(**kwargs)[source]

Bases: horizon.tables.actions.DeleteAction

DeleteUser.action_past = <django.utils.functional.__proxy__ object at 0x71a7f90>
DeleteUser.action_present = <django.utils.functional.__proxy__ object at 0x71a7ed0>
DeleteUser.base_options = {'__module__': 'openstack_dashboard.dashboards.project.databases.tables', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_singular': <django.utils.functional.__proxy__ object at 0x71a9050>, 'update': <function update at 0x546ab18>, 'get_success_url': <function get_success_url at 0x546ab90>, 'get_param_name': <function get_param_name at 0x5441a28>, 'allowed': <function allowed at 0x5441c08>, 'handle': <function handle at 0x546ac08>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x54417d0>, 'update': <function update at 0x5441848>, 'get_policy_target': <function get_policy_target at 0x5441c80>, '_allowed': <function _allowed at 0x5441de8>, '__repr__': <function __repr__ at 0x5441758>, 'allowed': <function allowed at 0x5441c08>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5441d70>}, '__init__': <function __init__ at 0x546ac80>, 'name': 'delete', 'data_type_plural': <django.utils.functional.__proxy__ object at 0x71a90d0>, 'action_present': <django.utils.functional.__proxy__ object at 0x71a7ed0>, 'action_past': <django.utils.functional.__proxy__ object at 0x71a7f90>, 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x546ade8>, 'get_policy_target': <function get_policy_target at 0x5441c80>, '_allowed': <function _allowed at 0x546a9b0>, '_get_action_name': <function _get_action_name at 0x546aa28>, '__repr__': <function __repr__ at 0x5441758>, 'action': <function action at 0x546acf8>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, '__doc__': 'Doc missing.', 'delete': <function delete at 0x71bdaa0>}
DeleteUser.data_type_plural = <django.utils.functional.__proxy__ object at 0x71a90d0>
DeleteUser.data_type_singular = <django.utils.functional.__proxy__ object at 0x71a9050>
DeleteUser.delete(request, obj_id)[source]
DeleteUser.name = 'delete'
class openstack_dashboard.dashboards.project.databases.tables.InstanceBackupsTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

class InstanceBackupsTable.Meta[source]
InstanceBackupsTable.Meta.name = 'backups'
InstanceBackupsTable.Meta.row_actions = (<class 'openstack_dashboard.dashboards.project.database_backups.tables.RestoreLink'>, <class 'openstack_dashboard.dashboards.project.database_backups.tables.DeleteBackup'>)
InstanceBackupsTable.Meta.row_class

alias of UpdateRow

InstanceBackupsTable.Meta.status_columns = ['status']
InstanceBackupsTable.Meta.table_actions = (<class 'openstack_dashboard.dashboards.project.database_backups.tables.LaunchLink'>, <class 'openstack_dashboard.dashboards.project.database_backups.tables.DeleteBackup'>)
InstanceBackupsTable.Meta.verbose_name = <django.utils.functional.__proxy__ object at 0x71ab950>
InstanceBackupsTable.base_actions = {'create': <LaunchLink: create>, 'delete': <DeleteBackup: delete>, 'restore': <RestoreLink: restore>}
InstanceBackupsTable.base_columns = {'name': <Column: name>, 'created': <Column: created>, 'location': <Column: location>, 'status': <Column: status>}
class openstack_dashboard.dashboards.project.databases.tables.InstancesTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

class InstancesTable.Meta[source]
InstancesTable.Meta.name = 'databases'
InstancesTable.Meta.row_actions = (<class 'openstack_dashboard.dashboards.project.databases.tables.CreateBackup'>, <class 'openstack_dashboard.dashboards.project.databases.tables.RestartInstance'>, <class 'openstack_dashboard.dashboards.project.databases.tables.TerminateInstance'>)
InstancesTable.Meta.row_class

alias of UpdateRow

InstancesTable.Meta.status_columns = ['status']
InstancesTable.Meta.table_actions = (<class 'openstack_dashboard.dashboards.project.databases.tables.LaunchLink'>, <class 'openstack_dashboard.dashboards.project.databases.tables.TerminateInstance'>)
InstancesTable.Meta.verbose_name = <django.utils.functional.__proxy__ object at 0x71a9910>
InstancesTable.STATUS_CHOICES = (('active', True), ('shutoff', True), ('suspended', True), ('paused', True), ('error', False))
InstancesTable.base_actions = {'backup': <CreateBackup: backup>, 'launch': <LaunchLink: launch>, 'restart': <RestartInstance: restart>, 'terminate': <TerminateInstance: terminate>}
InstancesTable.base_columns = {'name': <Column: name>, 'host': <Column: host>, 'size': <Column: size>, 'status': <Column: status>}
class openstack_dashboard.dashboards.project.databases.tables.LaunchLink(attrs=None, **kwargs)[source]

Bases: horizon.tables.actions.LinkAction

LaunchLink.base_options = {'__module__': 'openstack_dashboard.dashboards.project.databases.tables', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'name': 'launch', '_allowed': <function _allowed at 0x5441de8>, 'url': 'horizon:project:databases:launch', 'verbose_name': <django.utils.functional.__proxy__ object at 0x71a9390>, 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x54417d0>, 'update': <function update at 0x5441848>, 'get_policy_target': <function get_policy_target at 0x5441c80>, 'get_link_url': <function get_link_url at 0x546a140>, 'classes': ('btn-launch', 'ajax-modal'), '__repr__': <function __repr__ at 0x5441758>, 'allowed': <function allowed at 0x5441c08>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x54417d0>, 'update': <function update at 0x5441848>, 'get_policy_target': <function get_policy_target at 0x5441c80>, '_allowed': <function _allowed at 0x5441de8>, '__repr__': <function __repr__ at 0x5441758>, 'allowed': <function allowed at 0x5441c08>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5441d70>}, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n ', '__init__': <function __init__ at 0x54419b0>}
LaunchLink.classes = ('btn-launch', 'ajax-modal')
LaunchLink.name = 'launch'
LaunchLink.url = 'horizon:project:databases:launch'
LaunchLink.verbose_name = <django.utils.functional.__proxy__ object at 0x71a9390>
class openstack_dashboard.dashboards.project.databases.tables.RestartInstance(**kwargs)[source]

Bases: horizon.tables.actions.BatchAction

RestartInstance.action(request, obj_id)[source]
RestartInstance.action_past = <django.utils.functional.__proxy__ object at 0x71a7e10>
RestartInstance.action_present = <django.utils.functional.__proxy__ object at 0x71a7dd0>
RestartInstance.allowed(request, instance=None)[source]
RestartInstance.base_options = {'__module__': 'openstack_dashboard.dashboards.project.databases.tables', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_singular': <django.utils.functional.__proxy__ object at 0x71a7e50>, 'update': <function update at 0x546ab18>, 'get_success_url': <function get_success_url at 0x546ab90>, 'get_policy_target': <function get_policy_target at 0x5441c80>, 'allowed': <function allowed at 0x71bd9b0>, 'handle': <function handle at 0x546ac08>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x54417d0>, 'update': <function update at 0x5441848>, 'get_policy_target': <function get_policy_target at 0x5441c80>, '_allowed': <function _allowed at 0x5441de8>, '__repr__': <function __repr__ at 0x5441758>, 'allowed': <function allowed at 0x5441c08>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5441d70>}, '__init__': <function __init__ at 0x546a938>, 'name': 'restart', 'data_type_plural': <django.utils.functional.__proxy__ object at 0x71a7e90>, 'action_present': <django.utils.functional.__proxy__ object at 0x71a7dd0>, 'action_past': <django.utils.functional.__proxy__ object at 0x71a7e10>, 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x54417d0>, 'get_param_name': <function get_param_name at 0x5441a28>, '_allowed': <function _allowed at 0x546a9b0>, 'classes': ('btn-danger', 'btn-reboot'), '_get_action_name': <function _get_action_name at 0x546aa28>, '__repr__': <function __repr__ at 0x5441758>, 'action': <function action at 0x71bda28>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, '__doc__': 'A table action which takes batch action on one or more\n objects. This action should not require user input on a\n per-object basis.\n\n .. attribute:: name\n\n An internal name for this action.\n\n .. attribute:: action_present\n\n String or tuple/list. The display forms of the name.\n Should be a transitive verb, capitalized and translated. ("Delete",\n "Rotate", etc.) If tuple or list - then setting\n self.current_present_action = n will set the current active item\n from the list(action_present[n])\n\n You can pass a complete action name including \'data_type\' by specifying\n \'%(data_type)s\' substitution in action_present ("Delete %(data_type)s").\n Otherwise a complete action name is a format of "<action> <data_type>".\n <data_type> is determined based on the number of items.\n By passing a complete action name you allow translators to control\n the order of words as they want.\n\n .. attribute:: action_past\n\n String or tuple/list. The past tense of action_present. ("Deleted",\n "Rotated", etc.) If tuple or list - then\n setting self.current_past_action = n will set the current active item\n from the list(action_past[n])\n\n .. attribute:: data_type_singular\n\n A display name for the type of data that receives the\n action. ("Key Pair", "Floating IP", etc.)\n\n .. attribute:: data_type_plural\n\n Optional plural word for the type of data being acted\n on. Defaults to appending \'s\'. Relying on the default is bad\n for translations and should not be done.\n\n .. attribute:: success_url\n\n Optional location to redirect after completion of the delete\n action. Defaults to the current page.\n '}
RestartInstance.classes = ('btn-danger', 'btn-reboot')
RestartInstance.data_type_plural = <django.utils.functional.__proxy__ object at 0x71a7e90>
RestartInstance.data_type_singular = <django.utils.functional.__proxy__ object at 0x71a7e50>
RestartInstance.name = 'restart'
class openstack_dashboard.dashboards.project.databases.tables.TerminateInstance(**kwargs)[source]

Bases: horizon.tables.actions.BatchAction

TerminateInstance.action(request, obj_id)[source]
TerminateInstance.action_past = <django.utils.functional.__proxy__ object at 0x71a7b50>
TerminateInstance.action_present = <django.utils.functional.__proxy__ object at 0x7194f50>
TerminateInstance.base_options = {'__module__': 'openstack_dashboard.dashboards.project.databases.tables', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_singular': <django.utils.functional.__proxy__ object at 0x71a7b90>, 'update': <function update at 0x546ab18>, 'get_success_url': <function get_success_url at 0x546ab90>, 'get_policy_target': <function get_policy_target at 0x5441c80>, 'allowed': <function allowed at 0x5441c08>, 'handle': <function handle at 0x546ac08>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x54417d0>, 'update': <function update at 0x5441848>, 'get_policy_target': <function get_policy_target at 0x5441c80>, '_allowed': <function _allowed at 0x5441de8>, '__repr__': <function __repr__ at 0x5441758>, 'allowed': <function allowed at 0x5441c08>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5441d70>}, '__init__': <function __init__ at 0x546a938>, 'name': 'terminate', 'data_type_plural': <django.utils.functional.__proxy__ object at 0x71a7d90>, 'action_present': <django.utils.functional.__proxy__ object at 0x7194f50>, 'action_past': <django.utils.functional.__proxy__ object at 0x71a7b50>, 'data_type_matched': <function data_type_matched at 0x5441320>, 'get_default_classes': <function get_default_classes at 0x54417d0>, 'get_param_name': <function get_param_name at 0x5441a28>, '_allowed': <function _allowed at 0x546a9b0>, 'classes': ('btn-danger', 'btn-terminate'), '_get_action_name': <function _get_action_name at 0x546aa28>, '__repr__': <function __repr__ at 0x5441758>, 'action': <function action at 0x71bd938>, 'get_default_attrs': <function get_default_attrs at 0x5441140>, '__doc__': 'A table action which takes batch action on one or more\n objects. This action should not require user input on a\n per-object basis.\n\n .. attribute:: name\n\n An internal name for this action.\n\n .. attribute:: action_present\n\n String or tuple/list. The display forms of the name.\n Should be a transitive verb, capitalized and translated. ("Delete",\n "Rotate", etc.) If tuple or list - then setting\n self.current_present_action = n will set the current active item\n from the list(action_present[n])\n\n You can pass a complete action name including \'data_type\' by specifying\n \'%(data_type)s\' substitution in action_present ("Delete %(data_type)s").\n Otherwise a complete action name is a format of "<action> <data_type>".\n <data_type> is determined based on the number of items.\n By passing a complete action name you allow translators to control\n the order of words as they want.\n\n .. attribute:: action_past\n\n String or tuple/list. The past tense of action_present. ("Deleted",\n "Rotated", etc.) If tuple or list - then\n setting self.current_past_action = n will set the current active item\n from the list(action_past[n])\n\n .. attribute:: data_type_singular\n\n A display name for the type of data that receives the\n action. ("Key Pair", "Floating IP", etc.)\n\n .. attribute:: data_type_plural\n\n Optional plural word for the type of data being acted\n on. Defaults to appending \'s\'. Relying on the default is bad\n for translations and should not be done.\n\n .. attribute:: success_url\n\n Optional location to redirect after completion of the delete\n action. Defaults to the current page.\n '}
TerminateInstance.classes = ('btn-danger', 'btn-terminate')
TerminateInstance.data_type_plural = <django.utils.functional.__proxy__ object at 0x71a7d90>
TerminateInstance.data_type_singular = <django.utils.functional.__proxy__ object at 0x71a7b90>
TerminateInstance.name = 'terminate'
class openstack_dashboard.dashboards.project.databases.tables.UpdateRow(table, datum=None)[source]

Bases: horizon.tables.base.Row

UpdateRow.ajax = True
UpdateRow.get_data(request, instance_id)[source]
class openstack_dashboard.dashboards.project.databases.tables.UsersTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

class UsersTable.Meta[source]
UsersTable.Meta.name = 'users'
UsersTable.Meta.row_actions = [<class 'openstack_dashboard.dashboards.project.databases.tables.DeleteUser'>]
UsersTable.Meta.table_actions = [<class 'openstack_dashboard.dashboards.project.databases.tables.DeleteUser'>]
UsersTable.Meta.verbose_name = <django.utils.functional.__proxy__ object at 0x71a9f90>
UsersTable.base_actions = {'delete': <DeleteUser: delete>}
UsersTable.base_columns = {'name': <Column: name>, 'host': <Column: host>, 'databases': <Column: databases>}
UsersTable.get_object_id(datum)[source]
openstack_dashboard.dashboards.project.databases.tables.get_databases(user)[source]
openstack_dashboard.dashboards.project.databases.tables.get_size(instance)[source]

Previous topic

The openstack_dashboard.dashboards.project.vpn.workflows Module

Next topic

The openstack_dashboard.dashboards.project.databases.tests Module

This Page