用于Netscaler的Citrix Nitro API启用和禁用服务组中的服务器节点

2024-06-16 14:53:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近开始使用Python开发Nitro API。为了给Netscaler增加一些可伸缩性,我需要能够在服务组中添加启用和禁用服务器节点。下面的代码是我实现这一目标的尝试:

def disable_servicegroup_server_binding(session):
try:


    service_group_service_group_member_binding_obj = {}
    service_group_service_group_member_binding_obj['servicegroupname'] = "testingGroup2"
    service_group_service_group_member_binding_obj['servername'] = "Server1"
    service_group_service_group_member_binding_obj['port'] = 80
    #service_group_service_group_member_binding_obj['delay'] = 30
    #service_group_service_group_member_binding_obj['graceful'] = "YES"

    response = post(session, "disable", "servicegroup_servicegroupmember_binding", service_group_service_group_member_binding_obj)

但是当我运行这段代码时,它显示“这个资源已经存在”。它似乎在尝试在服务器和服务组之间创建一个新的绑定,而不是禁用服务器。“delay”和“gracement”属性未找到,即使它们显示在nitro库中的“servicegroup_servicegroupmember_binding”中(因此这只是暂时注释掉了)。在

有没有人碰巧知道一种方法可以让这种功能正常工作?我能想到的唯一解决办法是删除绑定,然后创建一个已经设置了“enabled”或“disabled”的新绑定,但这将是一个糟糕的解决方案,因为禁用将无法添加优雅的关闭。在

谢谢大家


Tags: 代码服务器apiobjsessionservicegroupnetscaler