The openstack_dashboard.contrib.sahara.content.data_processing.utils.acl ModuleΒΆ

class openstack_dashboard.contrib.sahara.content.data_processing.utils.acl.MakePrivate(**kwargs)[source]

Bases: openstack_dashboard.contrib.sahara.content.data_processing.utils.acl.RuleChangeAction

base_options = {'__module__': 'openstack_dashboard.contrib.sahara.content.data_processing.utils.acl', 'handle': <function handle at 0x2b7c6726fcf8>, 'update': <function update at 0x2b7c672780c8>, 'change_rule_method': <function change_rule_method at 0x2b7c69fd42a8>, 'get_success_url': <function get_success_url at 0x2b7c672789b0>, 'get_param_name': <function get_param_name at 0x2b7c67278b90>, 'allowed': <function allowed at 0x2b7c67287c80>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b7c6693dd10>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7c67287e60>, 'get_default_classes': <function get_default_classes at 0x2b7c672879b0>, 'update': <function update at 0x2b7c67287aa0>, 'get_policy_target': <function get_policy_target at 0x2b7c67287c08>, 'associate_with_table': <function associate_with_table at 0x2b7c67287758>, '_allowed': <function _allowed at 0x2b7c67287b18>, '__repr__': <function __repr__ at 0x2b7c67287500>, 'allowed': <function allowed at 0x2b7c67287c80>, 'get_default_attrs': <function get_default_attrs at 0x2b7c67287578>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7c67287ed8>}, '__init__': <function __init__ at 0x2b7c67278488>, 'name': 'make_private', 'action_present': <function action_present at 0x2b7c69e33c08>, 'action_past': <function action_past at 0x2b7c69fd40c8>, 'data_type_matched': <function data_type_matched at 0x2b7c67287e60>, 'get_default_classes': <function get_default_classes at 0x2b7c672879b0>, 'get_policy_target': <function get_policy_target at 0x2b7c67287c08>, 'associate_with_table': <function associate_with_table at 0x2b7c67287758>, '_allowed': <function _allowed at 0x2b7c67278320>, '_get_action_name': <function _get_action_name at 0x2b7c67278230>, 'rule': 'private', 'action': <function action at 0x2b7c69fd45f0>, 'get_default_attrs': <function get_default_attrs at 0x2b7c67278410>, '__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 (PendingDeprecation)\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 (PendingDeprecation)\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\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\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 be avoided. Please use the action_present and\n action_past methods. This form is kept for legacy.\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 ', '__repr__': <function __repr__ at 0x2b7c67287500>}
change_rule_method(request, datum_id, **update_kwargs)[source]
name = 'make_private'
rule = 'private'
class openstack_dashboard.contrib.sahara.content.data_processing.utils.acl.MakeProtected(**kwargs)[source]

Bases: openstack_dashboard.contrib.sahara.content.data_processing.utils.acl.RuleChangeAction

base_options = {'__module__': 'openstack_dashboard.contrib.sahara.content.data_processing.utils.acl', 'handle': <function handle at 0x2b7c6726fcf8>, 'update': <function update at 0x2b7c672780c8>, 'change_rule_method': <function change_rule_method at 0x2b7c69fd46e0>, 'get_success_url': <function get_success_url at 0x2b7c672789b0>, 'get_param_name': <function get_param_name at 0x2b7c67278b90>, 'allowed': <function allowed at 0x2b7c67287c80>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b7c6693dd10>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7c67287e60>, 'get_default_classes': <function get_default_classes at 0x2b7c672879b0>, 'update': <function update at 0x2b7c67287aa0>, 'get_policy_target': <function get_policy_target at 0x2b7c67287c08>, 'associate_with_table': <function associate_with_table at 0x2b7c67287758>, '_allowed': <function _allowed at 0x2b7c67287b18>, '__repr__': <function __repr__ at 0x2b7c67287500>, 'allowed': <function allowed at 0x2b7c67287c80>, 'get_default_attrs': <function get_default_attrs at 0x2b7c67287578>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7c67287ed8>}, '__init__': <function __init__ at 0x2b7c67278488>, 'name': 'make_protected', 'action_present': <function action_present at 0x2b7c69e33c08>, 'action_past': <function action_past at 0x2b7c69fd40c8>, 'data_type_matched': <function data_type_matched at 0x2b7c67287e60>, 'get_default_classes': <function get_default_classes at 0x2b7c672879b0>, 'get_policy_target': <function get_policy_target at 0x2b7c67287c08>, 'associate_with_table': <function associate_with_table at 0x2b7c67287758>, '_allowed': <function _allowed at 0x2b7c67278320>, '_get_action_name': <function _get_action_name at 0x2b7c67278230>, 'rule': 'protected', 'action': <function action at 0x2b7c69fd45f0>, 'get_default_attrs': <function get_default_attrs at 0x2b7c67278410>, '__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 (PendingDeprecation)\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 (PendingDeprecation)\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\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\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 be avoided. Please use the action_present and\n action_past methods. This form is kept for legacy.\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 ', '__repr__': <function __repr__ at 0x2b7c67287500>}
change_rule_method(request, datum_id, **update_kwargs)[source]
name = 'make_protected'
rule = 'protected'
class openstack_dashboard.contrib.sahara.content.data_processing.utils.acl.MakePublic(**kwargs)[source]

