def post(self, version): logging.debug("ServicesListHandler#post") if (self.valid_version(version)): name = self.request.get('name', default_value=None) description = self.request.get('description', default_value=None) region = self.request.get('region', default_value=None) if name and description and region: slug = Service.slugify(name, region) existing_s = Service.get_by_slug(slug) # Update existing resource if existing_s: existing_s.description = description if region: existing_s.region = Region.get_by_name(region) existing_s.slug = Service.slugify(name, region) existing_s.put() self.json(existing_s.rest(self.base_url(version))) # Create new service else: region = Region.get_by_name(region) s = Service(name=name, slug=slug, description=description, region=region) s.put() self.json(s.rest(self.base_url(version))) else: self.error(400, "Bad Data: Name: %s, Description: %s, Region: %s" % (name, description, region)) else: self.error(404, "API Version %s not supported" % version)
def post(self, version): logging.debug("AnnouncementsListHandler#post") if (self.valid_version(version)): message = self.request.get('message', default_value=None) region = self.request.get('region', default_value=None) key = self.request.get('key', default_value=None) if message: if key: # modify an existing announcement a = Announcement.get(key) a.message = message else: # create a new announcement a = Announcement(message=message) if region: region = Region.get_by_name(region) a.region = region else: a.region = None a.put() self.json(a.to_json()) else: self.error(400, "Bad Data: Missing Message") else: self.error(404, "API Version %s not supported" % version)
def post(self, version, service_slug): logging.debug("ServiceInstanceHandler#post") name = self.request.get('name', default_value=None) description = self.request.get('description', default_value=None) region = self.request.get('region', default_value=None) if (self.valid_version(version)): service = Service.get_by_slug(service_slug) if service: if description: service.description = description if name: service.name = name if region: service.region = Region.get_by_name(region) if name or description or region: service.slug = Service.slugify(service.name, service.region.name) service.put() self.json(service.rest(self.base_url(version))) else: self.error(404, "Service %s does not exist" % service_slug) else: self.error(404, "API Version %s not supported" % version)
def get(self, version): logging.debug("AnnouncementsListHandler#get") if (self.valid_version(version)): region = self.request.get('region', default_value=None) if region: region = Region.get_by_name(region) self.json({"announcements": Announcement.get_active(region)}) else: self.error(404, "API Version %s not supported" % version)
def post(self, version): logging.debug("RegionListHandler#post") if (self.valid_version(version)): name = self.request.get('name', default_value=None) if name: existing_r = Region.get_by_name(name) if existing_r: self.error(400, 'Bad Data: Name %s already in use.' % name) else: # Create new region r = Region(name=name) r.put() else: self.error(400, "Bad Data: Name: %s" % name) else: self.error(404, "API Version %s not supported" % version)
def get(self, version): logging.debug("ServicesListHandler#get") if (self.valid_version(version)): region = self.request.get('region', default_value=None) query = Service.all().order('name') if region: r = Region.get_by_name(region) query.filter("region = ", r) data = [] for s in query: data.append(s.rest(self.base_url(version))) data = { "services": data } self.json(data) else: self.error(404, "API Version %s not supported" % version)