def find_ingress_cidr(clients, cidr): for client in clients: if get_ingress_cidr(securitygroup.Client(client)).count(cidr) > 0: logger.info(cidr + ' is found in ' + client) return client logger.error('Could not find ' + cidr) return False
def find_empty_slots(clients): for client in clients: empty_slot_ = get_empty_slots(securitygroup.Client(client)) if empty_slot_ > 0: logger.debug(client + ' has ' + str(empty_slot_) + ' empty slots') return client logger.error('There is no empty slot') sys.exit()
def remove_ingress(client, cidr): logger.info('- Removing obsolete cidr: ' + cidr + ' from ' + client) try: logger.info( securitygroup.Client(client).remove_ingress(IpProtocol='tcp', FromPort=80, ToPort=443, CidrIp=cidr)) except: logger.error("Unexpected error: " + str(sys.exc_info()[1]))
def add_ingress(client, cidr): logger.info('- Adding cidr: ' + cidr + ' to ' + client) try: logger.info( securitygroup.Client(client).add_ingress(IpProtocol='tcp', FromPort=80, ToPort=443, CidrIp=cidr)) except: logger.error("Unexpected error: " + str(sys.exc_info()[1]))
def get_configed_cidr(clients): configed_cidr_ = list() for client in clients: for ip in get_ingress_cidr(securitygroup.Client(client)): configed_cidr_.append(ip) return configed_cidr_
def get_total_empty_slots(clients): total_empty_slots_ = 0 for client in clients: total_empty_slots_ += get_empty_slots(securitygroup.Client(client)) return total_empty_slots_