Georgy Okrokvertskhov 8994ffcab1 1. Fixed issue with main file start ./bin/windc-api
2. Added router to Route /datacenters/ and /services/ URLs
3. Added stubs for windc/core/api.
4. Fixed start-up process for service
-------------------------------------------------
Now it is working service which will reply for
curl http://localhost:8181/tenant_id/datacenters/
curl http://localhost:8181/tenant_id/datacenters/dc_id/services
curl http://localhost:8181/tenant_id/datacenters/dc_id/services/service_id
2013-02-11 14:13:20 -08:00

57 lines
1.9 KiB
Python

# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2011 OpenStack LLC.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import logging
import routes
from windc.api.v1 import datacenters
from windc.api.v1 import services
#from . import tasks
from openstack.common import wsgi
LOG = logging.getLogger(__name__)
class API(wsgi.Router):
"""WSGI router for balancer v1 API requests."""
def __init__(self, conf, **local_conf):
self.conf = conf
mapper = routes.Mapper()
tenant_mapper = mapper.submapper(path_prefix="/{tenant_id}")
datacenter_resource = datacenters.create_resource(self.conf)
datacenter_collection = tenant_mapper.collection(
"datacenters", "datacenter",
controller=datacenter_resource, member_prefix="/{datacenter_id}",
formatted=False)
service_resource = services.create_resource(self.conf)
service_collection = datacenter_collection.member.collection('services', 'service',
controller=service_resource, member_prefix="/{service_id}",
formatted=False)
service_collection.member.connect("/{status}", action="changeServiceStatus",
conditions={'method': ["PUT"]})
mapper.connect("/servicetypes",
controller=datacenter_resource,
action="show_servicetypes",
conditions={'method': ["GET"]})
super(API, self).__init__(mapper)