def _cloudstack_securitygroup_to_gce()

in gstack/controllers/firewalls.py [0:0]


def _cloudstack_securitygroup_to_gce(cloudstack_response):
    if 'ingressrule' in cloudstack_response:
        rules = cloudstack_response['ingressrule']
        allowed = []
        sourceranges = []
        for rule in rules:
            ports = []
            if 'startport' in rule:
                for i in range(rule['startport'], rule['endport'] + 1):
                    ports.append(str(i))
            allowed.append({
                "IPProtocol": rule['protocol'],
                "ports": ports
            })
            if 'cidr' in rule.keys():
                sourceranges.append(rule['cidr'])
        return ({
            "kind": "compute#firewall",
            "selfLink": '',
            "id": cloudstack_response['id'],
            "creationTimestamp": '',
            "name": cloudstack_response['name'],
            "description": cloudstack_response['description'],
            "network": '',
            "sourceRanges": sourceranges,
            "sourceTags": [
                ''
            ],
            "targetTags": cloudstack_response['tags'],
            "allowed": allowed
        })