From 21ed99907a1dc86e1f35598c698e2033ce5b009a Mon Sep 17 00:00:00 2001 From: "Marcus Vinicius G. Cesario" Date: Tue, 25 Aug 2015 21:28:19 -0300 Subject: [PATCH] create api/interface client --- networkapiclient/ApiInterface.py | 52 +++++++++++++++++++++++++++++++ networkapiclient/ClientFactory.py | 13 ++++++++ 2 files changed, 65 insertions(+) create mode 100644 networkapiclient/ApiInterface.py diff --git a/networkapiclient/ApiInterface.py b/networkapiclient/ApiInterface.py new file mode 100644 index 0000000..435a2ea --- /dev/null +++ b/networkapiclient/ApiInterface.py @@ -0,0 +1,52 @@ +# -*- coding:utf-8 -*- +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +from networkapiclient.ApiGenericClient import ApiGenericClient + +class ApiInterfaceRequest(ApiGenericClient): + def __init__(self, networkapi_url, user, password, user_ldap=None): + """Class constructor receives parameters to connect to the networkAPI. + :param networkapi_url: URL to access the network API. + :param user: User for authentication. + :param password: Password for authentication. + """ + + super(ApiInterfaceRequest, self).__init__( + networkapi_url, + user, + password, + user_ldap + ) + + def deploy_interface_config_sync(self, interface_id): + """ + """ + + uri = "api/interface/%s/deploy_config_sync/" % (interface_id) + + data = dict() + + return self.put(uri) + + def deploy_channel_config_sync(self, channel_id): + """ + """ + + uri = "api/interface/channel/%s/deploy_config_sync/" % (channel_id) + + data = dict() + + return self.put(uri) diff --git a/networkapiclient/ClientFactory.py b/networkapiclient/ClientFactory.py index 5684b73..77e0571 100755 --- a/networkapiclient/ClientFactory.py +++ b/networkapiclient/ClientFactory.py @@ -52,6 +52,7 @@ from networkapiclient.OptionPool import OptionPool from networkapiclient.Healthcheck import Healthcheck from networkapiclient.ApiVipRequest import ApiVipRequest +from networkapiclient.ApiInterface import ApiInterfaceRequest from networkapiclient.Rack import Rack from networkapiclient.RackServers import RackServers @@ -377,6 +378,18 @@ def create_api_vip_request(self): self.user_ldap ) + def create_api_interface_request(self): + + """Get an instance of Api Vip Requests services facade.""" + + return ApiInterfaceRequest( + self.networkapi_url, + self.user, + self.password, + self.user_ldap + ) + + def create_rack(self): """Get an instance of rack services facade.""" return Rack(