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

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

Bases: horizon.tables.actions.LinkAction

base_options = {'__module__': 'openstack_dashboard.dashboards.project.stacks.tables', 'render': <function render at 0x2b7a958b3488>, 'update': <function update at 0x2b7a958b30c8>, 'get_link_url': <function get_link_url at 0x2b7a9ed7a500>, 'ajax': False, 'allowed': <function allowed at 0x2b7a95053f50>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'update': <function update at 0x2b7a958b30c8>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3050>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'allowed': <function allowed at 0x2b7a95053f50>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7a95053de8>}, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, '__init__': <function __init__ at 0x2b7a958b3398>, 'icon': 'pencil', 'name': 'edit', 'url': 'horizon:project:stacks:change_template', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b3500>, '_allowed': <function _allowed at 0x2b7a958b3050>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x2b7a958b3230>, 'get_ajax_update_url': <function get_ajax_update_url at 0x2b7a958b3410>, 'verbose_name': <django.utils.functional.__proxy__ object at 0x2b7a9cd42990>, '__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 '}
classes = ('ajax-modal',)
get_link_url(stack)[source]
icon = 'pencil'
name = 'edit'
url = 'horizon:project:stacks:change_template'
verbose_name = <django.utils.functional.__proxy__ object>
class openstack_dashboard.dashboards.project.stacks.tables.CheckStack(**kwargs)[source]

Bases: horizon.tables.actions.BatchAction

action(request, stack_id)[source]
static action_past(count)[source]
static action_present(count)[source]
base_options = {'__module__': 'openstack_dashboard.dashboards.project.stacks.tables', 'handle': <function handle at 0x2b7a958b3e60>, 'update': <function update at 0x2b7a958b3cf8>, 'policy_rules': (('orchestration', 'cloudformation:CheckStack'),), 'get_success_url': <function get_success_url at 0x2b7a958b3d70>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'allowed': <function allowed at 0x2b7a95053f50>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b7a94f05d90>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'update': <function update at 0x2b7a958b30c8>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3050>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'allowed': <function allowed at 0x2b7a95053f50>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7a95053de8>}, '__init__': <function __init__ at 0x2b7a958b3b18>, 'icon': 'check-square', 'name': 'check', 'action_present': <staticmethod object at 0x2b7a9e270d00>, 'action_past': <staticmethod object at 0x2b7a9e683de0>, 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'get_param_name': <function get_param_name at 0x2b7a958b3320>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3b90>, '_get_action_name': <function _get_action_name at 0x2b7a958b3c08>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'action': <function action at 0x2b7a9ed7a1b8>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b3de8>, 'verbose_name': <django.utils.functional.__proxy__ object at 0x2b7a983128d0>, '__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 .. method:: action_present\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_present (Deprecated)\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 NOTE: action_present attribute is bad for translations and should be\n avoided. Please use the action_present method instead.\n This form is kept for legacy.\n\n .. method:: action_past\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_past (Deprecated)\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 NOTE: action_past attribute is bad for translations and should be\n avoided. Please use the action_past method instead.\n This form is kept for legacy.\n\n .. attribute:: data_type_singular (Deprecated)\n\n Optional display name (if the data_type method is not defined) for the\n type of data that receives the action. ("Key Pair", "Floating IP", etc.)\n\n .. attribute:: data_type_plural (Deprecated)\n\n Optional plural word (if the data_type method is not defined) for the\n type of data being acted on. Defaults to appending \'s\'. Relying on the\n default is bad for translations and should not be done, so it\'s absence\n will raise a DeprecationWarning. It is currently kept as optional for\n legacy code.\n\n NOTE: data_type_singular and data_type_plural attributes are bad for\n translations and should not be used. Please use the action_present and\n action_past methods. This form is kept temporarily for legacy code but\n will be removed.\n\n .. attribute:: success_url\n\n Optional location to redirect after completion of the delete\n action. Defaults to the current page.\n\n .. attribute:: help_text\n\n Optional message for providing an appropriate help text for\n the horizon user.\n '}
icon = 'check-square'
name = 'check'
policy_rules = (('orchestration', 'cloudformation:CheckStack'),)
verbose_name = <django.utils.functional.__proxy__ object>
class openstack_dashboard.dashboards.project.stacks.tables.DeleteStack(**kwargs)[source]

Bases: horizon.tables.actions.DeleteAction

