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 0x2b4c4d236f50>, 'update': <function update at 0x2b4c4d2366e0>, 'change_rule_method': <function change_rule_method at 0x2b4c5112f2a8>, 'get_success_url': <function get_success_url at 0x2b4c4d236de8>, 'get_param_name': <function get_param_name at 0x2b4c4d231e60>, 'allowed': <function allowed at 0x2b4c4d231f50>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b4c4c912550>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b4c4d238500>, 'get_default_classes': <function get_default_classes at 0x2b4c4d231c80>, 'update': <function update at 0x2b4c4d231c08>, 'get_policy_target': <function get_policy_target at 0x2b4c4d231de8>, 'associate_with_table': <function associate_with_table at 0x2b4c4d231d70>, '_allowed': <function _allowed at 0x2b4c4d231cf8>, '__repr__': <function __repr__ at 0x2b4c4d231ed8>, 'allowed': <function allowed at 0x2b4c4d231f50>, 'get_default_attrs': <function get_default_attrs at 0x2b4c4d231b90>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b4c4d238aa0>}, '__init__': <function __init__ at 0x2b4c4d236e60>, 'name': 'make_private', 'action_present': <function action_present at 0x2b4c5112f0c8>, 'action_past': <function action_past at 0x2b4c5112f140>, 'data_type_matched': <function data_type_matched at 0x2b4c4d238500>, 'get_default_classes': <function get_default_classes at 0x2b4c4d231c80>, 'get_policy_target': <function get_policy_target at 0x2b4c4d231de8>, 'associate_with_table': <function associate_with_table at 0x2b4c4d231d70>, '_allowed': <function _allowed at 0x2b4c4d236050>, '_get_action_name': <function _get_action_name at 0x2b4c4d236230>, 'rule': 'private', 'action': <function action at 0x2b4c5112f1b8>, 'get_default_attrs': <function get_default_attrs at 0x2b4c4d236d70>, '__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 0x2b4c4d231ed8>}
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 0x2b4c4d236f50>, 'update': <function update at 0x2b4c4d2366e0>, 'change_rule_method': <function change_rule_method at 0x2b4c5112f320>, 'get_success_url': <function get_success_url at 0x2b4c4d236de8>, 'get_param_name': <function get_param_name at 0x2b4c4d231e60>, 'allowed': <function allowed at 0x2b4c4d231f50>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b4c4c912550>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b4c4d238500>, 'get_default_classes': <function get_default_classes at 0x2b4c4d231c80>, 'update': <function update at 0x2b4c4d231c08>, 'get_policy_target': <function get_policy_target at 0x2b4c4d231de8>, 'associate_with_table': <function associate_with_table at 0x2b4c4d231d70>, '_allowed': <function _allowed at 0x2b4c4d231cf8>, '__repr__': <function __repr__ at 0x2b4c4d231ed8>, 'allowed': <function allowed at 0x2b4c4d231f50>, 'get_default_attrs': <function get_default_attrs at 0x2b4c4d231b90>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b4c4d238aa0>}, '__init__': <function __init__ at 0x2b4c4d236e60>, 'name': 'make_protected', 'action_present': <function action_present at 0x2b4c5112f0c8>, 'action_past': <function action_past at 0x2b4c5112f140>, 'data_type_matched': <function data_type_matched at 0x2b4c4d238500>, 'get_default_classes': <function get_default_classes at 0x2b4c4d231c80>, 'get_policy_target': <function get_policy_target at 0x2b4c4d231de8>, 'associate_with_table': <function associate_with_table at 0x2b4c4d231d70>, '_allowed': <function _allowed at 0x2b4c4d236050>, '_get_action_name': <function _get_action_name at 0x2b4c4d236230>, 'rule': 'protected', 'action': <function action at 0x2b4c5112f1b8>, 'get_default_attrs': <function get_default_attrs at 0x2b4c4d236d70>, '__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 0x2b4c4d231ed8>}
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 0x2b4c4d236f50>, 'update': <function update at 0x2b4c4d2366e0>, 'change_rule_method': <function change_rule_method at 0x2b4c5112f230>, 'get_success_url': <function get_success_url at 0x2b4c4d236de8>, 'get_param_name': <function get_param_name at 0x2b4c4d231e60>, 'allowed': <function allowed at 0x2b4c4d231f50>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b4c4c912550>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b4c4d238500>, 'get_default_classes': <function get_default_classes at 0x2b4c4d231c80>, 'update': <function update at 0x2b4c4d231c08>, 'get_policy_target': <function get_policy_target at 0x2b4c4d231de8>, 'associate_with_table': <function associate_with_table at 0x2b4c4d231d70>, '_allowed': <function _allowed at 0x2b4c4d231cf8>, '__repr__': <function __repr__ at 0x2b4c4d231ed8>, 'allowed': <function allowed at 0x2b4c4d231f50>, 'get_default_attrs': <function get_default_attrs at 0x2b4c4d231b90>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b4c4d238aa0>}, '__init__': <function __init__ at 0x2b4c4d236e60>, 'name': 'make_public', 'action_present': <function action_present at 0x2b4c5112f0c8>, 'action_past': <function action_past at 0x2b4c5112f140>, 'data_type_matched': <function data_type_matched at 0x2b4c4d238500>, 'get_default_classes': <function get_default_classes at 0x2b4c4d231c80>, 'get_policy_target': <function get_policy_target at 0x2b4c4d231de8>, 'associate_with_table': <function associate_with_table at 0x2b4c4d231d70>, '_allowed': <function _allowed at 0x2b4c4d236050>, '_get_action_name': <function _get_action_name at 0x2b4c4d236230>, 'rule': 'public', 'action': <function action at 0x2b4c5112f1b8>, 'get_default_attrs': <function get_default_attrs at 0x2b4c4d236d70>, '__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 0x2b4c4d231ed8>}
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 0x2b4c4d236f50>, 'update': <function update at 0x2b4c4d2366e0>, 'change_rule_method': <function change_rule_method at 0x2b4c5112f398>, 'get_success_url': <function get_success_url at 0x2b4c4d236de8>, 'get_param_name': <function get_param_name at 0x2b4c4d231e60>, 'allowed': <function allowed at 0x2b4c4d231f50>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b4c4c912550>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b4c4d238500>, 'get_default_classes': <function get_default_classes at 0x2b4c4d231c80>, 'update': <function update at 0x2b4c4d231c08>, 'get_policy_target': <function get_policy_target at 0x2b4c4d231de8>, 'associate_with_table': <function associate_with_table at 0x2b4c4d231d70>, '_allowed': <function _allowed at 0x2b4c4d231cf8>, '__repr__': <function __repr__ at 0x2b4c4d231ed8>, 'allowed': <function allowed at 0x2b4c4d231f50>, 'get_default_attrs': <function get_default_attrs at 0x2b4c4d231b90>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b4c4d238aa0>}, '__init__': <function __init__ at 0x2b4c4d236e60>, 'name': 'make_unprotected', 'action_present': <function action_present at 0x2b4c5112f0c8>, 'action_past': <function action_past at 0x2b4c5112f140>, 'data_type_matched': <function data_type_matched at 0x2b4c4d238500>, 'get_default_classes': <function get_default_classes at 0x2b4c4d231c80>, 'get_policy_target': <function get_policy_target at 0x2b4c4d231de8>, 'associate_with_table': <function associate_with_table at 0x2b4c4d231d70>, '_allowed': <function _allowed at 0x2b4c4d236050>, '_get_action_name': <function _get_action_name at 0x2b4c4d236230>, 'rule': 'unprotected', 'action': <function action at 0x2b4c5112f1b8>, 'get_default_attrs': <function get_default_attrs at 0x2b4c4d236d70>, '__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 0x2b4c4d231ed8>}
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 0x2b4c4d236f50>, 'update': <function update at 0x2b4c4d2366e0>, 'get_success_url': <function get_success_url at 0x2b4c4d236de8>, 'get_policy_target': <function get_policy_target at 0x2b4c4d231de8>, 'allowed': <function allowed at 0x2b4c4d231f50>, 'help_text': <django.utils.functional.__proxy__ object at 0x2b4c4c912550>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x2b4c4d238500>, 'get_default_classes': <function get_default_classes at 0x2b4c4d231c80>, 'update': <function update at 0x2b4c4d231c08>, 'get_policy_target': <function get_policy_target at 0x2b4c4d231de8>, 'associate_with_table': <function associate_with_table at 0x2b4c4d231d70>, '_allowed': <function _allowed at 0x2b4c4d231cf8>, '__repr__': <function __repr__ at 0x2b4c4d231ed8>, 'allowed': <function allowed at 0x2b4c4d231f50>, 'get_default_attrs': <function get_default_attrs at 0x2b4c4d231b90>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x2b4c4d238aa0>}, '__init__': <function __init__ at 0x2b4c4d236e60>, 'action_present': <function action_present at 0x2b4c5112f0c8>, 'action_past': <function action_past at 0x2b4c5112f140>, 'data_type_matched': <function data_type_matched at 0x2b4c4d238500>, 'get_default_classes': <function get_default_classes at 0x2b4c4d231c80>, 'get_param_name': <function get_param_name at 0x2b4c4d231e60>, 'associate_with_table': <function associate_with_table at 0x2b4c4d231d70>, '_allowed': <function _allowed at 0x2b4c4d236050>, 'rule': 'no-rule', '_get_action_name': <function _get_action_name at 0x2b4c4d236230>, '__repr__': <function __repr__ at 0x2b4c4d231ed8>, 'action': <function action at 0x2b4c5112f1b8>, 'get_default_attrs': <function get_default_attrs at 0x2b4c4d236d70>, '__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]