in SecurityGroups/config/code/index.py [0:0]
def authorizeIngressRule(sg, rule):
# print(sg, rule, authorize)
# if authorize:
permissions = []
# print("add", rule)
permission_set = {
"IpProtocol": rule.protocol,
"IpRanges": [{"CidrIp": cidr} for cidr in rule.cidrs],
"Ipv6Ranges": [{"CidrIpv6": cidr} for cidr in rule.ipv6_cidrs],
"UserIdGroupPairs": [{"GroupId": GroupId} for GroupId in rule.other_security_groups],
"PrefixListIds": [{"PrefixListId": prefix} for prefix in rule.prefix_list_id],
}
_add_entry(permission_set, "FromPort", rule.from_port)
_add_entry(permission_set, "ToPort", rule.to_port)
permissions.append(permission_set)
boto = boto3.client('ec2')
try:
response = boto.authorize_security_group_ingress(
GroupId=sg,
IpPermissions=[permission_set]
)
except client.exceptions.ClientError:
print('Failed to add Ingress')
pass