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 0x5ba1cf8>, 'update': <function update at 0x5ba1938>, 'policy_rules': (('network', 'create_ikepolicy'),), 'get_link_url': <function get_link_url at 0x5ba1de8>, 'ajax': False, 'allowed': <function allowed at 0x5ba1848>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, '__init__': <function __init__ at 0x5ba1c08>, 'icon': 'plus', 'name': 'addikepolicy', 'url': 'horizon:project:vpn:addikepolicy', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1d70>, '_allowed': <function _allowed at 0x5ba18c0>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x5ba1aa0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x5ba1c80>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xd352210>, '__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 0xd352210>
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 0x5ba1cf8>, 'update': <function update at 0x5ba1938>, 'policy_rules': (('network', 'create_ipsecpolicy'),), 'get_link_url': <function get_link_url at 0x5ba1de8>, 'ajax': False, 'allowed': <function allowed at 0x5ba1848>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, '__init__': <function __init__ at 0x5ba1c08>, 'icon': 'plus', 'name': 'addipsecpolicy', 'url': 'horizon:project:vpn:addipsecpolicy', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1d70>, '_allowed': <function _allowed at 0x5ba18c0>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x5ba1aa0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x5ba1c80>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xe6f1e50>, '__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 0xe6f1e50>
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 0x5ba1cf8>, 'update': <function update at 0x5ba1938>, 'policy_rules': (('network', 'create_ipsec_site_connection'),), 'get_link_url': <function get_link_url at 0x5ba1de8>, 'ajax': False, 'allowed': <function allowed at 0x5ba1848>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, '__init__': <function __init__ at 0x5ba1c08>, 'icon': 'plus', 'name': 'addipsecsiteconnection', 'url': 'horizon:project:vpn:addipsecsiteconnection', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1d70>, '_allowed': <function _allowed at 0x5ba18c0>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x5ba1aa0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x5ba1c80>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xe6f1e90>, '__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 0xe6f1e90>
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 0x5ba1cf8>, 'update': <function update at 0x5ba1938>, 'policy_rules': (('network', 'create_vpnservice'),), 'get_link_url': <function get_link_url at 0x5ba1de8>, 'ajax': False, 'allowed': <function allowed at 0x5ba1848>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, '__init__': <function __init__ at 0x5ba1c08>, 'icon': 'plus', 'name': 'addvpnservice', 'url': 'horizon:project:vpn:addvpnservice', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1d70>, '_allowed': <function _allowed at 0x5ba18c0>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x5ba1aa0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x5ba1c80>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xe6f1410>, '__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 0xe6f1410>
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 0x5b83758>, 'update': <function update at 0x5b835f0>, 'policy_rules': (('network', 'delete_ikepolicy'),), 'get_success_url': <function get_success_url at 0x5b83668>, 'get_param_name': <function get_param_name at 0x5ba1b90>, 'allowed': <function allowed at 0xfffded8>, 'help_text': <django.utils.functional.__proxy__ object at 0x3acb790>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, '__init__': <function __init__ at 0x5b837d0>, 'name': 'deleteikepolicy', 'action_present': <staticmethod object at 0xfe5c1a0>, 'action_past': <staticmethod object at 0xfe5c6e0>, 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5b83938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5b83488>, '_get_action_name': <function _get_action_name at 0x5b83500>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'action': <function action at 0x5b83848>, 'get_default_attrs': <function get_default_attrs at 0x5b836e0>, '__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 0xfffdf50>}
delete(request, obj_id)[source]
name = 'deleteikepolicy'
policy_rules = (('network', 'delete_ikepolicy'),)
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 0x5b83758>, 'update': <function update at 0x5b835f0>, 'policy_rules': (('network', 'delete_ipsecpolicy'),), 'get_success_url': <function get_success_url at 0x5b83668>, 'get_param_name': <function get_param_name at 0x5ba1b90>, 'allowed': <function allowed at 0x105731b8>, 'help_text': <django.utils.functional.__proxy__ object at 0x3acb790>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, '__init__': <function __init__ at 0x5b837d0>, 'name': 'deleteipsecpolicy', 'action_present': <staticmethod object at 0xfd1d440>, 'action_past': <staticmethod object at 0xfd1dbb0>, 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5b83938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5b83488>, '_get_action_name': <function _get_action_name at 0x5b83500>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'action': <function action at 0x5b83848>, 'get_default_attrs': <function get_default_attrs at 0x5b836e0>, '__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 0x10573230>}
delete(request, obj_id)[source]
name = 'deleteipsecpolicy'
policy_rules = (('network', 'delete_ipsecpolicy'),)
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 0x5b83758>, 'update': <function update at 0x5b835f0>, 'policy_rules': (('network', 'delete_ipsec_site_connection'),), 'get_success_url': <function get_success_url at 0x5b83668>, 'get_param_name': <function get_param_name at 0x5ba1b90>, 'allowed': <function allowed at 0x5ba1848>, 'help_text': <django.utils.functional.__proxy__ object at 0x3acb790>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, '__init__': <function __init__ at 0x5b837d0>, 'name': 'deleteipsecsiteconnection', 'action_present': <staticmethod object at 0xfd1d910>, 'action_past': <staticmethod object at 0xfd1d948>, 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5b83938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5b83488>, '_get_action_name': <function _get_action_name at 0x5b83500>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'action': <function action at 0x5b83848>, 'get_default_attrs': <function get_default_attrs at 0x5b836e0>, '__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 0x10573410>}
delete(request, obj_id)[source]
name = 'deleteipsecsiteconnection'
policy_rules = (('network', 'delete_ipsec_site_connection'),)
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 0x5b83758>, 'update': <function update at 0x5b835f0>, 'policy_rules': (('network', 'delete_vpnservice'),), 'get_success_url': <function get_success_url at 0x5b83668>, 'get_param_name': <function get_param_name at 0x5ba1b90>, 'allowed': <function allowed at 0xfffd2a8>, 'help_text': <django.utils.functional.__proxy__ object at 0x3acb790>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, '__init__': <function __init__ at 0x5b837d0>, 'name': 'deletevpnservice', 'action_present': <staticmethod object at 0xfe5cd00>, 'action_past': <staticmethod object at 0xfe5ce88>, 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5b83938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5b83488>, '_get_action_name': <function _get_action_name at 0x5b83500>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'action': <function action at 0x5b83848>, 'get_default_attrs': <function get_default_attrs at 0x5b836e0>, '__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 0xfffd9b0>}
delete(request, obj_id)[source]
name = 'deletevpnservice'
policy_rules = (('network', 'delete_vpnservice'),)
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 0xcfb06d0>
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 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 0xf9b47d0>
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 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 0xe67c5d0>
IPSecSiteConnectionsTable.STATUS_CHOICES = (('Active', True), ('Down', True), ('Error', False))
IPSecSiteConnectionsTable.STATUS_DISPLAY_CHOICES = (('Active', <django.utils.functional.__proxy__ object at 0xe6f1d50>), ('Down', <django.utils.functional.__proxy__ object at 0xe6f1ed0>), ('Error', <django.utils.functional.__proxy__ object at 0xe6f18d0>))
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 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 0x5ba1cf8>, 'update': <function update at 0x5ba1938>, 'policy_rules': (('network', 'update_ikepolicy'),), 'get_link_url': <function get_link_url at 0x105735f0>, 'ajax': False, 'allowed': <function allowed at 0x10573668>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, '__init__': <function __init__ at 0x5ba1c08>, 'name': 'updateikepolicy', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1d70>, '_allowed': <function _allowed at 0x5ba18c0>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x5ba1aa0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x5ba1c80>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xe6f1690>, '__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 0xe6f1690>
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 0x5ba1cf8>, 'update': <function update at 0x5ba1938>, 'policy_rules': (('network', 'update_ipsecpolicy'),), 'get_link_url': <function get_link_url at 0x105736e0>, 'ajax': False, 'allowed': <function allowed at 0x10573758>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, '__init__': <function __init__ at 0x5ba1c08>, 'name': 'updateipsecpolicy', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1d70>, '_allowed': <function _allowed at 0x5ba18c0>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x5ba1aa0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x5ba1c80>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xe6f1950>, '__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 0xe6f1950>
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 0x5ba1cf8>, 'update': <function update at 0x5ba1938>, 'policy_rules': (('network', 'update_ipsec_site_connection'),), 'get_link_url': <function get_link_url at 0x105737d0>, 'ajax': False, 'allowed': <function allowed at 0x10573848>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, '__init__': <function __init__ at 0x5ba1c08>, 'name': 'updateipsecsiteconnection', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1d70>, '_allowed': <function _allowed at 0x5ba18c0>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x5ba1aa0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x5ba1c80>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xe6f1a50>, '__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 0xe6f1a50>
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 0x5ba1cf8>, 'update': <function update at 0x5ba1938>, 'policy_rules': (('network', 'update_vpnservice'),), 'get_link_url': <function get_link_url at 0x10573500>, 'ajax': False, 'allowed': <function allowed at 0x10573578>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'update': <function update at 0x5ba1938>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1b18>, '_allowed': <function _allowed at 0x5ba18c0>, '__repr__': <function __repr__ at 0x5ba1aa0>, 'allowed': <function allowed at 0x5ba1848>, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x5ba16e0>}, 'get_default_attrs': <function get_default_attrs at 0x5ba1a28>, '__init__': <function __init__ at 0x5ba1c08>, 'name': 'update_vpnservice', 'data_type_matched': <function data_type_matched at 0x5ba1758>, 'get_default_classes': <function get_default_classes at 0x5ba19b0>, 'get_policy_target': <function get_policy_target at 0x5ba17d0>, 'associate_with_table': <function associate_with_table at 0x5ba1d70>, '_allowed': <function _allowed at 0x5ba18c0>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x5ba1aa0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x5ba1c80>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xe6f1650>, '__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 0xe6f1650>
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 0xa8c41d0>
VPNServicesTable.STATUS_CHOICES = (('Active', True), ('Down', True), ('Error', False))
VPNServicesTable.STATUS_DISPLAY_CHOICES = (('Active', <django.utils.functional.__proxy__ object at 0xe67cd50>), ('Down', <django.utils.functional.__proxy__ object at 0xe67c810>), ('Error', <django.utils.functional.__proxy__ object at 0xe67c350>), ('Created', <django.utils.functional.__proxy__ object at 0xe67c150>), ('Pending_Create', <django.utils.functional.__proxy__ object at 0xe67cb10>), ('Pending_Update', <django.utils.functional.__proxy__ object at 0xe67c090>), ('Pending_Delete', <django.utils.functional.__proxy__ object at 0xe67cf10>), ('Inactive', <django.utils.functional.__proxy__ object at 0xe67c7d0>))
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>)])
openstack_dashboard.dashboards.project.vpn.tables.get_local_ips(vpn)[source]

Previous topic

The openstack_dashboard.dashboards.project.vpn.panel Module

Next topic

The openstack_dashboard.dashboards.project.vpn.tabs Module

This Page