# Copyright (c) 2015 Huawei Tech. Co., Ltd. # 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. # # Copyright (c) 2017 Wind River Systems, Inc. # # The right to copy, distribute, modify, or otherwise make use # of this software may be licensed only pursuant to the terms # of an applicable Wind River license agreement. # import pecan from dcmanager.api.controllers.v1 import root as v1_root class RootController(object): @pecan.expose('json') def _lookup(self, version, *remainder): version = str(version) minor_version = version[-1] major_version = version[1] remainder = remainder + (minor_version,) if major_version == '1': return v1_root.Controller(), remainder @pecan.expose(generic=True, template='json') def index(self): return { "versions": [ { "status": "CURRENT", "links": [ { "rel": "self", "href": pecan.request.application_url + "/v1.0/" } ], "id": "v1.0", "updated": "2017-10-2" } ] } @index.when(method='POST') @index.when(method='PUT') @index.when(method='DELETE') @index.when(method='HEAD') @index.when(method='PATCH') def not_supported(self): pecan.abort(405)