2 # Copyright 2016 RIFT.IO Inc
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 # Author(s): Varun Prasad
17 # Creation Date: 09/28/2016
23 gi
.require_version("RwStagingMgmtYang", "1.0")
24 from gi
.repository
import (
28 import rift
.mano
.dts
as mano_dts
32 RPC_STAGING_CREATE_ENDPOINT
= RwStagingMgmtYang
.YangOutput_RwStagingMgmt_CreateStagingArea
35 class StagingAreaCreateRpcHandler(mano_dts
.AbstractRpcHandler
):
36 """RPC handler to generate staging Area"""
38 def __init__(self
, log
, dts
, loop
, store
):
39 super().__init
__(log
, dts
, loop
)
44 return "/rw-staging-mgmt:create-staging-area"
47 def callback(self
, ks_path
, msg
):
48 """Forwards the request to proxy.
50 self
.log
.debug("Got a staging create request for {}".format(msg
.as_dict()))
51 staging_area
= self
.store
.create_staging_area(msg
)
53 rpc_op
= RPC_STAGING_CREATE_ENDPOINT
.from_dict({
55 "endpoint": "api/upload/{}".format(staging_area
.model
.area_id
)})