static action_past(count)[source]
static action_present(count)[source]
allowed(request, stack)[source]
base_options = {'__module__': 'openstack_dashboard.dashboards.project.stacks.tables', 'handle': <function handle at 0x2b7a958b3e60>, 'update': <function update at 0x2b7a958b3cf8>, 'policy_rules': (('orchestration', 'cloudformation:DeleteStack'),), 'get_success_url': <function get_success_url at 0x2b7a958b3d70>, 'get_param_name': <function get_param_name at 0x2b7a958b3320>, 'allowed': <function allowed at 0x2b7a9ed7a6e0>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b7a94f05d90>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'update': <function update at 0x2b7a958b30c8>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3050>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'allowed': <function allowed at 0x2b7a95053f50>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7a95053de8>}, '__init__': <function __init__ at 0x2b7a958b3ed8>, 'name': 'delete', 'action_present': <staticmethod object at 0x2b7a9e95dc58>, 'action_past': <staticmethod object at 0x2b7a9e9fdec0>, 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958c20c8>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3b90>, '_get_action_name': <function _get_action_name at 0x2b7a958b3c08>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'action': <function action at 0x2b7a958b3f50>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b3de8>, '__doc__': 'A table action used to perform delete operations on table data.\n\n .. attribute:: name\n\n A short name or "slug" representing this action.\n Defaults to \'delete\'\n\n .. method:: action_present\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_present (Deprecated)\n\n A string containing the transitive verb describing the delete action.\n Defaults to \'Delete\'\n\n NOTE: action_present attribute is bad for translations and should be\n avoided. Please use the action_present method instead.\n This form is kept for legacy.\n\n .. method:: action_past\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_past (Deprecated)\n\n A string set to the past tense of action_present.\n Defaults to \'Deleted\'\n\n NOTE: action_past attribute is bad for translations and should be\n avoided. Please use the action_past method instead.\n This form is kept for legacy.\n\n .. attribute:: data_type_singular (Deprecated)\n\n A string used to name the data to be deleted.\n\n .. attribute:: data_type_plural (Deprecated)\n\n Optional. Plural of ``data_type_singular``.\n Defaults to ``data_type_singular`` appended with an \'s\'. Relying on\n the default is bad for translations and should not be done, so it\'s\n absence will raise a DeprecationWarning. It is currently kept as\n optional for legacy code.\n\n NOTE: data_type_singular and data_type_plural attributes are bad for\n translations and should not be used. Please use the action_present and\n action_past methods. This form is kept temporarily for legacy code but\n will be removed.\n ', 'delete': <function delete at 0x2b7a9ed7a668>}
delete(request, stack_id)[source]
policy_rules = (('orchestration', 'cloudformation:DeleteStack'),)
class openstack_dashboard.dashboards.project.stacks.tables.EventsTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

class Meta[source]

Bases: object

name = 'events'
verbose_name = <django.utils.functional.__proxy__ object>
EventsTable.base_actions = OrderedDict()
EventsTable.base_columns = OrderedDict([('logical_resource', <Column: logical_resource>), ('physical_resource', <Column: physical_resource>), ('timestamp', <Column: timestamp>), ('status', <Column: status>), ('statusreason', <Column: statusreason>)])
class openstack_dashboard.dashboards.project.stacks.tables.LaunchStack(attrs=None, **kwargs)[source]

Bases: horizon.tables.actions.LinkAction

base_options = {'__module__': 'openstack_dashboard.dashboards.project.stacks.tables', 'render': <function render at 0x2b7a958b3488>, 'update': <function update at 0x2b7a958b30c8>, 'policy_rules': (('orchestration', 'cloudformation:CreateStack'),), 'get_link_url': <function get_link_url at 0x2b7a958b3578>, 'ajax': False, 'allowed': <function allowed at 0x2b7a95053f50>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'update': <function update at 0x2b7a958b30c8>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3050>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'allowed': <function allowed at 0x2b7a95053f50>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7a95053de8>}, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, '__init__': <function __init__ at 0x2b7a958b3398>, 'icon': 'plus', 'name': 'launch', 'url': 'horizon:project:stacks:select_template', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b3500>, '_allowed': <function _allowed at 0x2b7a958b3050>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x2b7a958b3230>, 'get_ajax_update_url': <function get_ajax_update_url at 0x2b7a958b3410>, 'verbose_name': <django.utils.functional.__proxy__ object at 0x2b7a98312ad0>, '__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 '}
classes = ('ajax-modal',)
icon = 'plus'
name = 'launch'
policy_rules = (('orchestration', 'cloudformation:CreateStack'),)
url = 'horizon:project:stacks:select_template'
verbose_name = <django.utils.functional.__proxy__ object>
class openstack_dashboard.dashboards.project.stacks.tables.PreviewStack(attrs=None, **kwargs)[source]