Bases: openstack_dashboard.contrib.sahara.content.data_processing.utils.acl.RuleChangeAction

base_options = {'__module__': 'openstack_dashboard.contrib.sahara.content.data_processing.utils.acl', 'handle': <function handle at 0x2b7c6726fcf8>, 'update': <function update at 0x2b7c672780c8>, 'change_rule_method': <function change_rule_method at 0x2b7c69fd4410>, 'get_success_url': <function get_success_url at 0x2b7c672789b0>, 'get_param_name': <function get_param_name at 0x2b7c67278b90>, 'allowed': <function allowed at 0x2b7c67287c80>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b7c6693dd10>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7c67287e60>, 'get_default_classes': <function get_default_classes at 0x2b7c672879b0>, 'update': <function update at 0x2b7c67287aa0>, 'get_policy_target': <function get_policy_target at 0x2b7c67287c08>, 'associate_with_table': <function associate_with_table at 0x2b7c67287758>, '_allowed': <function _allowed at 0x2b7c67287b18>, '__repr__': <function __repr__ at 0x2b7c67287500>, 'allowed': <function allowed at 0x2b7c67287c80>, 'get_default_attrs': <function get_default_attrs at 0x2b7c67287578>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7c67287ed8>}, '__init__': <function __init__ at 0x2b7c67278488>, 'name': 'make_public', 'action_present': <function action_present at 0x2b7c69e33c08>, 'action_past': <function action_past at 0x2b7c69fd40c8>, 'data_type_matched': <function data_type_matched at 0x2b7c67287e60>, 'get_default_classes': <function get_default_classes at 0x2b7c672879b0>, 'get_policy_target': <function get_policy_target at 0x2b7c67287c08>, 'associate_with_table': <function associate_with_table at 0x2b7c67287758>, '_allowed': <function _allowed at 0x2b7c67278320>, '_get_action_name': <function _get_action_name at 0x2b7c67278230>, 'rule': 'public', 'action': <function action at 0x2b7c69fd45f0>, 'get_default_attrs': <function get_default_attrs at 0x2b7c67278410>, '__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 (PendingDeprecation)\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 (PendingDeprecation)\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\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\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 be avoided. Please use the action_present and\n action_past methods. This form is kept for legacy.\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 ', '__repr__': <function __repr__ at 0x2b7c67287500>}
change_rule_method(request, datum_id, **update_kwargs)[source]
name = 'make_public'
rule = 'public'
class openstack_dashboard.contrib.sahara.content.data_processing.utils.acl.MakeUnProtected(**kwargs)[source]

Bases: openstack_dashboard.contrib.sahara.content.data_processing.utils.acl.RuleChangeAction

