The openstack_dashboard.dashboards.project.vpn.tables
ModuleΒΆ
-
class
openstack_dashboard.dashboards.project.vpn.tables.
AddIKEPolicyLink
(attrs=None, **kwargs)[source] Bases:
horizon.tables.actions.LinkAction
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'render': <function render at 0x99b03e4>, 'update': <function update at 0x9935614>, 'policy_rules': (('network', 'create_ikepolicy'),), 'get_link_url': <function get_link_url at 0x99b0614>, 'ajax': False, 'allowed': <function allowed at 0x96c209c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, '__init__': <function __init__ at 0x99b064c>, 'icon': 'plus', 'name': 'addikepolicy', 'url': 'horizon:project:vpn:addikepolicy', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x99b03ac>, '_allowed': <function _allowed at 0x99352cc>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x9935294>, 'get_ajax_update_url': <function get_ajax_update_url at 0x99b041c>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xfa04bcc>, '__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
= 'addikepolicy'
-
policy_rules
= (('network', 'create_ikepolicy'),)
-
url
= 'horizon:project:vpn:addikepolicy'
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xfa04bcc>
-
-
class
openstack_dashboard.dashboards.project.vpn.tables.
AddIPSecPolicyLink
(attrs=None, **kwargs)[source] Bases:
horizon.tables.actions.LinkAction
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'render': <function render at 0x99b03e4>, 'update': <function update at 0x9935614>, 'policy_rules': (('network', 'create_ipsecpolicy'),), 'get_link_url': <function get_link_url at 0x99b0614>, 'ajax': False, 'allowed': <function allowed at 0x96c209c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, '__init__': <function __init__ at 0x99b064c>, 'icon': 'plus', 'name': 'addipsecpolicy', 'url': 'horizon:project:vpn:addipsecpolicy', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x99b03ac>, '_allowed': <function _allowed at 0x99352cc>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x9935294>, 'get_ajax_update_url': <function get_ajax_update_url at 0x99b041c>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xfa3772c>, '__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
= 'addipsecpolicy'
-
policy_rules
= (('network', 'create_ipsecpolicy'),)
-
url
= 'horizon:project:vpn:addipsecpolicy'
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xfa3772c>
-
-
class
openstack_dashboard.dashboards.project.vpn.tables.
AddIPSecSiteConnectionLink
(attrs=None, **kwargs)[source] Bases:
horizon.tables.actions.LinkAction
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'render': <function render at 0x99b03e4>, 'update': <function update at 0x9935614>, 'policy_rules': (('network', 'create_ipsec_site_connection'),), 'get_link_url': <function get_link_url at 0x99b0614>, 'ajax': False, 'allowed': <function allowed at 0x96c209c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, '__init__': <function __init__ at 0x99b064c>, 'icon': 'plus', 'name': 'addipsecsiteconnection', 'url': 'horizon:project:vpn:addipsecsiteconnection', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x99b03ac>, '_allowed': <function _allowed at 0x99352cc>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x9935294>, 'get_ajax_update_url': <function get_ajax_update_url at 0x99b041c>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xf9f178c>, '__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
= 'addipsecsiteconnection'
-
policy_rules
= (('network', 'create_ipsec_site_connection'),)
-
url
= 'horizon:project:vpn:addipsecsiteconnection'
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xf9f178c>
-
-
class
openstack_dashboard.dashboards.project.vpn.tables.
AddVPNServiceLink
(attrs=None, **kwargs)[source] Bases:
horizon.tables.actions.LinkAction
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'render': <function render at 0x99b03e4>, 'update': <function update at 0x9935614>, 'policy_rules': (('network', 'create_vpnservice'),), 'get_link_url': <function get_link_url at 0x99b0614>, 'ajax': False, 'allowed': <function allowed at 0x96c209c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, '__init__': <function __init__ at 0x99b064c>, 'icon': 'plus', 'name': 'addvpnservice', 'url': 'horizon:project:vpn:addvpnservice', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x99b03ac>, '_allowed': <function _allowed at 0x99352cc>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x9935294>, 'get_ajax_update_url': <function get_ajax_update_url at 0x99b041c>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xf9f176c>, '__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
= 'addvpnservice'
-
policy_rules
= (('network', 'create_vpnservice'),)
-
url
= 'horizon:project:vpn:addvpnservice'
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xf9f176c>
-
-
class
openstack_dashboard.dashboards.project.vpn.tables.
DeleteIKEPolicyLink
(**kwargs)[source] Bases:
openstack_dashboard.policy.PolicyTargetMixin
,horizon.tables.actions.DeleteAction
-
static
action_past
(count)[source]
-
static
action_present
(count)[source]
-
allowed
(request, datum=None)[source]
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'handle': <function handle at 0xa1365a4>, 'update': <function update at 0xa1364fc>, 'policy_rules': (('network', 'delete_ikepolicy'),), 'get_success_url': <function get_success_url at 0xa136534>, 'get_param_name': <function get_param_name at 0x9935fb4>, 'allowed': <function allowed at 0xfd80b54>, 'help_text': <django.utils.functional.__proxy__ object at 0x9afaa0c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, '__init__': <function __init__ at 0xa1365dc>, 'name': 'deleteikepolicy', 'action_present': <staticmethod object at 0xfe42fa4>, 'action_past': <staticmethod object at 0xfe42614>, 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0xa136684>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x980979c>, '_get_action_name': <function _get_action_name at 0x98096bc>, '__repr__': <function __repr__ at 0x9935294>, 'action': <function action at 0xa136614>, 'get_default_attrs': <function get_default_attrs at 0xa13656c>, '__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 0xfd80b8c>}
-
delete
(request, obj_id)[source]
-
name
= 'deleteikepolicy'
-
policy_rules
= (('network', 'delete_ikepolicy'),)
-
static
-
class
openstack_dashboard.dashboards.project.vpn.tables.
DeleteIPSecPolicyLink
(**kwargs)[source] Bases:
openstack_dashboard.policy.PolicyTargetMixin
,horizon.tables.actions.DeleteAction
-
static
action_past
(count)[source]
-
static
action_present
(count)[source]
-
allowed
(request, datum=None)[source]
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'handle': <function handle at 0xa1365a4>, 'update': <function update at 0xa1364fc>, 'policy_rules': (('network', 'delete_ipsecpolicy'),), 'get_success_url': <function get_success_url at 0xa136534>, 'get_param_name': <function get_param_name at 0x9935fb4>, 'allowed': <function allowed at 0xfd80c6c>, 'help_text': <django.utils.functional.__proxy__ object at 0x9afaa0c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, '__init__': <function __init__ at 0xa1365dc>, 'name': 'deleteipsecpolicy', 'action_present': <staticmethod object at 0xfe73494>, 'action_past': <staticmethod object at 0xfe73adc>, 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0xa136684>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x980979c>, '_get_action_name': <function _get_action_name at 0x98096bc>, '__repr__': <function __repr__ at 0x9935294>, 'action': <function action at 0xa136614>, 'get_default_attrs': <function get_default_attrs at 0xa13656c>, '__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 0xfd80ca4>}
-
delete
(request, obj_id)[source]
-
name
= 'deleteipsecpolicy'
-
policy_rules
= (('network', 'delete_ipsecpolicy'),)
-
static
-
class
openstack_dashboard.dashboards.project.vpn.tables.
DeleteIPSecSiteConnectionLink
(**kwargs)[source] Bases:
openstack_dashboard.policy.PolicyTargetMixin
,horizon.tables.actions.DeleteAction
-
static
action_past
(count)[source]
-
static
action_present
(count)[source]
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'handle': <function handle at 0xa1365a4>, 'update': <function update at 0xa1364fc>, 'policy_rules': (('network', 'delete_ipsec_site_connection'),), 'get_success_url': <function get_success_url at 0xa136534>, 'get_param_name': <function get_param_name at 0x9935fb4>, 'allowed': <function allowed at 0x96c209c>, 'help_text': <django.utils.functional.__proxy__ object at 0x9afaa0c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, '__init__': <function __init__ at 0xa1365dc>, 'name': 'deleteipsecsiteconnection', 'action_present': <staticmethod object at 0xfe73b24>, 'action_past': <staticmethod object at 0xfe73b0c>, 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0xa136684>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x980979c>, '_get_action_name': <function _get_action_name at 0x98096bc>, '__repr__': <function __repr__ at 0x9935294>, 'action': <function action at 0xa136614>, 'get_default_attrs': <function get_default_attrs at 0xa13656c>, '__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 0xfd80d84>}
-
delete
(request, obj_id)[source]
-
name
= 'deleteipsecsiteconnection'
-
policy_rules
= (('network', 'delete_ipsec_site_connection'),)
-
static
-
class
openstack_dashboard.dashboards.project.vpn.tables.
DeleteVPNServiceLink
(**kwargs)[source] Bases:
openstack_dashboard.policy.PolicyTargetMixin
,horizon.tables.actions.DeleteAction
-
static
action_past
(count)[source]
-
static
action_present
(count)[source]
-
allowed
(request, datum=None)[source]
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'handle': <function handle at 0xa1365a4>, 'update': <function update at 0xa1364fc>, 'policy_rules': (('network', 'delete_vpnservice'),), 'get_success_url': <function get_success_url at 0xa136534>, 'get_param_name': <function get_param_name at 0x9935fb4>, 'allowed': <function allowed at 0xfd8087c>, 'help_text': <django.utils.functional.__proxy__ object at 0x9afaa0c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, '__init__': <function __init__ at 0xa1365dc>, 'name': 'deletevpnservice', 'action_present': <staticmethod object at 0xfe421ac>, 'action_past': <staticmethod object at 0xfe429ec>, 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0xa136684>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x980979c>, '_get_action_name': <function _get_action_name at 0x98096bc>, '__repr__': <function __repr__ at 0x9935294>, 'action': <function action at 0xa136614>, 'get_default_attrs': <function get_default_attrs at 0xa13656c>, '__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 0xfd808b4>}
-
delete
(request, obj_id)[source]
-
name
= 'deletevpnservice'
-
policy_rules
= (('network', 'delete_vpnservice'),)
-
static
-
class
openstack_dashboard.dashboards.project.vpn.tables.
IKEPoliciesTable
(request, data=None, needs_form_wrapper=None, **kwargs)[source] Bases:
horizon.tables.base.DataTable
-
class
Meta
[source] Bases:
object
-
name
= 'ikepoliciestable'
-
row_actions
= (<class 'openstack_dashboard.dashboards.project.vpn.tables.UpdateIKEPolicyLink'>, <class 'openstack_dashboard.dashboards.project.vpn.tables.DeleteIKEPolicyLink'>)
-
table_actions
= (<class 'openstack_dashboard.dashboards.project.vpn.tables.AddIKEPolicyLink'>, <class 'openstack_dashboard.dashboards.project.vpn.tables.DeleteIKEPolicyLink'>, <class 'horizon.tables.actions.NameFilterAction'>)
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xfc5256c>
-
-
IKEPoliciesTable.
base_actions
= OrderedDict([('addikepolicy', <AddIKEPolicyLink: addikepolicy>), ('deleteikepolicy', <DeleteIKEPolicyLink: deleteikepolicy>), ('filter', <NameFilterAction: filter>), ('updateikepolicy', <UpdateIKEPolicyLink: updateikepolicy>)])
-
IKEPoliciesTable.
base_columns
= OrderedDict([('id', <Column: id>), ('name', <Column: name>), ('description', <Column: description>), ('auth_algorithm', <Column: auth_algorithm>), ('encryption_algorithm', <Column: encryption_algorithm>), ('pfs', <Column: pfs>)])
-
class
-
class
openstack_dashboard.dashboards.project.vpn.tables.
IPSecPoliciesTable
(request, data=None, needs_form_wrapper=None, **kwargs)[source] Bases:
horizon.tables.base.DataTable
-
class
Meta
[source] Bases:
object
-
name
= 'ipsecpoliciestable'
-
row_actions
= (<class 'openstack_dashboard.dashboards.project.vpn.tables.UpdateIPSecPolicyLink'>, <class 'openstack_dashboard.dashboards.project.vpn.tables.DeleteIPSecPolicyLink'>)
-
table_actions
= (<class 'openstack_dashboard.dashboards.project.vpn.tables.AddIPSecPolicyLink'>, <class 'openstack_dashboard.dashboards.project.vpn.tables.DeleteIPSecPolicyLink'>, <class 'horizon.tables.actions.NameFilterAction'>)
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xfc12d2c>
-
-
IPSecPoliciesTable.
base_actions
= OrderedDict([('addipsecpolicy', <AddIPSecPolicyLink: addipsecpolicy>), ('deleteipsecpolicy', <DeleteIPSecPolicyLink: deleteipsecpolicy>), ('filter', <NameFilterAction: filter>), ('updateipsecpolicy', <UpdateIPSecPolicyLink: updateipsecpolicy>)])
-
IPSecPoliciesTable.
base_columns
= OrderedDict([('id', <Column: id>), ('name', <Column: name>), ('description', <Column: description>), ('auth_algorithm', <Column: auth_algorithm>), ('encryption_algorithm', <Column: encryption_algorithm>), ('pfs', <Column: pfs>)])
-
class
-
class
openstack_dashboard.dashboards.project.vpn.tables.
IPSecSiteConnectionsTable
(request, data=None, needs_form_wrapper=None, **kwargs)[source] Bases:
horizon.tables.base.DataTable
-
class
Meta
[source] Bases:
object
-
name
= 'ipsecsiteconnectionstable'
-
row_actions
= (<class 'openstack_dashboard.dashboards.project.vpn.tables.UpdateIPSecSiteConnectionLink'>, <class 'openstack_dashboard.dashboards.project.vpn.tables.DeleteIPSecSiteConnectionLink'>)
-
table_actions
= (<class 'openstack_dashboard.dashboards.project.vpn.tables.AddIPSecSiteConnectionLink'>, <class 'openstack_dashboard.dashboards.project.vpn.tables.DeleteIPSecSiteConnectionLink'>, <class 'horizon.tables.actions.NameFilterAction'>)
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xfc7958c>
-
-
IPSecSiteConnectionsTable.
STATUS_CHOICES
= (('Active', True), ('Down', True), ('Error', False))
-
IPSecSiteConnectionsTable.
STATUS_DISPLAY_CHOICES
= (('Active', <django.utils.functional.__proxy__ object at 0xfc51aec>), ('Down', <django.utils.functional.__proxy__ object at 0xfc5120c>), ('Error', <django.utils.functional.__proxy__ object at 0xfc51dec>))
-
IPSecSiteConnectionsTable.
base_actions
= OrderedDict([('addipsecsiteconnection', <AddIPSecSiteConnectionLink: addipsecsiteconnection>), ('deleteipsecsiteconnection', <DeleteIPSecSiteConnectionLink: deleteipsecsiteconnection>), ('filter', <NameFilterAction: filter>), ('updateipsecsiteconnection', <UpdateIPSecSiteConnectionLink: updateipsecsiteconnection>)])
-
IPSecSiteConnectionsTable.
base_columns
= OrderedDict([('id', <Column: id>), ('name', <Column: name>), ('description', <Column: description>), ('vpnservice_name', <Column: vpnservice_name>), ('ikepolicy_name', <Column: ikepolicy_name>), ('ipsecpolicy_name', <Column: ipsecpolicy_name>), ('status', <Column: status>)])
-
class
-
class
openstack_dashboard.dashboards.project.vpn.tables.
UpdateIKEPolicyLink
(attrs=None, **kwargs)[source] Bases:
horizon.tables.actions.LinkAction
-
allowed
(request, datum=None)[source]
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'render': <function render at 0x99b03e4>, 'update': <function update at 0x9935614>, 'policy_rules': (('network', 'update_ikepolicy'),), 'get_link_url': <function get_link_url at 0xfd80e64>, 'ajax': False, 'allowed': <function allowed at 0xfd80e9c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, '__init__': <function __init__ at 0x99b064c>, 'name': 'updateikepolicy', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x99b03ac>, '_allowed': <function _allowed at 0x99352cc>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x9935294>, 'get_ajax_update_url': <function get_ajax_update_url at 0x99b041c>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xf9d7bcc>, '__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', 'btn-update')
-
get_link_url
(ikepolicy)[source]
-
name
= 'updateikepolicy'
-
policy_rules
= (('network', 'update_ikepolicy'),)
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xf9d7bcc>
-
-
class
openstack_dashboard.dashboards.project.vpn.tables.
UpdateIPSecPolicyLink
(attrs=None, **kwargs)[source] Bases:
horizon.tables.actions.LinkAction
-
allowed
(request, datum=None)[source]
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'render': <function render at 0x99b03e4>, 'update': <function update at 0x9935614>, 'policy_rules': (('network', 'update_ipsecpolicy'),), 'get_link_url': <function get_link_url at 0xfd80ed4>, 'ajax': False, 'allowed': <function allowed at 0xfd80f0c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, '__init__': <function __init__ at 0x99b064c>, 'name': 'updateipsecpolicy', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x99b03ac>, '_allowed': <function _allowed at 0x99352cc>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x9935294>, 'get_ajax_update_url': <function get_ajax_update_url at 0x99b041c>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xfc75b0c>, '__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', 'btn-update')
-
get_link_url
(ipsecpolicy)[source]
-
name
= 'updateipsecpolicy'
-
policy_rules
= (('network', 'update_ipsecpolicy'),)
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xfc75b0c>
-
-
class
openstack_dashboard.dashboards.project.vpn.tables.
UpdateIPSecSiteConnectionLink
(attrs=None, **kwargs)[source] Bases:
horizon.tables.actions.LinkAction
-
allowed
(request, datum=None)[source]
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'render': <function render at 0x99b03e4>, 'update': <function update at 0x9935614>, 'policy_rules': (('network', 'update_ipsec_site_connection'),), 'get_link_url': <function get_link_url at 0xfd80f44>, 'ajax': False, 'allowed': <function allowed at 0xfd80f7c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, '__init__': <function __init__ at 0x99b064c>, 'name': 'updateipsecsiteconnection', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x99b03ac>, '_allowed': <function _allowed at 0x99352cc>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x9935294>, 'get_ajax_update_url': <function get_ajax_update_url at 0x99b041c>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xfc5144c>, '__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', 'btn-update')
-
get_link_url
(ipsecsiteconnection)[source]
-
name
= 'updateipsecsiteconnection'
-
policy_rules
= (('network', 'update_ipsec_site_connection'),)
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xfc5144c>
-
-
class
openstack_dashboard.dashboards.project.vpn.tables.
UpdateVPNServiceLink
(attrs=None, **kwargs)[source] Bases:
horizon.tables.actions.LinkAction
-
allowed
(request, datum=None)[source]
-
base_options
= {'__module__': 'openstack_dashboard.dashboards.project.vpn.tables', 'render': <function render at 0x99b03e4>, 'update': <function update at 0x9935614>, 'policy_rules': (('network', 'update_vpnservice'),), 'get_link_url': <function get_link_url at 0xfd80df4>, 'ajax': False, 'allowed': <function allowed at 0xfd80e2c>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'update': <function update at 0x9935614>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x9935ed4>, '_allowed': <function _allowed at 0x99352cc>, '__repr__': <function __repr__ at 0x9935294>, 'allowed': <function allowed at 0x96c209c>, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x920fbfc>}, 'get_default_attrs': <function get_default_attrs at 0x99350d4>, '__init__': <function __init__ at 0x99b064c>, 'name': 'update_vpnservice', 'data_type_matched': <function data_type_matched at 0x920fbc4>, 'get_default_classes': <function get_default_classes at 0x993548c>, 'get_policy_target': <function get_policy_target at 0x920faac>, 'associate_with_table': <function associate_with_table at 0x99b03ac>, '_allowed': <function _allowed at 0x99352cc>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x9935294>, 'get_ajax_update_url': <function get_ajax_update_url at 0x99b041c>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xfa326ec>, '__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', 'btn-update')
-
get_link_url
(vpnservice)[source]
-
name
= 'update_vpnservice'
-
policy_rules
= (('network', 'update_vpnservice'),)
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xfa326ec>
-
-
class
openstack_dashboard.dashboards.project.vpn.tables.
VPNServicesTable
(request, data=None, needs_form_wrapper=None, **kwargs)[source] Bases:
horizon.tables.base.DataTable
-
class
Meta
[source] Bases:
object
-
name
= 'vpnservicestable'
-
row_actions
= (<class 'openstack_dashboard.dashboards.project.vpn.tables.UpdateVPNServiceLink'>, <class 'openstack_dashboard.dashboards.project.vpn.tables.DeleteVPNServiceLink'>)
-
table_actions
= (<class 'openstack_dashboard.dashboards.project.vpn.tables.AddVPNServiceLink'>, <class 'openstack_dashboard.dashboards.project.vpn.tables.DeleteVPNServiceLink'>, <class 'horizon.tables.actions.NameFilterAction'>)
-
verbose_name
= <django.utils.functional.__proxy__ object at 0xfc5796c>
-
-
VPNServicesTable.
STATUS_CHOICES
= (('Active', True), ('Down', True), ('Error', False))
-
VPNServicesTable.
STATUS_DISPLAY_CHOICES
= (('Active', <django.utils.functional.__proxy__ object at 0xfc8170c>), ('Down', <django.utils.functional.__proxy__ object at 0xfc81d8c>), ('Error', <django.utils.functional.__proxy__ object at 0xfc81b6c>), ('Created', <django.utils.functional.__proxy__ object at 0xfc815cc>), ('Pending_Create', <django.utils.functional.__proxy__ object at 0xfc814ac>), ('Pending_Update', <django.utils.functional.__proxy__ object at 0xfc81a8c>), ('Pending_Delete', <django.utils.functional.__proxy__ object at 0xfc8158c>), ('Inactive', <django.utils.functional.__proxy__ object at 0xfc7be4c>))
-
VPNServicesTable.
base_actions
= OrderedDict([('addvpnservice', <AddVPNServiceLink: addvpnservice>), ('deletevpnservice', <DeleteVPNServiceLink: deletevpnservice>), ('filter', <NameFilterAction: filter>), ('update_vpnservice', <UpdateVPNServiceLink: update_vpnservice>)])
-
VPNServicesTable.
base_columns
= OrderedDict([('id', <Column: id>), ('name', <Column: name>), ('description', <Column: description>), ('local_ips', <Column: local_ips>), ('subnet_name', <Column: subnet_name>), ('router_name', <Column: router_name>), ('status', <Column: status>)])
-
class
-
openstack_dashboard.dashboards.project.vpn.tables.
get_local_ips
(vpn)[source]