Bases: horizon.tables.actions.LinkAction

base_options = {'__module__': 'openstack_dashboard.dashboards.project.stacks.tables', 'render': <function render at 0x2b7a958b3488>, 'update': <function update at 0x2b7a958b30c8>, 'policy_rules': (('orchestration', 'cloudformation:PreviewStack'),), 'get_link_url': <function get_link_url at 0x2b7a958b3578>, 'ajax': False, 'allowed': <function allowed at 0x2b7a95053f50>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'update': <function update at 0x2b7a958b30c8>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3050>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'allowed': <function allowed at 0x2b7a95053f50>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7a95053de8>}, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, '__init__': <function __init__ at 0x2b7a958b3398>, 'icon': 'eye', 'name': 'preview', 'url': 'horizon:project:stacks:preview_template', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b3500>, '_allowed': <function _allowed at 0x2b7a958b3050>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x2b7a958b3230>, 'get_ajax_update_url': <function get_ajax_update_url at 0x2b7a958b3410>, 'verbose_name': <django.utils.functional.__proxy__ object at 0x2b7a983122d0>, '__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 '}
classes = ('ajax-modal',)
icon = 'eye'
name = 'preview'
policy_rules = (('orchestration', 'cloudformation:PreviewStack'),)
url = 'horizon:project:stacks:preview_template'
verbose_name = <django.utils.functional.__proxy__ object>
class openstack_dashboard.dashboards.project.stacks.tables.ResourcesTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

class Meta[source]

Bases: object

name = 'resources'
row_class

alias of ResourcesUpdateRow

status_columns = ['status_hidden']
verbose_name = <django.utils.functional.__proxy__ object>
ResourcesTable.STATUS_CHOICES = (('Complete', True), ('Failed', False))
ResourcesTable.STATUS_DISPLAY_CHOICES = (('init_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9a259910>), ('init_complete', <django.utils.functional.__proxy__ object at 0x2b7a9a259050>), ('init_failed', <django.utils.functional.__proxy__ object at 0x2b7a9a259fd0>), ('create_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9cf51650>), ('create_complete', <django.utils.functional.__proxy__ object at 0x2b7a9cf51b90>), ('create_failed', <django.utils.functional.__proxy__ object at 0x2b7a9cf51f90>), ('delete_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9cf51a10>), ('delete_complete', <django.utils.functional.__proxy__ object at 0x2b7a9cf51fd0>), ('delete_failed', <django.utils.functional.__proxy__ object at 0x2b7a9cf51c50>), ('update_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9de18a50>), ('update_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9090>), ('update_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9710>), ('rollback_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9590>), ('rollback_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c90d0>), ('rollback_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9dd0>), ('suspend_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9cd0>), ('suspend_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9810>), ('suspend_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9510>), ('resume_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9a10>), ('resume_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9610>), ('resume_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9990>), ('adopt_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9690>), ('adopt_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9f90>), ('adopt_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9bd0>), ('snapshot_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9ad0>), ('snapshot_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9290>), ('snapshot_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9b50>), ('check_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c98d0>), ('check_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9150>), ('check_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9d90>))
class ResourcesTable.StatusColumn(transform, verbose_name=None, sortable=True, link=None, allowed_data_types=None, hidden=False, attrs=None, status=False, status_choices=None, display_choices=None, empty_value=None, filters=None, classes=None, summation=None, auto=None, truncate=None, link_classes=None, wrap_list=False, form_field=None, form_field_attributes=None, update_action=None, link_attrs=None, cell_attributes_getter=None, help_text=None)[source]

Bases: horizon.tables.base.Column

get_raw_data(datum)[source]
ResourcesTable.base_actions = OrderedDict()
ResourcesTable.base_columns = OrderedDict([('logical_resource', <Column: logical_resource>), ('physical_resource', <Column: physical_resource>), ('resource_type', <Column: resource_type>), ('updated_time', <Column: updated_time>), ('status', <Column: status>), ('statusreason', <Column: statusreason>), ('status_hidden', <StatusColumn: status_hidden>)])
ResourcesTable.get_object_id(datum)[source]
class openstack_dashboard.dashboards.project.stacks.tables.ResourcesUpdateRow(table, datum=None)[source]

