in functions/source/UpdateDnsRecord/handler.py [0:0]
def get_free_replica_number():
response = ec2.describe_instances(
Filters=[
{ 'Name': 'instance-state-name', 'Values': [ 'running' ] },
{ 'Name': f'tag:{ENVIRONMENT_TAG_NAME}', 'Values': [ ENVIRONMENT_NAME ] },
{ 'Name': 'tag-key', 'Values': [ REPLICA_TAG_NAME ] }
]
)
reservations = response['Reservations']
running_replicas = { get_replica_number(instance) for r in reservations for instance in r['Instances'] }
print(f'running replicas: {running_replicas}')
free_replicas = ALL_REPLICAS.difference(running_replicas)
print(f'free replicas: {free_replicas}')
return next(iter(free_replicas))