class datapowerClient( object ): def __init__( self, url, username, password ): ''' Builds a datapowerClient :param url: The url of the REST inteface of the Datapower device :param username: The username to connect to the datapower device :param password: The passoword to connecto to the datapwoer device ''' self.url = url if url.endswith('/'): self.url = url[:-1] self.http_connection = HttpConnection(url, username, password) self.request = HttpRequest( self.http_connection, username, password) # End __init__ def uploadFile( self, domain, path, fileName, fileData ): ''' Upload a file to a Datapower device param: domain: The domain in the Datapower device where the file will be stored param: path: the Datapower path param: fileName: the file to be stored on the datapower devide param: fileData: the file content to be stored on the datapower devide ''' uri = '/mgmt/filestore/%s/%s/%s' % ( domain, path, fileName ) fileData64 = base64.encodestring( fileData ) payload = ''' { "file": { "name":"%s", "content":"%s" } } ''' body = payload % ( fileName, fileData64 ) r = self.request.put( uri, HttpEntityBuilder.create_string_entity( body ), contentType = 'application/json' ) response = json.loads( r.response ) return response['result'] # End uploadFile def downloadFile( self, domain, path, fileName ): ''' Download a file from a Datapower device param: domain: The domain in the Datapower device where the file will be stored param: path: the Datapower path param: file: the file to be stored on the datapower devide ''' uri = '/mgmt/filestore/%s/%s/%s' % ( domain, path, fileName ) r = self.request.get( uri, contentType = 'application/json' ) response = json.loads(r.response) print response['_links']['self']['href'] return base64.decodestring(response['file']) # End downloadFile def deleteFile( self, domain, path, fileName ): ''' Delete a file from a Datapower device param: domain: The domain in the Datapower device where the file will be stored param: path: the Datapower path param: file: the file to be stored on the datapower devide ''' uri = '/mgmt/filestore/%s/%s/%s' % ( domain, path, fileName ) r = self.request.delete( uri, contentType = 'application/json' ) response = json.loads(r.response) return response['result']
class datapowerClient(object): def __init__(self, url, username, password): ''' Builds a datapowerClient :param url: The url of the REST inteface of the Datapower device :param username: The username to connect to the datapower device :param password: The passoword to connecto to the datapwoer device ''' self.url = url if url.endswith('/'): self.url = url[:-1] self.http_connection = HttpConnection(url, username, password) self.request = HttpRequest(self.http_connection, username, password) # End __init__ def uploadFile(self, domain, path, fileName, fileData): ''' Upload a file to a Datapower device param: domain: The domain in the Datapower device where the file will be stored param: path: the Datapower path param: fileName: the file to be stored on the datapower devide param: fileData: the file content to be stored on the datapower devide ''' uri = '/mgmt/filestore/%s/%s/%s' % (domain, path, fileName) fileData64 = base64.encodestring(fileData) payload = ''' { "file": { "name":"%s", "content":"%s" } } ''' body = payload % (fileName, fileData64) r = self.request.put(uri, HttpEntityBuilder.create_string_entity(body), contentType='application/json') response = json.loads(r.response) return response['result'] # End uploadFile def downloadFile(self, domain, path, fileName): ''' Download a file from a Datapower device param: domain: The domain in the Datapower device where the file will be stored param: path: the Datapower path param: file: the file to be stored on the datapower devide ''' uri = '/mgmt/filestore/%s/%s/%s' % (domain, path, fileName) r = self.request.get(uri, contentType='application/json') response = json.loads(r.response) print response['_links']['self']['href'] return base64.decodestring(response['file']) # End downloadFile def deleteFile(self, domain, path, fileName): ''' Delete a file from a Datapower device param: domain: The domain in the Datapower device where the file will be stored param: path: the Datapower path param: file: the file to be stored on the datapower devide ''' uri = '/mgmt/filestore/%s/%s/%s' % (domain, path, fileName) r = self.request.delete(uri, contentType='application/json') response = json.loads(r.response) return response['result']