Bases: horizon.tables.base.Row

ajax = True
get_data(request, resource_name)[source]
class openstack_dashboard.dashboards.project.stacks.tables.ResumeStack(**kwargs)[source]

Bases: horizon.tables.actions.BatchAction

action(request, stack_id)[source]
static action_past(count)[source]
static action_present(count)[source]
base_options = {'__module__': 'openstack_dashboard.dashboards.project.stacks.tables', 'handle': <function handle at 0x2b7a958b3e60>, 'update': <function update at 0x2b7a958b3cf8>, 'policy_rules': (('orchestration', 'cloudformation:ResumeStack'),), 'get_success_url': <function get_success_url at 0x2b7a958b3d70>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'allowed': <function allowed at 0x2b7a95053f50>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b7a94f05d90>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'update': <function update at 0x2b7a958b30c8>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3050>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'allowed': <function allowed at 0x2b7a95053f50>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7a95053de8>}, '__init__': <function __init__ at 0x2b7a958b3b18>, 'icon': 'play', 'name': 'resume', 'action_present': <staticmethod object at 0x2b7a9e6d8c20>, 'action_past': <staticmethod object at 0x2b7a9ee774b0>, 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'get_param_name': <function get_param_name at 0x2b7a958b3320>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3b90>, '_get_action_name': <function _get_action_name at 0x2b7a958b3c08>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'action': <function action at 0x2b7a9ed7a488>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b3de8>, 'verbose_name': <django.utils.functional.__proxy__ object at 0x2b7a9c8bad90>, '__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 .. method:: action_present\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_present (Deprecated)\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 NOTE: action_present attribute is bad for translations and should be\n avoided. Please use the action_present method instead.\n This form is kept for legacy.\n\n .. method:: action_past\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_past (Deprecated)\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 NOTE: action_past attribute is bad for translations and should be\n avoided. Please use the action_past method instead.\n This form is kept for legacy.\n\n .. attribute:: data_type_singular (Deprecated)\n\n Optional display name (if the data_type method is not defined) for the\n type of data that receives the action. ("Key Pair", "Floating IP", etc.)\n\n .. attribute:: data_type_plural (Deprecated)\n\n Optional plural word (if the data_type method is not defined) for the\n type of data being acted on. Defaults to appending \'s\'. Relying on the\n default is bad for translations and should not be done, so it\'s absence\n will raise a DeprecationWarning. It is currently kept as optional for\n legacy code.\n\n NOTE: data_type_singular and data_type_plural attributes are bad for\n translations and should not be used. Please use the action_present and\n action_past methods. This form is kept temporarily for legacy code but\n will be removed.\n\n .. attribute:: success_url\n\n Optional location to redirect after completion of the delete\n action. Defaults to the current page.\n\n .. attribute:: help_text\n\n Optional message for providing an appropriate help text for\n the horizon user.\n '}
icon = 'play'
name = 'resume'
policy_rules = (('orchestration', 'cloudformation:ResumeStack'),)
verbose_name = <django.utils.functional.__proxy__ object>
class openstack_dashboard.dashboards.project.stacks.tables.StacksFilterAction(**kwargs)[source]

Bases: horizon.tables.actions.FilterAction

