diff options
author | spisarski <s.pisarski@cablelabs.com> | 2017-11-03 10:39:24 -0600 |
---|---|---|
committer | spisarski <s.pisarski@cablelabs.com> | 2017-11-06 08:46:43 -0700 |
commit | 5ccbf950eadbe54acad6e03cc43c19e05ee4e912 (patch) | |
tree | 76da9271e5095065e1e01195287afe53b820022c /snaps/openstack/utils/settings_utils.py | |
parent | 15b7270542288263189abebcfa4f89c0245aaf8b (diff) |
Added method to OpenStackHeatStack to return OpenStackSecurityGroup objects.
Continuation of the story SNAPS-153 for adding creator/state machine
instances for OpenStack objects deployed via Heat.
JIRA: SNAPS-207
Change-Id: Id479b69c2b166ab38724c3886096d8483998f819
Signed-off-by: spisarski <s.pisarski@cablelabs.com>
Diffstat (limited to 'snaps/openstack/utils/settings_utils.py')
-rw-r--r-- | snaps/openstack/utils/settings_utils.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/snaps/openstack/utils/settings_utils.py b/snaps/openstack/utils/settings_utils.py index 2e29063..ea1d018 100644 --- a/snaps/openstack/utils/settings_utils.py +++ b/snaps/openstack/utils/settings_utils.py @@ -21,6 +21,8 @@ from snaps.openstack.create_instance import ( from snaps.openstack.create_keypairs import KeypairSettings from snaps.openstack.create_network import ( PortSettings, SubnetSettings, NetworkSettings) +from snaps.openstack.create_security_group import ( + SecurityGroupSettings, SecurityGroupRuleSettings) from snaps.openstack.create_router import RouterSettings from snaps.openstack.create_volume import VolumeSettings from snaps.openstack.create_volume_type import ( @@ -41,6 +43,30 @@ def create_network_settings(neutron, network): subnet_settings=create_subnet_settings(neutron, network)) +def create_security_group_settings(neutron, security_group): + """ + Returns a NetworkSettings object + :param neutron: the neutron client + :param security_group: a SNAPS-OO SecurityGroup domain object + :return: + """ + rules = neutron_utils.get_rules_by_security_group(neutron, security_group) + + rule_settings = list() + for rule in rules: + rule_settings.append(SecurityGroupRuleSettings( + sec_grp_name=security_group.name, description=rule.description, + direction=rule.direction, ethertype=rule.ethertype, + port_range_min=rule.port_range_min, + port_range_max=rule.port_range_max, protocol=rule.protocol, + remote_group_id=rule.remote_group_id, + remote_ip_prefix=rule.remote_ip_prefix)) + + return SecurityGroupSettings( + name=security_group.name, description=security_group.description, + rule_settings=rule_settings) + + def create_subnet_settings(neutron, network): """ Returns a list of SubnetSettings objects for a given network |