base_options = {'__module__': 'openstack_dashboard.contrib.sahara.content.data_processing.utils.acl', 'handle': <function handle at 0x2b7c6726fcf8>, 'update': <function update at 0x2b7c672780c8>, 'change_rule_method': <function change_rule_method at 0x2b7c69fd4e60>, 'get_success_url': <function get_success_url at 0x2b7c672789b0>, 'get_param_name': <function get_param_name at 0x2b7c67278b90>, 'allowed': <function allowed at 0x2b7c67287c80>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b7c6693dd10>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7c67287e60>, 'get_default_classes': <function get_default_classes at 0x2b7c672879b0>, 'update': <function update at 0x2b7c67287aa0>, 'get_policy_target': <function get_policy_target at 0x2b7c67287c08>, 'associate_with_table': <function associate_with_table at 0x2b7c67287758>, '_allowed': <function _allowed at 0x2b7c67287b18>, '__repr__': <function __repr__ at 0x2b7c67287500>, 'allowed': <function allowed at 0x2b7c67287c80>, 'get_default_attrs': <function get_default_attrs at 0x2b7c67287578>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7c67287ed8>}, '__init__': <function __init__ at 0x2b7c67278488>, 'name': 'make_unprotected', 'action_present': <function action_present at 0x2b7c69e33c08>, 'action_past': <function action_past at 0x2b7c69fd40c8>, 'data_type_matched': <function data_type_matched at 0x2b7c67287e60>, 'get_default_classes': <function get_default_classes at 0x2b7c672879b0>, 'get_policy_target': <function get_policy_target at 0x2b7c67287c08>, 'associate_with_table': <function associate_with_table at 0x2b7c67287758>, '_allowed': <function _allowed at 0x2b7c67278320>, '_get_action_name': <function _get_action_name at 0x2b7c67278230>, 'rule': 'unprotected', 'action': <function action at 0x2b7c69fd45f0>, 'get_default_attrs': <function get_default_attrs at 0x2b7c67278410>, '__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 (PendingDeprecation)\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 (PendingDeprecation)\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\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\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 be avoided. Please use the action_present and\n action_past methods. This form is kept for legacy.\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 ', '__repr__': <function __repr__ at 0x2b7c67287500>}
change_rule_method(request, datum_id, **update_kwargs)[source]
name = 'make_unprotected'
rule = 'unprotected'
class openstack_dashboard.contrib.sahara.content.data_processing.utils.acl.RuleChangeAction(**kwargs)[source]

Bases: horizon.tables.actions.BatchAction

action(request, datum_id)[source]
action_past(count)[source]
action_present(count)[source]
base_options = {'__module__': 'openstack_dashboard.contrib.sahara.content.data_processing.utils.acl', 'handle': <function handle at 0x2b7c6726fcf8>, 'update': <function update at 0x2b7c672780c8>, 'get_success_url': <function get_success_url at 0x2b7c672789b0>, 'get_policy_target': <function get_policy_target at 0x2b7c67287c08>, 'allowed': <function allowed at 0x2b7c67287c80>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b7c6693dd10>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b7c67287e60>, 'get_default_classes': <function get_default_classes at 0x2b7c672879b0>, 'update': <function update at 0x2b7c67287aa0>, 'get_policy_target': <function get_policy_target at 0x2b7c67287c08>, 'associate_with_table': <function associate_with_table at 0x2b7c67287758>, '_allowed': <function _allowed at 0x2b7c67287b18>, '__repr__': <function __repr__ at 0x2b7c67287500>, 'allowed': <function allowed at 0x2b7c67287c80>, 'get_default_attrs': <function get_default_attrs at 0x2b7c67287578>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b7c67287ed8>}, '__init__': <function __init__ at 0x2b7c67278488>, 'action_present': <function action_present at 0x2b7c69e33c08>, 'action_past': <function action_past at 0x2b7c69fd40c8>, 'data_type_matched': <function data_type_matched at 0x2b7c67287e60>, 'get_default_classes': <function get_default_classes at 0x2b7c672879b0>, 'get_param_name': <function get_param_name at 0x2b7c67278b90>, 'associate_with_table': <function associate_with_table at 0x2b7c67287758>, '_allowed': <function _allowed at 0x2b7c67278320>, 'rule': 'no-rule', '_get_action_name': <function _get_action_name at 0x2b7c67278230>, '__repr__': <function __repr__ at 0x2b7c67287500>, 'action': <function action at 0x2b7c69fd45f0>, 'get_default_attrs': <function get_default_attrs at 0x2b7c67278410>, '__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 (PendingDeprecation)\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 (PendingDeprecation)\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\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\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 be avoided. Please use the action_present and\n action_past methods. This form is kept for legacy.\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 '}
rule = 'no-rule'
openstack_dashboard.contrib.sahara.content.data_processing.utils.acl.get_is_protected_form(object_type)[source]
openstack_dashboard.contrib.sahara.content.data_processing.utils.acl.get_is_public_form(object_type)[source]