base_options = {'__module__': 'openstack_dashboard.dashboards.project.stacks.tables', 'is_api_filter': <function is_api_filter at 0x2b7a958b3848>, 'update': <function update at 0x2b7a958b30c8>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'allowed': <function allowed at 0x2b7a95053f50>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'update': <function update at 0x2b7a958b30c8>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3050>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'allowed': <function allowed at 0x2b7a95053f50>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7a95053de8>}, '__init__': <function __init__ at 0x2b7a958b35f0>, 'filter': <function filter at 0x2b7a9ed7a848>, 'name': 'filter', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'get_param_name': <function get_param_name at 0x2b7a958b3668>, '__doc__': 'A base class representing a filter action for a table.\n\n .. attribute:: name\n\n The short name or "slug" representing this action. Defaults to\n ``"filter"``.\n\n .. attribute:: verbose_name\n\n A descriptive name used for display purposes. Defaults to the\n value of ``name`` with the first letter of each word capitalized.\n\n .. attribute:: param_name\n\n A string representing the name of the request parameter used for the\n search term. Default: ``"q"``.\n\n .. attribute:: filter_type\n\n A string representing the type of this filter. If this is set to\n ``"server"`` then ``filter_choices`` must also be provided.\n Default: ``"query"``.\n\n .. attribute:: filter_choices\n\n Required for server type filters. A tuple of tuples representing the\n filter options. Tuple composition should evaluate to (string, string,\n boolean), representing the filter parameter, display value, and whether\n or not it should be applied to the API request as an API query\n attribute. API type filters do not need to be accounted for in the\n filter method since the API will do the filtering. However, server\n type filters in general will need to be performed in the filter method.\n By default this attribute is not provided.\n\n .. attribute:: needs_preloading\n\n If True, the filter function will be called for the initial\n GET request with an empty ``filter_string``, regardless of the\n value of ``method``.\n ', 'data_type_filter': <function data_type_filter at 0x2b7a958b3758>, '_allowed': <function _allowed at 0x2b7a958b3050>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, 'assign_type_string': <function assign_type_string at 0x2b7a958b36e0>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>}
filter(table, stacks, filter_string)[source]

Naive case-insensitive search.

class openstack_dashboard.dashboards.project.stacks.tables.StacksTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

class Meta[source]

Bases: object

name = 'stacks'
pagination_param = 'stack_marker'
row_actions = (<class 'openstack_dashboard.dashboards.project.stacks.tables.CheckStack'>, <class 'openstack_dashboard.dashboards.project.stacks.tables.SuspendStack'>, <class 'openstack_dashboard.dashboards.project.stacks.tables.ResumeStack'>, <class 'openstack_dashboard.dashboards.project.stacks.tables.ChangeStackTemplate'>, <class 'openstack_dashboard.dashboards.project.stacks.tables.DeleteStack'>)
row_class

alias of StacksUpdateRow

