• python 操作f5 pool


    AFAT1:~/sbin # cat diable_pool_member.py 
    #NodeAddress
    import sys
    import pycontrol.pycontrol as pc
    import time
    import csv
    import ssl
    if len(sys.argv) != 6:
        print sys.argv[0] + ' ' + 'f5managedip' + ' ' + 'username' + ' ' + 'passwd' + ' ' + 'poolname' +'ip:port'
    else :
    hostname = sys.argv[1]
    username = sys.argv[2]
    password = sys.argv[3]
    poolname = sys.argv[4]
    member=sys.argv[5]
    members=[member]
    pool=poolname
    #ssl._create_default_https_context = ssl._create_unverified_context
    b = pc.BIGIP(hostname=hostname, username=username, password=password,fromurl = True,wsdls=['LocalLB.PoolMember','LocalLB.Pool'])
    
    def member_factory(b, member):
      ip,port = member.split(':')
      pmem = b.LocalLB.PoolMember.typefactory.create('Common.IPPortDefinition')
      pmem.address = ip
      pmem.port = int(port)
      return pmem
    
    def session_state_factory(b, members):
        session_states=[]
        for x in members:
            print x
            sstate = b.LocalLB.PoolMember.typefactory.create('LocalLB.PoolMember.MemberSessionState')
            sstate.member = member_factory(b, x)
            #sstate.session_state = 'STATE_FORCED_DISABLED'
            sstate.session_state = 'STATE_DISABLED'
            #SESSION_STATUS_ADDRESS_DISABLED
            #sstate.session_state = 'AVAILABILITY_STATUS_GRAY'
            session_states.append(sstate)
            #print session_states
        return session_states
    # The session state sequence object. Takes a list of 'member session state'
    # objects.Wrap the members in a LocalLB.PoolMember.MemberSessionStateSequence
    sstate_seq = b.LocalLB.PoolMember.typefactory.create('LocalLB.PoolMember.MemberSessionStateSequence')
    
    # 'item' is an attribute that maps to a list of 'Common.IPPortDefinition' objects.
    sstate_seq.item = session_state_factory(b, members)
    b.LocalLB.PoolMember.set_session_enabled_state(pool_names=[poolname],session_states=[sstate_seq])
    
    
    AFAT1:~/sbin # cat enable_pool_member.py 
    #NodeAddress
    import sys
    import pycontrol.pycontrol as pc
    import time
    import csv
    import ssl
    if len(sys.argv) != 6:
        print sys.argv[0] + ' ' + 'f5managedip' + ' ' + 'username' + ' ' + 'passwd' + ' ' + 'poolname' +'ip:port'
    else :
    hostname = sys.argv[1]
    username = sys.argv[2]
    password = sys.argv[3]
    poolname = sys.argv[4]
    member=sys.argv[5]
    members=[member]
    pool=poolname
    #ssl._create_default_https_context = ssl._create_unverified_context
    b = pc.BIGIP(hostname=hostname, username=username, password=password,fromurl = True,wsdls=['LocalLB.PoolMember','LocalLB.Pool'])
    
    def member_factory(b, member):
      ip,port = member.split(':')
      pmem = b.LocalLB.PoolMember.typefactory.create('Common.IPPortDefinition')
      pmem.address = ip
      pmem.port = int(port)
      return pmem
    
    def session_state_factory(b, members):
        session_states=[]
        for x in members:
            print x
            sstate = b.LocalLB.PoolMember.typefactory.create('LocalLB.PoolMember.MemberSessionState')
            sstate.member = member_factory(b, x)
            sstate.session_state = 'STATE_ENABLED'
            #SESSION_STATUS_ADDRESS_DISABLED
            #sstate.session_state = 'AVAILABILITY_STATUS_GRAY'
            session_states.append(sstate)
            #print session_states
        return session_states
    # The session state sequence object. Takes a list of 'member session state'
    # objects.Wrap the members in a LocalLB.PoolMember.MemberSessionStateSequence
    sstate_seq = b.LocalLB.PoolMember.typefactory.create('LocalLB.PoolMember.MemberSessionStateSequence')
    
    # 'item' is an attribute that maps to a list of 'Common.IPPortDefinition' objects.
    sstate_seq.item = session_state_factory(b, members)
    b.LocalLB.PoolMember.set_session_enabled_state(pool_names=[poolname],session_states=[sstate_seq])
    
  • 相关阅读:
    C#语法造成的小问题(编译原理知识)
    COM套间对.NET程序使用COM对象的影响
    为什么连接字符串一定要用StringBuilder(介绍CLR Profiler)
    编译原理系列文章
    .NET与COM互操作系列
    Windows XP SidebySide功能对VC程序的影响
    引起FileNotFoundException原因通用分析过程
    Flex组件的项目渲染器(ItemRenderer)使用总结
    Flex组件开发总结20090209
    如何去掉超链接图片外蓝色的边框
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348669.html
Copyright © 2020-2023  润新知