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
})