/opt/imh-python/lib/python3.9/site-packages/openstack/network/v2
NameSizeModeActions
__pycache__/-0755rm
address_scope.py14950644editdlrm
agent.py48830644editdlrm
auto_allocated_topology.py17410644editdlrm
availability_zone.py14490644editdlrm
extension.py12720644editdlrm
firewall_group.py23230644editdlrm
firewall_policy.py36750644editdlrm
firewall_rule.py28120644editdlrm
flavor.py20730644editdlrm
floating_ip.py37840644editdlrm
health_monitor.py26320644editdlrm
listener.py26150644editdlrm
load_balancer.py22800644editdlrm
metering_label.py14430644editdlrm
metering_label_rule.py18880644editdlrm
network.py55450644editdlrm
network_ip_availability.py18230644editdlrm
network_segment_range.py28730644editdlrm
pool.py36760644editdlrm
pool_member.py20950644editdlrm
port.py65940644editdlrm
port_forwarding.py17300644editdlrm
qos_bandwidth_limit_rule.py13260644editdlrm
qos_dscp_marking_rule.py10920644editdlrm
qos_minimum_bandwidth_rule.py12420644editdlrm
qos_policy.py20430644editdlrm
qos_rule_type.py11030644editdlrm
quota.py56100644editdlrm
rbac_policy.py14750644editdlrm
router.py72420644editdlrm
security_group.py20590644editdlrm
security_group_rule.py39000644editdlrm
segment.py18650644editdlrm
service_profile.py14670644editdlrm
service_provider.py12420644editdlrm
subnet.py37430644editdlrm
subnet_pool.py34090644editdlrm
trunk.py28100644editdlrm
vpn_service.py19170644editdlrm
_base.py12390644editdlrm
_proxy.py1913740644editdlrm
__init__.py00644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/openstack/network/v2/firewall_policy.py (3675B)
# Copyright (c) 2018 China Telecom Corporation # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from openstack.exceptions import HttpException from openstack import resource from openstack import utils class FirewallPolicy(resource.Resource): resource_key = 'firewall_policy' resources_key = 'firewall_policies' base_path = '/fwaas/firewall_policies' # capabilities allow_create = True allow_fetch = True allow_commit = True allow_delete = True allow_list = True _query_mapping = resource.QueryParameters( 'description', 'firewall_rules', 'name', 'project_id', 'shared') # Properties #: Each time that the firewall policy or its associated rules are changed, #: the API sets this attribute to false. To audit the policy, #: explicitly set this attribute to true. audited = resource.Body('audited') #: The firewall group rule description. description = resource.Body('description') #: The ID of the firewall policy. id = resource.Body('id') #: A list of the IDs of the firewall rules associated with the #: firewall policy. firewall_rules = resource.Body('firewall_rules') #: The name of a firewall policy name = resource.Body('name') #: The ID of the project that owns the resource. project_id = resource.Body('project_id') #: Set to true to make this firewall policy visible to other projects. shared = resource.Body('shared') def insert_rule(self, session, **body): """Insert a firewall_rule into a firewall_policy in order. :param session: The session to communicate through. :type session: :class:`~openstack.session.Session` :param dict body: The body requested to be updated on the router :returns: The updated firewall policy :rtype: :class:`~openstack.network.v2.firewall_policy.FirewallPolicy` :raises: :class:`~openstack.exceptions.HttpException` on error. """ url = utils.urljoin(self.base_path, self.id, 'insert_rule') return self._put_request(session, url, body) def remove_rule(self, session, **body): """Remove a firewall_rule from a firewall_policy. :param session: The session to communicate through. :type session: :class:`~openstack.session.Session` :param dict body: The body requested to be updated on the router :returns: The updated firewall policy :rtype: :class:`~openstack.network.v2.firewall_policy.FirewallPolicy` :raises: :class:`~openstack.exceptions.HttpException` on error. """ url = utils.urljoin(self.base_path, self.id, 'remove_rule') return self._put_request(session, url, body) def _put_request(self, session, url, json_data): resp = session.put(url, json=json_data) data = resp.json() if not resp.ok: message = None if 'NeutronError' in data: message = data['NeutronError']['message'] raise HttpException(message=message, response=resp) self._body.attributes.update(data) self._update_location() return self