def addService(self, paramDict): #処理メソッド取得 method = paramDict['method'] #辞書からメソッドキーと値を削除 del paramDict['method'] #引数のチェック result = CommonUtils.checkArguments(method, paramDict) if result != True: return {'result': '1', 'message': result} #変数設定 serviceName = paramDict['serviceName'] serviceNameDisp = paramDict['serviceNameDisp'] layer = paramDict['layer'] layerNameDisp = paramDict['layerNameDisp'] runOrder = paramDict['runOrder'] zabbixTemplate = paramDict['zabbixTemplate'] addressUrl = None imageNoList = None if "addressUrl" in paramDict: addressUrl = paramDict['addressUrl'] if "imageNoList" in paramDict: imageNoList = paramDict['imageNoList'] #getComponentTypeNoByName呼び出し try: compNo = CommonUtils.getComponentTypeNoByName(serviceName) except Exception as e: return { 'result': '1', 'message': "サービス情報の取得に失敗したため登録処理を中止します。管理者に連絡を行って下さい。" } if compNo != None: return { 'result': '1', 'message': "指定されたサービス名称は既に使用されています。他の名称を設定して下さい。" } #imageNoListが指定された場合imageNoListの存在チェック if imageNoList is not None: imageNoList = imageNoList.split(",") for imageNo in imageNoList: try: imageData = CommonUtils.getImageDataByNo(imageNo) except Exception as e: return { 'result': '1', 'message': "イメージ情報の取得に失敗したため登録処理を中止します。管理者に連絡を行って下さい。" } if imageData is None: return { 'result': '1', 'message': "指定されたイメージNo:" + imageNo + "は存在しません。イメージ情報を確認して下さい。" } #zabbixTemplateの存在チェックと、存在しない場合の追加処理 #zabbixAPI認証コード発行 try: #getConnectZabbixApi呼び出し auth = CommonUtils.getConnectZabbixApi() except Exception as e: return { 'result': '1', 'message': "zabbixAPI認証コード取得に失敗したため処理を終了します。管理者に連絡を行って下さい。" } if auth == None: return { 'result': '1', 'message': "zabbixAPI認証コードが発行されなかったため処理を終了します。" } #zabbixテンプレート存在チェック try: #getZabbixTemplate呼び出し zabbixTemplateData = CommonUtils.getZabbixTemplate( auth, zabbixTemplate) except Exception as e: return { 'result': '1', 'message': "zabbixテンプレート情報の取得に失敗したため処理を終了します。管理者に連絡を行って下さい。" } #テンプレート情報が未登録の場合登録処理実行 createTemp = True if zabbixTemplateData == False: #createZabbixTemplate呼び出し try: createTemp = CommonUtils.createZabbixTemplate( auth, zabbixTemplate) except Exception as e: return { 'result': '1', 'message': "zabbixテンプレートの追加に失敗したため処理を終了します。管理者に連絡を行って下さい。" } if createTemp != True: return {'result': '1', 'message': createTemp} # サービスを登録 try: componetType = self.conn.getTable("COMPONENT_TYPE") sql = componetType.insert({ "COMPONENT_TYPE_NO": None, "COMPONENT_TYPE_NAME": serviceName, "COMPONENT_TYPE_NAME_DISP": serviceNameDisp, "LAYER": layer, "LAYER_DISP": layerNameDisp, "RUN_ORDER": runOrder, "SELECTABLE": 1, "ZABBIX_TEMPLATE": zabbixTemplate, "ADDRESS_URL": addressUrl }) self.conn.execute(sql) self.conn.commit() except Exception as e: self.conn.rollback() return { 'result': '1', 'message': "COMPONENT_TYPEテーブルへの登録に失敗したため処理を中止します。" } #imageNoListが指定されなかった場合有効状態の全てのイメージをリストに追加 if imageNoList is None: try: imageNoList = CommonUtils.getSelectableImageNoList() except Exception as e: return {'result': '1', 'message': "イメージ情報の取得に失敗したため処理を中止します。"} #imageNoListで指定されたイメージに対してサービス情報を追加 for imageNo in imageNoList: #引数用JSONデータ作成 json_data = '{"method":"validateService","imageNo":"' + imageNo + '","serviceList":"' + serviceName + '"}' jsondic = json.loads(json_data) #validateService呼び出し try: result = self.validateService(jsondic) if "1" == result['result']: return result except Exception as e: return { 'result': '1', 'message': "イメージへのサービス情報追加処理呼び出しに失敗したため処理を中止します。管理者に連絡を行って下さい。" } imageNoList = ",".join(imageNoList) return { 'result': '0', 'message': "サービスモジュール:" + serviceName + "の登録が完了しました。イメージNo:" + imageNoList + "上で利用可能になりました。" }
def addService(self, paramDict): #処理メソッド取得 method = paramDict['method'] #辞書からメソッドキーと値を削除 del paramDict['method'] #引数のチェック result = CommonUtils.checkArguments(method, paramDict) if result != True: return {'result':'1','message':result} #変数設定 serviceName = paramDict['serviceName'] serviceNameDisp = paramDict['serviceNameDisp'] layer = paramDict['layer'] layerNameDisp = paramDict['layerNameDisp'] runOrder = paramDict['runOrder'] zabbixTemplate = paramDict['zabbixTemplate'] addressUrl = None imageNoList = None if "addressUrl" in paramDict: addressUrl = paramDict['addressUrl'] if "imageNoList" in paramDict: imageNoList = paramDict['imageNoList'] #getComponentTypeNoByName呼び出し try: compNo = CommonUtils.getComponentTypeNoByName(serviceName) except Exception as e: return {'result':'1','message':"サービス情報の取得に失敗したため登録処理を中止します。管理者に連絡を行って下さい。"} if compNo != None: return {'result':'1','message':"指定されたサービス名称は既に使用されています。他の名称を設定して下さい。"} #imageNoListが指定された場合imageNoListの存在チェック if imageNoList is not None: imageNoList = imageNoList.split(",") for imageNo in imageNoList: try: imageData = CommonUtils.getImageDataByNo(imageNo) except Exception as e: return {'result':'1','message':"イメージ情報の取得に失敗したため登録処理を中止します。管理者に連絡を行って下さい。"} if imageData is None: return {'result':'1','message':"指定されたイメージNo:" + imageNo + "は存在しません。イメージ情報を確認して下さい。"} #zabbixTemplateの存在チェックと、存在しない場合の追加処理 #zabbixAPI認証コード発行 try: #getConnectZabbixApi呼び出し auth = CommonUtils.getConnectZabbixApi() except Exception as e: return {'result':'1','message':"zabbixAPI認証コード取得に失敗したため処理を終了します。管理者に連絡を行って下さい。"} if auth == None: return {'result':'1','message':"zabbixAPI認証コードが発行されなかったため処理を終了します。"} #zabbixテンプレート存在チェック try: #getZabbixTemplate呼び出し zabbixTemplateData = CommonUtils.getZabbixTemplate(auth, zabbixTemplate) except Exception as e: return {'result':'1','message':"zabbixテンプレート情報の取得に失敗したため処理を終了します。管理者に連絡を行って下さい。"} #テンプレート情報が未登録の場合登録処理実行 createTemp = True if zabbixTemplateData == False: #createZabbixTemplate呼び出し try: createTemp = CommonUtils.createZabbixTemplate(auth, zabbixTemplate) except Exception as e: return {'result':'1','message':"zabbixテンプレートの追加に失敗したため処理を終了します。管理者に連絡を行って下さい。"} if createTemp != True: return {'result':'1','message':createTemp} # サービスを登録 try: componetType = self.conn.getTable("COMPONENT_TYPE") sql = componetType.insert({"COMPONENT_TYPE_NO":None, "COMPONENT_TYPE_NAME":serviceName, "COMPONENT_TYPE_NAME_DISP":serviceNameDisp, "LAYER":layer, "LAYER_DISP":layerNameDisp, "RUN_ORDER":runOrder, "SELECTABLE":1, "ZABBIX_TEMPLATE":zabbixTemplate, "ADDRESS_URL":addressUrl}) self.conn.execute(sql) self.conn.commit() except Exception as e: self.conn.rollback() return {'result':'1','message':"COMPONENT_TYPEテーブルへの登録に失敗したため処理を中止します。"} #imageNoListが指定されなかった場合有効状態の全てのイメージをリストに追加 if imageNoList is None: try: imageNoList = CommonUtils.getSelectableImageNoList() except Exception as e: return {'result':'1','message':"イメージ情報の取得に失敗したため処理を中止します。"} #imageNoListで指定されたイメージに対してサービス情報を追加 for imageNo in imageNoList: #引数用JSONデータ作成 json_data = '{"method":"validateService","imageNo":"' + imageNo + '","serviceList":"' + serviceName + '"}' jsondic = json.loads(json_data) #validateService呼び出し try: result = self.validateService(jsondic) if "1" == result['result']: return result except Exception as e: return {'result':'1','message':"イメージへのサービス情報追加処理呼び出しに失敗したため処理を中止します。管理者に連絡を行って下さい。"} imageNoList = ",".join(imageNoList) return {'result':'0','message':"サービスモジュール:" + serviceName + "の登録が完了しました。イメージNo:" + imageNoList + "上で利用可能になりました。"}