status_columns = ['status']
table_actions = (<class 'openstack_dashboard.dashboards.project.stacks.tables.LaunchStack'>, <class 'openstack_dashboard.dashboards.project.stacks.tables.PreviewStack'>, <class 'openstack_dashboard.dashboards.project.stacks.tables.CheckStack'>, <class 'openstack_dashboard.dashboards.project.stacks.tables.SuspendStack'>, <class 'openstack_dashboard.dashboards.project.stacks.tables.ResumeStack'>, <class 'openstack_dashboard.dashboards.project.stacks.tables.DeleteStack'>, <class 'openstack_dashboard.dashboards.project.stacks.tables.StacksFilterAction'>)
verbose_name = <django.utils.functional.__proxy__ object>
StacksTable.STACK_STATUS_DISPLAY_CHOICES = (('init_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9a259910>), ('init_complete', <django.utils.functional.__proxy__ object at 0x2b7a9a259050>), ('init_failed', <django.utils.functional.__proxy__ object at 0x2b7a9a259fd0>), ('create_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9cf51650>), ('create_complete', <django.utils.functional.__proxy__ object at 0x2b7a9cf51b90>), ('create_failed', <django.utils.functional.__proxy__ object at 0x2b7a9cf51f90>), ('delete_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9cf51a10>), ('delete_complete', <django.utils.functional.__proxy__ object at 0x2b7a9cf51fd0>), ('delete_failed', <django.utils.functional.__proxy__ object at 0x2b7a9cf51c50>), ('update_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9de18a50>), ('update_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9090>), ('update_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9710>), ('rollback_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9590>), ('rollback_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c90d0>), ('rollback_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9dd0>), ('suspend_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9cd0>), ('suspend_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9810>), ('suspend_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9510>), ('resume_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9a10>), ('resume_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9610>), ('resume_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9990>), ('adopt_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9690>), ('adopt_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9f90>), ('adopt_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9bd0>), ('snapshot_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9ad0>), ('snapshot_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9290>), ('snapshot_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9b50>), ('check_in_progress', <django.utils.functional.__proxy__ object at 0x2b7a9e4c98d0>), ('check_complete', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9150>), ('check_failed', <django.utils.functional.__proxy__ object at 0x2b7a9e4c9d90>))
StacksTable.STATUS_CHOICES = (('Complete', True), ('Failed', False))
StacksTable.base_actions = OrderedDict([('check', <CheckStack: check>), ('delete', <DeleteStack: delete>), ('edit', <ChangeStackTemplate: edit>), ('filter', <StacksFilterAction: filter>), ('launch', <LaunchStack: launch>), ('preview', <PreviewStack: preview>), ('resume', <ResumeStack: resume>), ('suspend', <SuspendStack: suspend>)])
StacksTable.base_columns = OrderedDict([('name', <Column: name>), ('created', <Column: created>), ('updated', <Column: updated>), ('status', <Column: status>), ('stack_status', <Column: stack_status>)])
StacksTable.get_object_display(stack)[source]
class openstack_dashboard.dashboards.project.stacks.tables.StacksUpdateRow(table, datum=None)[source]

Bases: horizon.tables.base.Row

ajax = True
can_be_selected(datum)[source]
get_data(request, stack_id)[source]
class openstack_dashboard.dashboards.project.stacks.tables.SuspendStack(**kwargs)[source]

Bases: horizon.tables.actions.BatchAction

action(request, stack_id)[source]
static action_past(count)[source]
static action_present(count)[source]
base_options = {'__module__': 'openstack_dashboard.dashboards.project.stacks.tables', 'handle': <function handle at 0x2b7a958b3e60>, 'update': <function update at 0x2b7a958b3cf8>, 'policy_rules': (('orchestration', 'cloudformation:SuspendStack'),), 'get_success_url': <function get_success_url at 0x2b7a958b3d70>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'allowed': <function allowed at 0x2b7a95053f50>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b7a94f05d90>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'update': <function update at 0x2b7a958b30c8>, 'get_policy_target': <function get_policy_target at 0x2b7a95053ed8>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3050>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'allowed': <function allowed at 0x2b7a95053f50>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b31b8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7a95053de8>}, '__init__': <function __init__ at 0x2b7a958b3b18>, 'icon': 'pause', 'name': 'suspend', 'action_present': <staticmethod object at 0x2b7a9e4bf868>, 'action_past': <staticmethod object at 0x2b7a9e683fd8>, 'data_type_matched': <function data_type_matched at 0x2b7a95053e60>, 'get_default_classes': <function get_default_classes at 0x2b7a958b3140>, 'get_param_name': <function get_param_name at 0x2b7a958b3320>, 'associate_with_table': <function associate_with_table at 0x2b7a958b32a8>, '_allowed': <function _allowed at 0x2b7a958b3b90>, '_get_action_name': <function _get_action_name at 0x2b7a958b3c08>, '__repr__': <function __repr__ at 0x2b7a958b3230>, 'action': <function action at 0x2b7a9ed7a320>, 'get_default_attrs': <function get_default_attrs at 0x2b7a958b3de8>, 'verbose_name': <django.utils.functional.__proxy__ object at 0x2b7a9b15e190>, '__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 .. method:: action_present\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_present (Deprecated)\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 NOTE: action_present attribute is bad for translations and should be\n avoided. Please use the action_present method instead.\n This form is kept for legacy.\n\n .. method:: action_past\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_past (Deprecated)\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 NOTE: action_past attribute is bad for translations and should be\n avoided. Please use the action_past method instead.\n This form is kept for legacy.\n\n .. attribute:: data_type_singular (Deprecated)\n\n Optional display name (if the data_type method is not defined) for the\n type of data that receives the action. ("Key Pair", "Floating IP", etc.)\n\n .. attribute:: data_type_plural (Deprecated)\n\n Optional plural word (if the data_type method is not defined) for the\n type of data being acted on. Defaults to appending \'s\'. Relying on the\n default is bad for translations and should not be done, so it\'s absence\n will raise a DeprecationWarning. It is currently kept as optional for\n legacy code.\n\n NOTE: data_type_singular and data_type_plural attributes are bad for\n translations and should not be used. Please use the action_present and\n action_past methods. This form is kept temporarily for legacy code but\n will be removed.\n\n .. attribute:: success_url\n\n Optional location to redirect after completion of the delete\n action. Defaults to the current page.\n\n .. attribute:: help_text\n\n Optional message for providing an appropriate help text for\n the horizon user.\n '}
icon = 'pause'
name = 'suspend'
policy_rules = (('orchestration', 'cloudformation:SuspendStack'),)
verbose_name = <django.utils.functional.__proxy__ object>
openstack_dashboard.dashboards.project.stacks.tables.get_resource_url(obj)[source]