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 0x478b848>, 'get_link_url': <function get_link_url at 0x66af7d0>, 'allowed': <function allowed at 0x66af758>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x478b7d0>, 'update': <function update at 0x478b848>, 'get_policy_target': <function get_policy_target at 0x478bc80>, '_allowed': <function _allowed at 0x478bde8>, '__repr__': <function __repr__ at 0x478b758>, 'allowed': <function allowed at 0x478bc08>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x478bd70>}, '__init__': <function __init__ at 0x478b9b0>, 'name': 'backup', 'url': 'horizon:project:database_backups:create', 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x478b7d0>, 'get_policy_target': <function get_policy_target at 0x478bc80>, '_allowed': <function _allowed at 0x478bde8>, 'classes': ('ajax-modal', 'btn-camera'), '__repr__': <function __repr__ at 0x478b758>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, 'verbose_name': <django.utils.functional.__proxy__ object at 0x66b71d0>, '__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 0x66b71d0>
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 0x66b6150>
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 0x66b4f50>
DeleteDatabase.action_present = <django.utils.functional.__proxy__ object at 0x66b4e90>
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 0x66b4fd0>, 'update': <function update at 0x47b4b18>, 'get_success_url': <function get_success_url at 0x47b4b90>, 'get_param_name': <function get_param_name at 0x478ba28>, 'allowed': <function allowed at 0x478bc08>, 'handle': <function handle at 0x47b4c08>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x478b7d0>, 'update': <function update at 0x478b848>, 'get_policy_target': <function get_policy_target at 0x478bc80>, '_allowed': <function _allowed at 0x478bde8>, '__repr__': <function __repr__ at 0x478b758>, 'allowed': <function allowed at 0x478bc08>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x478bd70>}, '__init__': <function __init__ at 0x47b4c80>, 'name': 'delete', 'data_type_plural': <django.utils.functional.__proxy__ object at 0x66b7090>, 'action_present': <django.utils.functional.__proxy__ object at 0x66b4e90>, 'action_past': <django.utils.functional.__proxy__ object at 0x66b4f50>, 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x47b4de8>, 'get_policy_target': <function get_policy_target at 0x478bc80>, '_allowed': <function _allowed at 0x47b49b0>, '_get_action_name': <function _get_action_name at 0x47b4a28>, '__repr__': <function __repr__ at 0x478b758>, 'action': <function action at 0x47b4cf8>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, '__doc__': 'Doc missing.', 'delete': <function delete at 0x66af6e0>}
DeleteDatabase.data_type_plural = <django.utils.functional.__proxy__ object at 0x66b7090>
DeleteDatabase.data_type_singular = <django.utils.functional.__proxy__ object at 0x66b4fd0>
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 0x66b4d10>
DeleteUser.action_present = <django.utils.functional.__proxy__ object at 0x66b4c50>
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 0x66b4d90>, 'update': <function update at 0x47b4b18>, 'get_success_url': <function get_success_url at 0x47b4b90>, 'get_param_name': <function get_param_name at 0x478ba28>, 'allowed': <function allowed at 0x478bc08>, 'handle': <function handle at 0x47b4c08>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x478b7d0>, 'update': <function update at 0x478b848>, 'get_policy_target': <function get_policy_target at 0x478bc80>, '_allowed': <function _allowed at 0x478bde8>, '__repr__': <function __repr__ at 0x478b758>, 'allowed': <function allowed at 0x478bc08>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x478bd70>}, '__init__': <function __init__ at 0x47b4c80>, 'name': 'delete', 'data_type_plural': <django.utils.functional.__proxy__ object at 0x66b4e10>, 'action_present': <django.utils.functional.__proxy__ object at 0x66b4c50>, 'action_past': <django.utils.functional.__proxy__ object at 0x66b4d10>, 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x47b4de8>, 'get_policy_target': <function get_policy_target at 0x478bc80>, '_allowed': <function _allowed at 0x47b49b0>, '_get_action_name': <function _get_action_name at 0x47b4a28>, '__repr__': <function __repr__ at 0x478b758>, 'action': <function action at 0x47b4cf8>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, '__doc__': 'Doc missing.', 'delete': <function delete at 0x66af668>}
DeleteUser.data_type_plural = <django.utils.functional.__proxy__ object at 0x66b4e10>
DeleteUser.data_type_singular = <django.utils.functional.__proxy__ object at 0x66b4d90>
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 0x66b66d0>
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 0x66b7690>
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 0x478bde8>, 'url': 'horizon:project:databases:launch', 'verbose_name': <django.utils.functional.__proxy__ object at 0x66b7110>, 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x478b7d0>, 'update': <function update at 0x478b848>, 'get_policy_target': <function get_policy_target at 0x478bc80>, 'get_link_url': <function get_link_url at 0x47b4140>, 'classes': ('btn-launch', 'ajax-modal'), '__repr__': <function __repr__ at 0x478b758>, 'allowed': <function allowed at 0x478bc08>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x478b7d0>, 'update': <function update at 0x478b848>, 'get_policy_target': <function get_policy_target at 0x478bc80>, '_allowed': <function _allowed at 0x478bde8>, '__repr__': <function __repr__ at 0x478b758>, 'allowed': <function allowed at 0x478bc08>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x478bd70>}, '__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 0x478b9b0>}
LaunchLink.classes = ('btn-launch', 'ajax-modal')
LaunchLink.name = 'launch'
LaunchLink.url = 'horizon:project:databases:launch'
LaunchLink.verbose_name = <django.utils.functional.__proxy__ object at 0x66b7110>
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 0x66b4a90>
RestartInstance.action_present = <django.utils.functional.__proxy__ object at 0x66b49d0>
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 0x66b4b10>, 'update': <function update at 0x47b4b18>, 'get_success_url': <function get_success_url at 0x47b4b90>, 'get_policy_target': <function get_policy_target at 0x478bc80>, 'allowed': <function allowed at 0x66af578>, 'handle': <function handle at 0x47b4c08>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x478b7d0>, 'update': <function update at 0x478b848>, 'get_policy_target': <function get_policy_target at 0x478bc80>, '_allowed': <function _allowed at 0x478bde8>, '__repr__': <function __repr__ at 0x478b758>, 'allowed': <function allowed at 0x478bc08>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x478bd70>}, '__init__': <function __init__ at 0x47b4938>, 'name': 'restart', 'data_type_plural': <django.utils.functional.__proxy__ object at 0x66b4b90>, 'action_present': <django.utils.functional.__proxy__ object at 0x66b49d0>, 'action_past': <django.utils.functional.__proxy__ object at 0x66b4a90>, 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x478b7d0>, 'get_param_name': <function get_param_name at 0x478ba28>, '_allowed': <function _allowed at 0x47b49b0>, 'classes': ('btn-danger', 'btn-reboot'), '_get_action_name': <function _get_action_name at 0x47b4a28>, '__repr__': <function __repr__ at 0x478b758>, 'action': <function action at 0x66af5f0>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, '__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 0x66b4b90>
RestartInstance.data_type_singular = <django.utils.functional.__proxy__ object at 0x66b4b10>
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 0x66b4850>
TerminateInstance.action_present = <django.utils.functional.__proxy__ object at 0x66b47d0>
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 0x66b48d0>, 'update': <function update at 0x47b4b18>, 'get_success_url': <function get_success_url at 0x47b4b90>, 'get_policy_target': <function get_policy_target at 0x478bc80>, 'allowed': <function allowed at 0x478bc08>, 'handle': <function handle at 0x47b4c08>, 'base_options': {'__module__': 'horizon.tables.actions', '__metaclass__': <class 'horizon.tables.actions.BaseActionMetaClass'>, 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x478b7d0>, 'update': <function update at 0x478b848>, 'get_policy_target': <function get_policy_target at 0x478bc80>, '_allowed': <function _allowed at 0x478bde8>, '__repr__': <function __repr__ at 0x478b758>, 'allowed': <function allowed at 0x478bc08>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x478bd70>}, '__init__': <function __init__ at 0x47b4938>, 'name': 'terminate', 'data_type_plural': <django.utils.functional.__proxy__ object at 0x66b4950>, 'action_present': <django.utils.functional.__proxy__ object at 0x66b47d0>, 'action_past': <django.utils.functional.__proxy__ object at 0x66b4850>, 'data_type_matched': <function data_type_matched at 0x478b320>, 'get_default_classes': <function get_default_classes at 0x478b7d0>, 'get_param_name': <function get_param_name at 0x478ba28>, '_allowed': <function _allowed at 0x47b49b0>, 'classes': ('btn-danger', 'btn-terminate'), '_get_action_name': <function _get_action_name at 0x47b4a28>, '__repr__': <function __repr__ at 0x478b758>, 'action': <function action at 0x66af500>, 'get_default_attrs': <function get_default_attrs at 0x478b140>, '__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 0x66b4950>
TerminateInstance.data_type_singular = <django.utils.functional.__proxy__ object at 0x66b48d0>
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 0x66b7d10>
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