blob: 5771aefdc68418ce4a4805661ace02cc71f2f6a7 [file] [log] [blame]
Sapan Bhatia26d40bc2014-05-12 15:28:02 -04001import os
2import base64
3from django.db.models import F, Q
4from planetstack.config import Config
5from observer.syncstep import SyncStep
6from core.models.site import Site
7from ec2_observer.awslib import *
8
9class SyncSites(SyncStep):
10 provides=[Site]
11 requested_interval=3600
12
13 def fetch_pending(self):
14 current_sites = Site.objects.all()
15 zones = aws_run('ec2 describe-availability-zones')
16 available_sites = [zone['ZoneName'] for zone in zones]
17
18 new_site_names = list(set(available_sites) - set(zones))
19
20 new_sites = []
21 for s in new_site_names:
22 site = Site(name=s,
23 login_base=s,
24 site_url="www.amazon.com",
25 enabled=True,
26 is_public=True,
27 abbreviated_name=s)
28 new_sites.append(site)
29
30 return new_sites
31
32 def sync_record(self, site):
33 site.save()
34