Forum Discussion

Ed_Summers's avatar
Ed_Summers
Icon for Nimbostratus rankNimbostratus
Jan 19, 2017

F5 Python SDK: How to get virtual server availability?

Due to my limited Python and SDK experience I am finding it difficult to easily obtain the availability state of a virtual server. Given a 'virtual' object, what is the best/easiest way to return the value of that VS' 'Availability' state (offline, available, unknown, etc)?

I can do the following:

my_virtual = mgmt.tm.ltm.virtuals.virtual.load(name='some_virtual')
stats = my_virtual.stats.load()

Printing the stats.raw shows that there is a nested dictionary entry keyed 'status.availibityState' that appears to hold the value I'm looking for. Forgive my inexperience, but what is the easiest way to get the availability state of a virtual using the SDK? Perhaps a method I'm missing that retrieves the value above, or the value is easily obtained elsewhere.

Appreciate any assitance!

27 Replies

  • Great to see more people opting to use the SDK!

    You can work with the output normally, as with any dict-type, using

    dict.get('something')
    . Add in a set of square-brackets, if the extracted value is yet another key-value pair, and if you're looking for a very specific match:
    dict.get('something')['something']
    .

    Note: In the for-loop, I'm using

    virtual.name
    - this extraction works without use of
    .get('name')
    because 'name' is a 1st-level extraction - no nesting is involved. For the same reason, I can do
    state = stats.entries...
    in my function, instead of
    state = stats.get('entries')...

    f5-sdk v2.2.0 ; py3.4.3 ; 11.5.4

    from f5.bigip import ManagementRoot
    
    def get_vs_state(vs_name):
        virtual_s = API_ROOT.tm.ltm.virtuals.virtual.load(name=vs_name)
        stats = virtual_s.stats.load()
        state = stats.entries.get('status.availabilityState')['description']
        return state
    
    API_ROOT = ManagementRoot("bip-01", "admin", "admin")
    VIRTUALS = API_ROOT.tm.ltm.virtuals.get_collection()
    
     EXAMPLE OF USE:
     Print AvailabilityState of all Virtual Servers
    for virtual in VIRTUALS:
        print("Name: '%s' AvailabilityState: '%s'" % (virtual.name, get_vs_state(virtual.name)))
    
    • Ed_Summers's avatar
      Ed_Summers
      Icon for Nimbostratus rankNimbostratus

      Thank you for your help and patience! Much appreciated...

      Not sure if there is a difference in the data structures between our versions: F5 SDK v2.0.2 BIGIP 12.1.1 Python 3.3.2

      When I run the stats.entries.get method you outlined above, I get a return of 'None'. However there is a value for status.availibilityState buried in nested dicts for stats.entries.

      Here's a test I ran in interactive shell (I have a module that obtains a token and base object of 'mgmt'):

      >>> virtuals = mgmt.tm.ltm.virtuals.virtual.load(name='my_virtual_name')
      >>> stats = virtuals.stats.load()
      >>> state = stats.entries.get('status.availabilityState')['description']
      Traceback (most recent call last):
        File "", line 1, in 
      TypeError: 'NoneType' object is not subscriptable
      >>> stats.entries
      {'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats': {'nestedStats': {'selfLink': 'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats?ver=12.1.1', 'kind': 'tm:ltm:virtual:virtualstats', 'entries': {'totRequests': {'value': 0}, 'status.statusReason': {'description': 'The virtual server is available'}, 'csMinConnDur': {'value': 0}, 'fiveMinAvgUsageRatio': {'value': 0}, 'syncookie.syncookies': {'value': 0}, 'csMeanConnDur': {'value': 0}, 'tmName': {'description': '/Common/my_virtual_name'}, 'clientside.slowKilled': {'value': 0}, 'syncookie.hwSyncookies': {'value': 0}, 'ephemeral.bitsOut': {'value': 0}, 'syncookie.rejects': {'value': 0}, 'ephemeral.curConns': {'value': 0}, 'clientside.pktsOut': {'value': 0}, 'syncookie.syncacheCurr': {'value': 0}, 'clientside.bitsIn': {'value': 0}, 'ephemeral.pktsOut': {'value': 0}, 'destination': {'description': '192.168.1.1:443'}, 'syncookieStatus': {'description': 'not-activated'}, 'syncookie.hwsyncookieInstance': {'value': 0}, 'syncookie.swsyncookieInstance': {'value': 0}, 'clientside.evictedConns': {'value': 0}, 'clientside.curConns': {'value': 0}, 'clientside.totConns': {'value': 0}, 'clientside.bitsOut': {'value': 0}, 'oneMinAvgUsageRatio': {'value': 0}, 'ephemeral.totConns': {'value': 0}, 'syncookie.accepts': {'value': 0}, 'status.availabilityState': {'description': 'available'}, 'syncookie.syncacheOver': {'value': 0}, 'syncookie.hwAccepts': {'value': 0}, 'ephemeral.bitsIn': {'value': 0}, 'status.enabledState': {'description': 'enabled'}, 'ephemeral.evictedConns': {'value': 0}, 'fiveSecAvgUsageRatio': {'value': 0}, 'clientside.maxConns': {'value': 0}, 'csMaxConnDur': {'value': 0}, 'ephemeral.pktsIn': {'value': 0}, 'ephemeral.slowKilled': {'value': 0}, 'clientside.pktsIn': {'value': 0}, 'ephemeral.maxConns': {'value': 0}, 'cmpEnabled': {'description': 'enabled'}, 'cmpEnableMode': {'description': 'all-cpus'}}}}}
      

      I'm not sure if your version is the same, but it appears the stats are nested three levels deep, first key being a link, second 'nestedStats', then 'entries'. If I follow the entire path I do get the value:

      >>> print(stats.entries.get('https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats')['nestedStats']['entries']['status.availabilityState']['description'])
          available
      

      Am I running something incorrectly or are the returned structures different between our versions? I can run through the nest like you mentioned and get the value, though the first key (formatted as a URL) throws me off as I'm not sure if there is an elegant way to reference it. I could get it by listing the keys for that level of dict but that seems kludge-y.

    • Hannes_Rapp's avatar
      Hannes_Rapp
      Icon for Nimbostratus rankNimbostratus

      Code was tested on BigIP 11.5.4. Will update answer for 12.1.1 in 15 min.

       

    • Hannes_Rapp's avatar
      Hannes_Rapp
      Icon for Nimbostratus rankNimbostratus

      You're right. The response structure of virtual stats is different in 12.1.1, and it's absolutely dreadful. Best I could offer now is a hack so that this insignificant part at the beginning would be cut out

      {'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats': {'nestedStats': {
      , then everything will work exactly the same as in my 11.5.4 sample, but it's kind of a dirty approach.

      Will look further into cleaner solutions tomorrow.

  • Great to see more people opting to use the SDK!

    You can work with the output normally, as with any dict-type, using

    dict.get('something')
    . Add in a set of square-brackets, if the extracted value is yet another key-value pair, and if you're looking for a very specific match:
    dict.get('something')['something']
    .

    Note: In the for-loop, I'm using

    virtual.name
    - this extraction works without use of
    .get('name')
    because 'name' is a 1st-level extraction - no nesting is involved. For the same reason, I can do
    state = stats.entries...
    in my function, instead of
    state = stats.get('entries')...

    f5-sdk v2.2.0 ; py3.4.3 ; 11.5.4

    from f5.bigip import ManagementRoot
    
    def get_vs_state(vs_name):
        virtual_s = API_ROOT.tm.ltm.virtuals.virtual.load(name=vs_name)
        stats = virtual_s.stats.load()
        state = stats.entries.get('status.availabilityState')['description']
        return state
    
    API_ROOT = ManagementRoot("bip-01", "admin", "admin")
    VIRTUALS = API_ROOT.tm.ltm.virtuals.get_collection()
    
     EXAMPLE OF USE:
     Print AvailabilityState of all Virtual Servers
    for virtual in VIRTUALS:
        print("Name: '%s' AvailabilityState: '%s'" % (virtual.name, get_vs_state(virtual.name)))
    
    • Ed_Summers's avatar
      Ed_Summers
      Icon for Nimbostratus rankNimbostratus

      Thank you for your help and patience! Much appreciated...

      Not sure if there is a difference in the data structures between our versions: F5 SDK v2.0.2 BIGIP 12.1.1 Python 3.3.2

      When I run the stats.entries.get method you outlined above, I get a return of 'None'. However there is a value for status.availibilityState buried in nested dicts for stats.entries.

      Here's a test I ran in interactive shell (I have a module that obtains a token and base object of 'mgmt'):

      >>> virtuals = mgmt.tm.ltm.virtuals.virtual.load(name='my_virtual_name')
      >>> stats = virtuals.stats.load()
      >>> state = stats.entries.get('status.availabilityState')['description']
      Traceback (most recent call last):
        File "", line 1, in 
      TypeError: 'NoneType' object is not subscriptable
      >>> stats.entries
      {'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats': {'nestedStats': {'selfLink': 'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats?ver=12.1.1', 'kind': 'tm:ltm:virtual:virtualstats', 'entries': {'totRequests': {'value': 0}, 'status.statusReason': {'description': 'The virtual server is available'}, 'csMinConnDur': {'value': 0}, 'fiveMinAvgUsageRatio': {'value': 0}, 'syncookie.syncookies': {'value': 0}, 'csMeanConnDur': {'value': 0}, 'tmName': {'description': '/Common/my_virtual_name'}, 'clientside.slowKilled': {'value': 0}, 'syncookie.hwSyncookies': {'value': 0}, 'ephemeral.bitsOut': {'value': 0}, 'syncookie.rejects': {'value': 0}, 'ephemeral.curConns': {'value': 0}, 'clientside.pktsOut': {'value': 0}, 'syncookie.syncacheCurr': {'value': 0}, 'clientside.bitsIn': {'value': 0}, 'ephemeral.pktsOut': {'value': 0}, 'destination': {'description': '192.168.1.1:443'}, 'syncookieStatus': {'description': 'not-activated'}, 'syncookie.hwsyncookieInstance': {'value': 0}, 'syncookie.swsyncookieInstance': {'value': 0}, 'clientside.evictedConns': {'value': 0}, 'clientside.curConns': {'value': 0}, 'clientside.totConns': {'value': 0}, 'clientside.bitsOut': {'value': 0}, 'oneMinAvgUsageRatio': {'value': 0}, 'ephemeral.totConns': {'value': 0}, 'syncookie.accepts': {'value': 0}, 'status.availabilityState': {'description': 'available'}, 'syncookie.syncacheOver': {'value': 0}, 'syncookie.hwAccepts': {'value': 0}, 'ephemeral.bitsIn': {'value': 0}, 'status.enabledState': {'description': 'enabled'}, 'ephemeral.evictedConns': {'value': 0}, 'fiveSecAvgUsageRatio': {'value': 0}, 'clientside.maxConns': {'value': 0}, 'csMaxConnDur': {'value': 0}, 'ephemeral.pktsIn': {'value': 0}, 'ephemeral.slowKilled': {'value': 0}, 'clientside.pktsIn': {'value': 0}, 'ephemeral.maxConns': {'value': 0}, 'cmpEnabled': {'description': 'enabled'}, 'cmpEnableMode': {'description': 'all-cpus'}}}}}
      

      I'm not sure if your version is the same, but it appears the stats are nested three levels deep, first key being a link, second 'nestedStats', then 'entries'. If I follow the entire path I do get the value:

      >>> print(stats.entries.get('https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats')['nestedStats']['entries']['status.availabilityState']['description'])
          available
      

      Am I running something incorrectly or are the returned structures different between our versions? I can run through the nest like you mentioned and get the value, though the first key (formatted as a URL) throws me off as I'm not sure if there is an elegant way to reference it. I could get it by listing the keys for that level of dict but that seems kludge-y.

    • Hannes_Rapp_162's avatar
      Hannes_Rapp_162
      Icon for Nacreous rankNacreous

      Code was tested on BigIP 11.5.4. Will update answer for 12.1.1 in 15 min.

       

    • Hannes_Rapp_162's avatar
      Hannes_Rapp_162
      Icon for Nacreous rankNacreous

      You're right. The response structure of virtual stats is different in 12.1.1, and it's absolutely dreadful. Best I could offer now is a hack so that this insignificant part at the beginning would be cut out

      {'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats': {'nestedStats': {
      , then everything will work exactly the same as in my 11.5.4 sample, but it's kind of a dirty approach.

      Will look further into cleaner solutions tomorrow.

  • We'll need to clean up stats for sure, the nested stuff is not easy access. For all keys/values, you can get at them a little cleaner (note that if you supply partition as an argument, the self link with be /~Common~vip/~Common~vip/stats):

    name = ‘testvip’
    selflink = 'https://localhost/mgmt/tm/ltm/virtual/{0}/~Common~{0}/stats'.format(name)
    vip = b.tm.ltm.virtuals.virtual.load(name=name)
    vipstats = vip.stats.load()
    d = vipstats.entries.get(selflink).get('nestedStats').get('entries')
    for i in d:
      print '{0}: {1}'.format(i, d[i].get('value'))
    

    for your specific key, given you have set the selflink above, you can get that with:

    vipstats.entries.get(selflink).
                     get('nestedStats').
                     get('entries').
                     get('status.availabilityState').
                     get('description')
    
    • Ed_Summers's avatar
      Ed_Summers
      Icon for Nimbostratus rankNimbostratus

      I wanted to follow-up to thank you for the amazingly fast attention to this. I checked out the development branch of the SDK and was able to pound out a quick script that takes advantage of the new stats handler. Appears to be working at least in the small test case I did testing connections and availability. Thanks kindly!

       

    • rathid's avatar
      rathid
      Icon for Nimbostratus rankNimbostratus

      @ed summers can you paste the connection and availability code for virtual here and i am looking similar things for individual members as well

       

  • Hi, I am still facing issue for ver 11.6.0. I am trying to get virtual server availability status .

     

    Appreciate any assistance .

     

  • I'm also struggling with this:

    partition  = 'C25'
    pool_name = 'temp_test'
     {u'https://localhost/mgmt/tm/ltm/pool/~C25~temp_test/~C25~temp_test/stats': {u'nestedStats': {u'entries': {u'activeMemberCnt': {u'value': 1},
    pool  = mgmt.tm.ltm.pools.pool.load(name=pool_name, partition=partition)
    stats = pool.stats.load()
    print("{}".format(pformat(stats.entries)))
    
    selflink = "https://{0}/mgmt/tm/ltm/pool/~{1}~{2}/~{1}~{2}/stats".format(bigip,partition,pool_name)
    
    slink   = stats.entries.get(selflink)
    nested  = slink.get('nestedStats')
    entries = nested.get('entries')
    
    activeMemberCnt = entries.get('activeMemberCnt').get('value')
    

    Output:

    Traceback (most recent call last):
      File "test_f5.py", line 46, in 
        nested  = slink.get('nestedStats')
    AttributeError: 'NoneType' object has no attribute 'get'
    

    So, using the example above, I am not able to get the selflink, but I have created the selflink string from what's given in the raw output. I'm working against: BIG-IP 12.1.3 Build 0.0.378 Final

    • Rob_74473's avatar
      Rob_74473
      Icon for Cirrus rankCirrus

      Directly testing the code above:

       

      name = 'DHCP_RELAY_255.255.255.255_VIP'
      selflink = 'https://{0}/mgmt/tm/ltm/virtual/{1}/~Common~{1}/stats'.format(bigip,name)
      vip = mgmt.tm.ltm.virtuals.virtual.load(name=name)
      vipstats = vip.stats.load()
      d = vipstats.entries.get(selflink).get('nestedStats').get('entries')
      for i in d:
        print("{0}: {1}".format(i, d[i].get('value')))

      I get the same error:

       

      Traceback (most recent call last):
        File "test_f5.py", line 39, in 
          d = vipstats.entries.get(selflink).get('nestedStats').get('entries')
      AttributeError: 'NoneType' object has no attribute 'get'
  • This is brutal to work with!

    partition  = 'C25'
    pool_name = 'temp_test'
    pool  = mgmt.tm.ltm.pools.pool.load(name=pool_name, partition=partition)
    stats = pool.stats.load()
    for item in stats.entries:
            params = stats.entries.get(item).get('nestedStats').get('entries')
    
    stuff = ['activeMemberCnt','curSessions','serverside.curConns','serverside.maxConns','serverside.totConns','status.enabledState','status.availabilityState']
    
    for item in stuff:
            for key in ('value','description'):
                    if key in params[item]:
                            print("'{}': {}".format(item,params[item][key]))
    
    OUTPUT:
    'activeMemberCnt': 1
    'curSessions': 0
    'serverside.curConns': 0
    'serverside.maxConns': 0
    'serverside.totConns': 0
    'status.enabledState': enabled
    'status.availabilityState': available
    
    • DMA_95966's avatar
      DMA_95966
      Icon for Nimbostratus rankNimbostratus

      Thanks a lot Rob , let me test it as well ..will update you on this..

       

    • JRahm's avatar
      JRahm
      Icon for Admin rankAdmin

      Have you tried the Stats module?

      >>> from f5.utils.responses.handlers import Stats
      >>> p = b.tm.ltm.pools.pool.load(name='testpool')
      >>> ps = Stats(p.stats.load())
      >>> ps.stat.curSessions['value']
      0
      >>> ps.stat.status_availabilityState['description']
      u'offline'
      >>> ps.stat.status_enabledState['description']
      u'enabled'
      
    • DMA_95966's avatar
      DMA_95966
      Icon for Nimbostratus rankNimbostratus

      Hi Jason ,

       

      I am going to test this and update the thread shortly .

       

"}},"componentScriptGroups({\"componentId\":\"custom.widget.Beta_MetaNav\"})":{"__typename":"ComponentScriptGroups","scriptGroups":{"__typename":"ComponentScriptGroupsDefinition","afterInteractive":{"__typename":"PageScriptGroupDefinition","group":"AFTER_INTERACTIVE","scriptIds":[]},"lazyOnLoad":{"__typename":"PageScriptGroupDefinition","group":"LAZY_ON_LOAD","scriptIds":[]}},"componentScripts":[]},"component({\"componentId\":\"custom.widget.Community_Quicklinks\"})":{"__typename":"Component","render({\"context\":{\"component\":{\"entities\":[],\"props\":{}},\"page\":{\"entities\":[\"message:203317\"],\"name\":\"ForumMessagePage\",\"props\":{},\"url\":\"https://community.f5.com/discussions/technicalforum/f5-python-sdk-how-to-get-virtual-server-availability/203317\"}}})":{"__typename":"ComponentRenderResult","html":"
Under Attack? F5 Will Help You.
Contacting F5 Support?
 
DevCentral Quicklinks

* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com

Discover DevCentral Connects

* Podcasts
* Social Channels
* Video Streaming

"}},"componentScriptGroups({\"componentId\":\"custom.widget.Community_Quicklinks\"})":{"__typename":"ComponentScriptGroups","scriptGroups":{"__typename":"ComponentScriptGroupsDefinition","afterInteractive":{"__typename":"PageScriptGroupDefinition","group":"AFTER_INTERACTIVE","scriptIds":[]},"lazyOnLoad":{"__typename":"PageScriptGroupDefinition","group":"LAZY_ON_LOAD","scriptIds":[]}},"componentScripts":[]},"component({\"componentId\":\"custom.widget.Beta_Footer\"})":{"__typename":"Component","render({\"context\":{\"component\":{\"entities\":[],\"props\":{}},\"page\":{\"entities\":[\"message:203317\"],\"name\":\"ForumMessagePage\",\"props\":{},\"url\":\"https://community.f5.com/discussions/technicalforum/f5-python-sdk-how-to-get-virtual-server-availability/203317\"}}})":{"__typename":"ComponentRenderResult","html":"
 
 
 
 
 

\"F5 ©2024 F5, Inc. All rights reserved.
Trademarks Policies Privacy California Privacy Do Not Sell My Personal Information
"}},"componentScriptGroups({\"componentId\":\"custom.widget.Beta_Footer\"})":{"__typename":"ComponentScriptGroups","scriptGroups":{"__typename":"ComponentScriptGroupsDefinition","afterInteractive":{"__typename":"PageScriptGroupDefinition","group":"AFTER_INTERACTIVE","scriptIds":[]},"lazyOnLoad":{"__typename":"PageScriptGroupDefinition","group":"LAZY_ON_LOAD","scriptIds":[]}},"componentScripts":[]},"component({\"componentId\":\"custom.widget.Tag_Manager_Helper\"})":{"__typename":"Component","render({\"context\":{\"component\":{\"entities\":[],\"props\":{}},\"page\":{\"entities\":[\"message:203317\"],\"name\":\"ForumMessagePage\",\"props\":{},\"url\":\"https://community.f5.com/discussions/technicalforum/f5-python-sdk-how-to-get-virtual-server-availability/203317\"}}})":{"__typename":"ComponentRenderResult","html":" "}},"componentScriptGroups({\"componentId\":\"custom.widget.Tag_Manager_Helper\"})":{"__typename":"ComponentScriptGroups","scriptGroups":{"__typename":"ComponentScriptGroupsDefinition","afterInteractive":{"__typename":"PageScriptGroupDefinition","group":"AFTER_INTERACTIVE","scriptIds":[]},"lazyOnLoad":{"__typename":"PageScriptGroupDefinition","group":"LAZY_ON_LOAD","scriptIds":[]}},"componentScripts":[]},"component({\"componentId\":\"custom.widget.Consent_Blackbar\"})":{"__typename":"Component","render({\"context\":{\"component\":{\"entities\":[],\"props\":{}},\"page\":{\"entities\":[\"message:203317\"],\"name\":\"ForumMessagePage\",\"props\":{},\"url\":\"https://community.f5.com/discussions/technicalforum/f5-python-sdk-how-to-get-virtual-server-availability/203317\"}}})":{"__typename":"ComponentRenderResult","html":"
"}},"componentScriptGroups({\"componentId\":\"custom.widget.Consent_Blackbar\"})":{"__typename":"ComponentScriptGroups","scriptGroups":{"__typename":"ComponentScriptGroupsDefinition","afterInteractive":{"__typename":"PageScriptGroupDefinition","group":"AFTER_INTERACTIVE","scriptIds":[]},"lazyOnLoad":{"__typename":"PageScriptGroupDefinition","group":"LAZY_ON_LOAD","scriptIds":[]}},"componentScripts":[]},"featuredContentWidget({\"coreNodeId\":\"board:TechnicalForum\",\"instanceId\":\"featuredWidgets.widget.featuredContentWidget-1705956211049\",\"quiltId\":\"ForumMessagePage\"})":{"__typename":"FeaturedContentWidget","messages({\"first\":3})":{"__typename":"MessageConnection","totalCount":2,"edges":[{"__typename":"MessageEdge","node":{"__ref":"TkbTopicMessage:message:340273"}},{"__typename":"MessageEdge","node":{"__ref":"TkbTopicMessage:message:340272"}}],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null}},"lastModified":1743100012244,"lastModifiedUser":{"__ref":"User:user:7"}},"cachedText({\"lastModified\":\"1744046271000\",\"locale\":\"en-US\",\"namespaces\":[\"components/community/NavbarDropdownToggle\"]})":[{"__ref":"CachedAsset:text:en_US-components/community/NavbarDropdownToggle-1744046271000"}],"cachedText({\"lastModified\":\"1744046271000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/users/UserAvatar\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/users/UserAvatar-1744046271000"}],"cachedText({\"lastModified\":\"1744046271000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/ranks/UserRankLabel\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/ranks/UserRankLabel-1744046271000"}],"cachedText({\"lastModified\":\"1744046271000\",\"locale\":\"en-US\",\"namespaces\":[\"components/tags/TagView/TagViewChip\"]})":[{"__ref":"CachedAsset:text:en_US-components/tags/TagView/TagViewChip-1744046271000"}],"cachedText({\"lastModified\":\"1744046271000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageListMenu\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageListMenu-1744046271000"}],"cachedText({\"lastModified\":\"1744046271000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/AcceptedSolutionButton\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/AcceptedSolutionButton-1744046271000"}],"cachedText({\"lastModified\":\"1744046271000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/common/Pager/PagerLoadMore\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/common/Pager/PagerLoadMore-1744046271000"}],"cachedText({\"lastModified\":\"1744046271000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageView/MessageViewCard\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageView/MessageViewCard-1744046271000"}],"cachedText({\"lastModified\":\"1744046271000\",\"locale\":\"en-US\",\"namespaces\":[\"components/messages/MessageView/MessageViewInline\"]})":[{"__ref":"CachedAsset:text:en_US-components/messages/MessageView/MessageViewInline-1744046271000"}],"cachedText({\"lastModified\":\"1744046271000\",\"locale\":\"en-US\",\"namespaces\":[\"components/customComponent/CustomComponent\"]})":[{"__ref":"CachedAsset:text:en_US-components/customComponent/CustomComponent-1744046271000"}],"message({\"id\":\"message:203321\"})":{"__ref":"ForumReplyMessage:message:203321"},"message({\"id\":\"message:203323\"})":{"__ref":"ForumReplyMessage:message:203323"},"message({\"id\":\"message:203324\"})":{"__ref":"ForumReplyMessage:message:203324"},"message({\"id\":\"message:203330\"})":{"__ref":"ForumReplyMessage:message:203330"},"message({\"id\":\"message:203331\"})":{"__ref":"ForumReplyMessage:message:203331"},"message({\"id\":\"message:203332\"})":{"__ref":"ForumReplyMessage:message:203332"},"message({\"id\":\"message:203333\"})":{"__ref":"ForumReplyMessage:message:203333"},"message({\"id\":\"message:203334\"})":{"__ref":"ForumReplyMessage:message:203334"},"message({\"id\":\"message:203336\"})":{"__ref":"ForumReplyMessage:message:203336"},"message({\"id\":\"message:203337\"})":{"__ref":"ForumReplyMessage:message:203337"},"message({\"id\":\"message:203319\"})":{"__ref":"ForumReplyMessage:message:203319"},"message({\"id\":\"message:203320\"})":{"__ref":"ForumReplyMessage:message:203320"},"message({\"id\":\"message:203322\"})":{"__ref":"ForumReplyMessage:message:203322"},"message({\"id\":\"message:203325\"})":{"__ref":"ForumReplyMessage:message:203325"},"message({\"id\":\"message:203318\"})":{"__ref":"ForumReplyMessage:message:203318"},"message({\"id\":\"message:203343\"})":{"__ref":"ForumReplyMessage:message:203343"},"message({\"id\":\"message:203338\"})":{"__ref":"ForumReplyMessage:message:203338"},"message({\"id\":\"message:203339\"})":{"__ref":"ForumReplyMessage:message:203339"},"message({\"id\":\"message:203340\"})":{"__ref":"ForumReplyMessage:message:203340"},"message({\"id\":\"message:203341\"})":{"__ref":"ForumReplyMessage:message:203341"},"message({\"id\":\"message:203342\"})":{"__ref":"ForumReplyMessage:message:203342"},"message({\"id\":\"message:340273\"})":{"__ref":"TkbTopicMessage:message:340273"},"message({\"id\":\"message:340272\"})":{"__ref":"TkbTopicMessage:message:340272"},"cachedText({\"lastModified\":\"1744046271000\",\"locale\":\"en-US\",\"namespaces\":[\"shared/client/components/nodes/NodeIcon\"]})":[{"__ref":"CachedAsset:text:en_US-shared/client/components/nodes/NodeIcon-1744046271000"}]},"Theme:customTheme1":{"__typename":"Theme","id":"customTheme1"},"User:user:-1":{"__typename":"User","id":"user:-1","uid":-1,"login":"Anonymous","email":"","avatar":null,"rank":null,"kudosWeight":1,"registrationData":{"__typename":"RegistrationData","status":"ANONYMOUS","registrationTime":null,"confirmEmailStatus":false,"registrationAccessLevel":"VIEW","ssoRegistrationFields":[]},"ssoId":null,"profileSettings":{"__typename":"ProfileSettings","dateDisplayStyle":{"__typename":"InheritableStringSettingWithPossibleValues","key":"layout.friendly_dates_enabled","value":"false","localValue":"true","possibleValues":["true","false"]},"dateDisplayFormat":{"__typename":"InheritableStringSetting","key":"layout.format_pattern_date","value":"dd-MMM-yyyy","localValue":"MM-dd-yyyy"},"language":{"__typename":"InheritableStringSettingWithPossibleValues","key":"profile.language","value":"en-US","localValue":null,"possibleValues":["en-US","es-ES"]},"repliesSortOrder":{"__typename":"InheritableStringSettingWithPossibleValues","key":"config.user_replies_sort_order","value":"DEFAULT","localValue":"DEFAULT","possibleValues":["DEFAULT","LIKES","PUBLISH_TIME","REVERSE_PUBLISH_TIME"]}},"deleted":false},"CachedAsset:pages-1744705504827":{"__typename":"CachedAsset","id":"pages-1744705504827","value":[{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.GetInvolved.MvpProgram","type":"COMMUNITY","urlPath":"/c/how-do-i/get-involved/mvp-program","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"BlogViewAllPostsPage","type":"BLOG","urlPath":"/category/:categoryId/blog/:boardId/all-posts/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"CasePortalPage","type":"CASE_PORTAL","urlPath":"/caseportal","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"CreateGroupHubPage","type":"GROUP_HUB","urlPath":"/groups/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"CaseViewPage","type":"CASE_DETAILS","urlPath":"/case/:caseId/:caseNumber","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"InboxPage","type":"COMMUNITY","urlPath":"/inbox","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.GetInvolved.AdvocacyProgram","type":"COMMUNITY","urlPath":"/c/how-do-i/get-involved/advocacy-program","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.GetHelp.NonCustomer","type":"COMMUNITY","urlPath":"/c/how-do-i/get-help/non-customer","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HelpFAQPage","type":"COMMUNITY","urlPath":"/help","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.GetHelp.F5Customer","type":"COMMUNITY","urlPath":"/c/how-do-i/get-help/f5-customer","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"IdeaMessagePage","type":"IDEA_POST","urlPath":"/idea/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"IdeaViewAllIdeasPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId/all-ideas/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"LoginPage","type":"USER","urlPath":"/signin","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"BlogPostPage","type":"BLOG","urlPath":"/category/:categoryId/blogs/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.GetInvolved","type":"COMMUNITY","urlPath":"/c/how-do-i/get-involved","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.Learn","type":"COMMUNITY","urlPath":"/c/how-do-i/learn","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1739501996000,"localOverride":null,"page":{"id":"Test","type":"CUSTOM","urlPath":"/custom-test-2","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ThemeEditorPage","type":"COMMUNITY","urlPath":"/designer/themes","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"TkbViewAllArticlesPage","type":"TKB","urlPath":"/category/:categoryId/kb/:boardId/all-articles/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"OccasionEditPage","type":"EVENT","urlPath":"/event/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"OAuthAuthorizationAllowPage","type":"USER","urlPath":"/auth/authorize/allow","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"PageEditorPage","type":"COMMUNITY","urlPath":"/designer/pages","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"PostPage","type":"COMMUNITY","urlPath":"/category/:categoryId/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ForumBoardPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"TkbBoardPage","type":"TKB","urlPath":"/category/:categoryId/kb/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"EventPostPage","type":"EVENT","urlPath":"/category/:categoryId/events/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"UserBadgesPage","type":"COMMUNITY","urlPath":"/users/:login/:userId/badges","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"GroupHubMembershipAction","type":"GROUP_HUB","urlPath":"/membership/join/:nodeId/:membershipType","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"MaintenancePage","type":"COMMUNITY","urlPath":"/maintenance","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"IdeaReplyPage","type":"IDEA_REPLY","urlPath":"/idea/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"UserSettingsPage","type":"USER","urlPath":"/mysettings/:userSettingsTab","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"GroupHubsPage","type":"GROUP_HUB","urlPath":"/groups","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ForumPostPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"OccasionRsvpActionPage","type":"OCCASION","urlPath":"/event/:boardId/:messageSubject/:messageId/rsvp/:responseType","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"VerifyUserEmailPage","type":"USER","urlPath":"/verifyemail/:userId/:verifyEmailToken","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"AllOccasionsPage","type":"OCCASION","urlPath":"/category/:categoryId/events/:boardId/all-events/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"EventBoardPage","type":"EVENT","urlPath":"/category/:categoryId/events/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"TkbReplyPage","type":"TKB_REPLY","urlPath":"/kb/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"IdeaBoardPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"CommunityGuideLinesPage","type":"COMMUNITY","urlPath":"/communityguidelines","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"CaseCreatePage","type":"SALESFORCE_CASE_CREATION","urlPath":"/caseportal/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"TkbEditPage","type":"TKB","urlPath":"/kb/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ForgotPasswordPage","type":"USER","urlPath":"/forgotpassword","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"IdeaEditPage","type":"IDEA","urlPath":"/idea/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"TagPage","type":"COMMUNITY","urlPath":"/tag/:tagName","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"BlogBoardPage","type":"BLOG","urlPath":"/category/:categoryId/blog/:boardId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"OccasionMessagePage","type":"OCCASION_TOPIC","urlPath":"/event/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ManageContentPage","type":"COMMUNITY","urlPath":"/managecontent","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ClosedMembershipNodeNonMembersPage","type":"GROUP_HUB","urlPath":"/closedgroup/:groupHubId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.GetHelp.Community","type":"COMMUNITY","urlPath":"/c/how-do-i/get-help/community","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"CommunityPage","type":"COMMUNITY","urlPath":"/","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.GetInvolved.ContributeCode","type":"COMMUNITY","urlPath":"/c/how-do-i/get-involved/contribute-code","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ForumMessagePage","type":"FORUM_TOPIC","urlPath":"/discussions/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"IdeaPostPage","type":"IDEA","urlPath":"/category/:categoryId/ideas/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"BlogMessagePage","type":"BLOG_ARTICLE","urlPath":"/blog/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"RegistrationPage","type":"USER","urlPath":"/register","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"EditGroupHubPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ForumEditPage","type":"FORUM","urlPath":"/discussions/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ResetPasswordPage","type":"USER","urlPath":"/resetpassword/:userId/:resetPasswordToken","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"TkbMessagePage","type":"TKB_ARTICLE","urlPath":"/kb/:boardId/:messageSubject/:messageId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.Learn.AboutIrules","type":"COMMUNITY","urlPath":"/c/how-do-i/learn/about-irules","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"BlogEditPage","type":"BLOG","urlPath":"/blog/:boardId/:messageSubject/:messageId/edit","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.GetHelp.F5Support","type":"COMMUNITY","urlPath":"/c/how-do-i/get-help/f5-support","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ManageUsersPage","type":"USER","urlPath":"/users/manage/:tab?/:manageUsersTab?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ForumReplyPage","type":"FORUM_REPLY","urlPath":"/discussions/:boardId/:messageSubject/:messageId/replies/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"PrivacyPolicyPage","type":"COMMUNITY","urlPath":"/privacypolicy","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"NotificationPage","type":"COMMUNITY","urlPath":"/notifications","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"UserPage","type":"USER","urlPath":"/users/:login/:userId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HealthCheckPage","type":"COMMUNITY","urlPath":"/health","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"OccasionReplyPage","type":"OCCASION_REPLY","urlPath":"/event/:boardId/:messageSubject/:messageId/comments/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ManageMembersPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/manage/:tab?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"SearchResultsPage","type":"COMMUNITY","urlPath":"/search","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"BlogReplyPage","type":"BLOG_REPLY","urlPath":"/blog/:boardId/:messageSubject/:messageId/replies/:replyId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"GroupHubPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"TermsOfServicePage","type":"COMMUNITY","urlPath":"/termsofservice","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.GetHelp","type":"COMMUNITY","urlPath":"/c/how-do-i/get-help","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI.GetHelp.SecurityIncident","type":"COMMUNITY","urlPath":"/c/how-do-i/get-help/security-incident","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"CategoryPage","type":"CATEGORY","urlPath":"/category/:categoryId","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"ForumViewAllTopicsPage","type":"FORUM","urlPath":"/category/:categoryId/discussions/:boardId/all-topics/(/:after|/:before)?","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"TkbPostPage","type":"TKB","urlPath":"/category/:categoryId/kbs/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"GroupHubPostPage","type":"GROUP_HUB","urlPath":"/group/:groupHubId/:boardId/create","__typename":"PageDescriptor"},"__typename":"PageResource"},{"lastUpdatedTime":1744705504827,"localOverride":null,"page":{"id":"HowDoI","type":"COMMUNITY","urlPath":"/c/how-do-i","__typename":"PageDescriptor"},"__typename":"PageResource"}],"localOverride":false},"CachedAsset:text:en_US-components/context/AppContext/AppContextProvider-0":{"__typename":"CachedAsset","id":"text:en_US-components/context/AppContext/AppContextProvider-0","value":{"noCommunity":"Cannot find community","noUser":"Cannot find current user","noNode":"Cannot find node with id {nodeId}","noMessage":"Cannot find message with id {messageId}","userBanned":"We're sorry, but you have been banned from using this site.","userBannedReason":"You have been banned for the following reason: {reason}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Loading/LoadingDot-0":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Loading/LoadingDot-0","value":{"title":"Loading..."},"localOverride":false},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstNDEtSzFzVEth\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/cmstNDEtSzFzVEth","height":0,"width":0,"mimeType":"image/svg+xml"},"Rank:rank:41":{"__typename":"Rank","id":"rank:41","position":18,"name":"Nimbostratus","color":"CCCCCC","icon":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstNDEtSzFzVEth\"}"},"rankStyle":"FILLED"},"User:user:136193":{"__typename":"User","id":"user:136193","uid":136193,"login":"Ed_Summers","deleted":false,"avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/m_assets/avatars/default/avatar-5.svg?time=0"},"rank":{"__ref":"Rank:rank:41"},"email":"","messagesCount":195,"biography":null,"topicsCount":19,"kudosReceivedCount":0,"kudosGivenCount":0,"kudosWeight":1,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2012-11-26T00:00:00.000-08:00","confirmEmailStatus":null},"followersCount":null,"solutionsCount":0,"entityType":"USER","eventPath":"community:zihoc95639/user:136193"},"Category:category:Forums":{"__typename":"Category","id":"category:Forums","entityType":"CATEGORY","displayId":"Forums","nodeType":"category","depth":1,"title":"Forums","shortTitle":"Forums","parent":{"__ref":"Category:category:top"},"categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:top":{"__typename":"Category","id":"category:top","entityType":"CATEGORY","displayId":"top","nodeType":"category","depth":0,"title":"Top","shortTitle":"Top"},"Forum:board:TechnicalForum":{"__typename":"Forum","id":"board:TechnicalForum","entityType":"FORUM","displayId":"TechnicalForum","nodeType":"board","depth":2,"conversationStyle":"FORUM","repliesProperties":{"__typename":"RepliesProperties","sortOrder":"PUBLISH_TIME","repliesFormat":"threaded"},"tagProperties":{"__typename":"TagNodeProperties","tagsEnabled":{"__typename":"PolicyResult","failureReason":null}},"requireTags":true,"tagType":"FREEFORM_AND_PRESET","description":"Ask questions.\r\nDiscover Answers.","title":"Technical Forum","shortTitle":"Technical Forum","parent":{"__ref":"Category:category:Forums"},"ancestors":{"__typename":"CoreNodeConnection","edges":[{"__typename":"CoreNodeEdge","node":{"__ref":"Community:community:zihoc95639"}},{"__typename":"CoreNodeEdge","node":{"__ref":"Category:category:Forums"}}]},"userContext":{"__typename":"NodeUserContext","canAddAttachments":false,"canUpdateNode":false,"canPostMessages":false,"isSubscribed":false},"theme":{"__ref":"Theme:customTheme1"},"boardPolicies":{"__typename":"BoardPolicies","canViewSpamDashBoard":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.feature.moderation_spam.action.access_spam_quarantine.allowed.accessDenied","key":"error.lithium.policies.feature.moderation_spam.action.access_spam_quarantine.allowed.accessDenied","args":[]}},"canArchiveMessage":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.content_archivals.enable_content_archival_settings.accessDenied","key":"error.lithium.policies.content_archivals.enable_content_archival_settings.accessDenied","args":[]}},"canPublishArticleOnCreate":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.forums.policy_can_publish_on_create_workflow_action.accessDenied","key":"error.lithium.policies.forums.policy_can_publish_on_create_workflow_action.accessDenied","args":[]}},"canManageFeaturedWidget":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.feature.featured_widgets.action.admin_featured_widget.allowed.accessDenied","key":"error.lithium.policies.feature.featured_widgets.action.admin_featured_widget.allowed.accessDenied","args":[]}},"canUpdateFeaturedWidget":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.feature.featured_widgets.action.update_featured_widget.allowed.accessDenied","key":"error.lithium.policies.feature.featured_widgets.action.update_featured_widget.allowed.accessDenied","args":[]}},"canReadNode":{"__typename":"PolicyResult","failureReason":null}},"forumPolicies":{"__typename":"ForumPolicies","canManageFeaturedWidget":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.feature.featured_widgets.action.admin_featured_widget.allowed.accessDenied","key":"error.lithium.policies.feature.featured_widgets.action.admin_featured_widget.allowed.accessDenied","args":[]}},"canUpdateFeaturedWidget":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.feature.featured_widgets.action.update_featured_widget.allowed.accessDenied","key":"error.lithium.policies.feature.featured_widgets.action.update_featured_widget.allowed.accessDenied","args":[]}},"canReadNode":{"__typename":"PolicyResult","failureReason":null}},"eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/"},"ForumTopicMessage:message:203317":{"__typename":"ForumTopicMessage","uid":203317,"subject":"F5 Python SDK: How to get virtual server availability?","id":"message:203317","revisionNum":2,"repliesCount":27,"author":{"__ref":"User:user:136193"},"depth":0,"hasGivenKudo":false,"board":{"__ref":"Forum:board:TechnicalForum"},"conversation":{"__ref":"Conversation:conversation:203317"},"readOnly":false,"editFrozen":false,"moderationData":{"__ref":"ModerationData:moderation_data:203317"},"body":"

Due to my limited Python and SDK experience I am finding it difficult to easily obtain the availability state of a virtual server. Given a 'virtual' object, what is the best/easiest way to return the value of that VS' 'Availability' state (offline, available, unknown, etc)?

\n

I can do the following:

\n
my_virtual = mgmt.tm.ltm.virtuals.virtual.load(name='some_virtual')\nstats = my_virtual.stats.load()\n
\n\n

Printing the stats.raw shows that there is a nested dictionary entry keyed 'status.availibityState' that appears to hold the value I'm looking for. Forgive my inexperience, but what is the easiest way to get the availability state of a virtual using the SDK? Perhaps a method I'm missing that retrieves the value above, or the value is easily obtained elsewhere.

\n

Appreciate any assitance!

","body@stringLength":"878","rawBody":"

Due to my limited Python and SDK experience I am finding it difficult to easily obtain the availability state of a virtual server. Given a 'virtual' object, what is the best/easiest way to return the value of that VS' 'Availability' state (offline, available, unknown, etc)?

\n

I can do the following:

\nmy_virtual = mgmt.tm.ltm.virtuals.virtual.load(name='some_virtual')\nstats = my_virtual.stats.load()\n\n\n

Printing the stats.raw shows that there is a nested dictionary entry keyed 'status.availibityState' that appears to hold the value I'm looking for. Forgive my inexperience, but what is the easiest way to get the availability state of a virtual using the SDK? Perhaps a method I'm missing that retrieves the value above, or the value is easily obtained elsewhere.

\n

Appreciate any assitance!

","kudosSumWeight":0,"postTime":"2017-01-19T09:16:41.000-08:00","images":{"__typename":"AssociatedImageConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"attachments":{"__typename":"AttachmentConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3wxMHxfTlZffDE","node":{"__typename":"Tag","id":"tag:devops","text":"devops","time":"2011-10-19T17:50:55.000-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3wxMHxfTlZffDI","node":{"__typename":"Tag","id":"tag:iControlREST","text":"iControlREST","time":"2022-01-24T02:29:46.488-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3wxMHxfTlZffDM","node":{"__typename":"Tag","id":"tag:LTM","text":"LTM","time":"2022-01-24T02:29:45.119-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3wxMHxfTlZffDQ","node":{"__typename":"Tag","id":"tag:python","text":"python","time":"2022-01-24T02:30:07.130-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3wxMHxfTlZffDU","node":{"__typename":"Tag","id":"tag:sdk","text":"sdk","time":"2022-01-24T02:30:29.098-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3wxMHxfTlZffDY","node":{"__typename":"Tag","id":"tag:stats","text":"stats","time":"2022-01-24T02:30:36.772-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":1,"currentRevision":{"__ref":"Revision:revision:203317_2"},"latestVersion":null,"metrics":{"__typename":"MessageMetrics","views":2164},"visibilityScope":"PUBLIC","canonicalUrl":null,"seoTitle":null,"seoDescription":null,"isEscalated":null,"placeholder":false,"originalMessageForPlaceholder":null,"messagePolicies":{"__typename":"MessagePolicies","canModerateSpamMessage":{"__typename":"PolicyResult","failureReason":{"__typename":"FailureReason","message":"error.lithium.policies.feature.moderation_spam.action.moderate_entity.allowed.accessDenied","key":"error.lithium.policies.feature.moderation_spam.action.moderate_entity.allowed.accessDenied","args":[]}}},"archivalData":null,"searchSnippet":"Due to my limited Python and SDK experience I am finding it difficult to easily obtain the availability state of a virtual server. Given a 'virtual' object, what is the best/easiest way to return the...","replies":{"__typename":"MessageConnection","edges":[{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwxMHwzOToxfGludCwyMDMzMTksMjAzMzE5","node":{"__ref":"ForumReplyMessage:message:203319"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwxMHwzOToxfGludCwyMDMzMTksMjAzMzE4","node":{"__ref":"ForumReplyMessage:message:203318"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwxMHwzOToxfGludCwyMDMzMTksMjAzMzMw","node":{"__ref":"ForumReplyMessage:message:203330"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwxMHwzOToxfGludCwyMDMzMTksMjAzMzMx","node":{"__ref":"ForumReplyMessage:message:203331"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwxMHwzOToxfGludCwyMDMzMTksMjAzMzM2","node":{"__ref":"ForumReplyMessage:message:203336"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwxMHwzOToxfGludCwyMDMzMTksMjAzMzM3","node":{"__ref":"ForumReplyMessage:message:203337"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwxMHwzOToxfGludCwyMDMzMTksMjAzMzQw","node":{"__ref":"ForumReplyMessage:message:203340"}}],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"customFields":[]},"Conversation:conversation:203317":{"__typename":"Conversation","id":"conversation:203317","solved":false,"topic":{"__ref":"ForumTopicMessage:message:203317"},"lastPostingActivityTime":"2023-06-03T22:53:38.674-07:00","lastPostTime":"2018-05-01T09:46:10.000-07:00","unreadReplyCount":27,"isSubscribed":false},"ModerationData:moderation_data:203317":{"__typename":"ModerationData","id":"moderation_data:203317","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"Revision:revision:203317_2":{"__typename":"Revision","id":"revision:203317_2","lastEditTime":"2023-06-03T22:53:38.674-07:00"},"CachedAsset:theme:customTheme1-1744705504366":{"__typename":"CachedAsset","id":"theme:customTheme1-1744705504366","value":{"id":"customTheme1","animation":{"fast":"150ms","normal":"250ms","slow":"500ms","slowest":"750ms","function":"cubic-bezier(0.07, 0.91, 0.51, 1)","__typename":"AnimationThemeSettings"},"avatar":{"borderRadius":"50%","collections":["custom"],"__typename":"AvatarThemeSettings"},"basics":{"browserIcon":{"imageAssetName":"JimmyPackets-512-1702592938213.png","imageLastModified":"1702592945815","__typename":"ThemeAsset"},"customerLogo":{"imageAssetName":"f5_logo_fix-1704824537976.svg","imageLastModified":"1704824540697","__typename":"ThemeAsset"},"maximumWidthOfPageContent":"1600px","oneColumnNarrowWidth":"800px","gridGutterWidthMd":"30px","gridGutterWidthXs":"10px","pageWidthStyle":"WIDTH_OF_PAGE_CONTENT","__typename":"BasicsThemeSettings"},"buttons":{"borderRadiusSm":"5px","borderRadius":"5px","borderRadiusLg":"5px","paddingY":"5px","paddingYLg":"7px","paddingYHero":"var(--lia-bs-btn-padding-y-lg)","paddingX":"12px","paddingXLg":"14px","paddingXHero":"42px","fontStyle":"NORMAL","fontWeight":"400","textTransform":"NONE","disabledOpacity":0.5,"primaryTextColor":"var(--lia-bs-white)","primaryTextHoverColor":"var(--lia-bs-white)","primaryTextActiveColor":"var(--lia-bs-white)","primaryBgColor":"var(--lia-bs-primary)","primaryBgHoverColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.85))","primaryBgActiveColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) * 0.7))","primaryBorder":"1px solid transparent","primaryBorderHover":"1px solid transparent","primaryBorderActive":"1px solid transparent","primaryBorderFocus":"1px solid var(--lia-bs-white)","primaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","secondaryTextColor":"var(--lia-bs-gray-900)","secondaryTextHoverColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.95))","secondaryTextActiveColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.9))","secondaryBgColor":"var(--lia-bs-gray-400)","secondaryBgHoverColor":"hsl(var(--lia-bs-gray-400-h), var(--lia-bs-gray-400-s), calc(var(--lia-bs-gray-400-l) * 0.96))","secondaryBgActiveColor":"hsl(var(--lia-bs-gray-400-h), var(--lia-bs-gray-400-s), calc(var(--lia-bs-gray-400-l) * 0.92))","secondaryBorder":"1px solid transparent","secondaryBorderHover":"1px solid transparent","secondaryBorderActive":"1px solid transparent","secondaryBorderFocus":"1px solid transparent","secondaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","tertiaryTextColor":"var(--lia-bs-gray-900)","tertiaryTextHoverColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.95))","tertiaryTextActiveColor":"hsl(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), calc(var(--lia-bs-gray-900-l) * 0.9))","tertiaryBgColor":"transparent","tertiaryBgHoverColor":"transparent","tertiaryBgActiveColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.04)","tertiaryBorder":"1px solid transparent","tertiaryBorderHover":"1px solid hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","tertiaryBorderActive":"1px solid transparent","tertiaryBorderFocus":"1px solid transparent","tertiaryBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","destructiveTextColor":"var(--lia-bs-danger)","destructiveTextHoverColor":"hsl(var(--lia-bs-danger-h), var(--lia-bs-danger-s), calc(var(--lia-bs-danger-l) * 0.95))","destructiveTextActiveColor":"hsl(var(--lia-bs-danger-h), var(--lia-bs-danger-s), calc(var(--lia-bs-danger-l) * 0.9))","destructiveBgColor":"var(--lia-bs-gray-300)","destructiveBgHoverColor":"hsl(var(--lia-bs-gray-300-h), var(--lia-bs-gray-300-s), calc(var(--lia-bs-gray-300-l) * 0.96))","destructiveBgActiveColor":"hsl(var(--lia-bs-gray-300-h), var(--lia-bs-gray-300-s), calc(var(--lia-bs-gray-300-l) * 0.92))","destructiveBorder":"1px solid transparent","destructiveBorderHover":"1px solid transparent","destructiveBorderActive":"1px solid transparent","destructiveBorderFocus":"1px solid transparent","destructiveBoxShadowFocus":"0 0 0 1px var(--lia-bs-primary), 0 0 0 4px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","__typename":"ButtonsThemeSettings"},"border":{"color":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","mainContent":"NONE","sideContent":"NONE","radiusSm":"3px","radius":"5px","radiusLg":"9px","radius50":"100vw","__typename":"BorderThemeSettings"},"boxShadow":{"xs":"0 0 0 1px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.08), 0 3px 0 -1px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.08)","sm":"0 2px 4px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.06)","md":"0 5px 15px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.15)","lg":"0 10px 30px hsla(var(--lia-bs-gray-900-h), var(--lia-bs-gray-900-s), var(--lia-bs-gray-900-l), 0.15)","__typename":"BoxShadowThemeSettings"},"cards":{"bgColor":"var(--lia-panel-bg-color)","borderRadius":"var(--lia-panel-border-radius)","boxShadow":"var(--lia-box-shadow-xs)","__typename":"CardsThemeSettings"},"chip":{"maxWidth":"300px","height":"30px","__typename":"ChipThemeSettings"},"coreTypes":{"defaultMessageLinkColor":"var(--lia-bs-primary)","defaultMessageLinkDecoration":"none","defaultMessageLinkFontStyle":"NORMAL","defaultMessageLinkFontWeight":"400","defaultMessageFontStyle":"NORMAL","defaultMessageFontWeight":"400","defaultMessageFontFamily":"var(--lia-bs-font-family-base)","forumColor":"#0C5C8D","forumFontFamily":"var(--lia-bs-font-family-base)","forumFontWeight":"var(--lia-default-message-font-weight)","forumLineHeight":"var(--lia-bs-line-height-base)","forumFontStyle":"var(--lia-default-message-font-style)","forumMessageLinkColor":"var(--lia-default-message-link-color)","forumMessageLinkDecoration":"var(--lia-default-message-link-decoration)","forumMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","forumMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","forumSolvedColor":"#62C026","blogColor":"#730015","blogFontFamily":"var(--lia-bs-font-family-base)","blogFontWeight":"var(--lia-default-message-font-weight)","blogLineHeight":"1.75","blogFontStyle":"var(--lia-default-message-font-style)","blogMessageLinkColor":"var(--lia-default-message-link-color)","blogMessageLinkDecoration":"var(--lia-default-message-link-decoration)","blogMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","blogMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","tkbColor":"#C20025","tkbFontFamily":"var(--lia-bs-font-family-base)","tkbFontWeight":"var(--lia-default-message-font-weight)","tkbLineHeight":"1.75","tkbFontStyle":"var(--lia-default-message-font-style)","tkbMessageLinkColor":"var(--lia-default-message-link-color)","tkbMessageLinkDecoration":"var(--lia-default-message-link-decoration)","tkbMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","tkbMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","qandaColor":"#4099E2","qandaFontFamily":"var(--lia-bs-font-family-base)","qandaFontWeight":"var(--lia-default-message-font-weight)","qandaLineHeight":"var(--lia-bs-line-height-base)","qandaFontStyle":"var(--lia-default-message-link-font-style)","qandaMessageLinkColor":"var(--lia-default-message-link-color)","qandaMessageLinkDecoration":"var(--lia-default-message-link-decoration)","qandaMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","qandaMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","qandaSolvedColor":"#3FA023","ideaColor":"#F3704B","ideaFontFamily":"var(--lia-bs-font-family-base)","ideaFontWeight":"var(--lia-default-message-font-weight)","ideaLineHeight":"var(--lia-bs-line-height-base)","ideaFontStyle":"var(--lia-default-message-font-style)","ideaMessageLinkColor":"var(--lia-default-message-link-color)","ideaMessageLinkDecoration":"var(--lia-default-message-link-decoration)","ideaMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","ideaMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","contestColor":"#FCC845","contestFontFamily":"var(--lia-bs-font-family-base)","contestFontWeight":"var(--lia-default-message-font-weight)","contestLineHeight":"var(--lia-bs-line-height-base)","contestFontStyle":"var(--lia-default-message-link-font-style)","contestMessageLinkColor":"var(--lia-default-message-link-color)","contestMessageLinkDecoration":"var(--lia-default-message-link-decoration)","contestMessageLinkFontStyle":"ITALIC","contestMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","occasionColor":"#EE4B5B","occasionFontFamily":"var(--lia-bs-font-family-base)","occasionFontWeight":"var(--lia-default-message-font-weight)","occasionLineHeight":"var(--lia-bs-line-height-base)","occasionFontStyle":"var(--lia-default-message-font-style)","occasionMessageLinkColor":"var(--lia-default-message-link-color)","occasionMessageLinkDecoration":"var(--lia-default-message-link-decoration)","occasionMessageLinkFontStyle":"var(--lia-default-message-link-font-style)","occasionMessageLinkFontWeight":"var(--lia-default-message-link-font-weight)","grouphubColor":"#491B62","categoryColor":"#949494","communityColor":"#FFFFFF","productColor":"#949494","__typename":"CoreTypesThemeSettings"},"colors":{"black":"#000000","white":"#FFFFFF","gray100":"#F7F7F7","gray200":"#F7F7F7","gray300":"#E8E8E8","gray400":"#D9D9D9","gray500":"#CCCCCC","gray600":"#949494","gray700":"#707070","gray800":"#545454","gray900":"#333333","dark":"#545454","light":"#F7F7F7","primary":"#0C5C8D","secondary":"#333333","bodyText":"#222222","bodyBg":"#F5F5F5","info":"#1D9CD3","success":"#62C026","warning":"#FFD651","danger":"#C20025","alertSystem":"#FF6600","textMuted":"#707070","highlight":"#FFFCAD","outline":"var(--lia-bs-primary)","custom":["#C20025","#081B85","#009639","#B3C6D7","#7CC0EB","#F29A36"],"__typename":"ColorsThemeSettings"},"divider":{"size":"3px","marginLeft":"4px","marginRight":"4px","borderRadius":"50%","bgColor":"var(--lia-bs-gray-600)","bgColorActive":"var(--lia-bs-gray-600)","__typename":"DividerThemeSettings"},"dropdown":{"fontSize":"var(--lia-bs-font-size-sm)","borderColor":"var(--lia-bs-border-color)","borderRadius":"var(--lia-bs-border-radius-sm)","dividerBg":"var(--lia-bs-gray-300)","itemPaddingY":"5px","itemPaddingX":"20px","headerColor":"var(--lia-bs-gray-700)","__typename":"DropdownThemeSettings"},"email":{"link":{"color":"#0069D4","hoverColor":"#0061c2","decoration":"none","hoverDecoration":"underline","__typename":"EmailLinkSettings"},"border":{"color":"#e4e4e4","__typename":"EmailBorderSettings"},"buttons":{"borderRadiusLg":"5px","paddingXLg":"16px","paddingYLg":"7px","fontWeight":"700","primaryTextColor":"#ffffff","primaryTextHoverColor":"#ffffff","primaryBgColor":"#0069D4","primaryBgHoverColor":"#005cb8","primaryBorder":"1px solid transparent","primaryBorderHover":"1px solid transparent","__typename":"EmailButtonsSettings"},"panel":{"borderRadius":"5px","borderColor":"#e4e4e4","__typename":"EmailPanelSettings"},"__typename":"EmailThemeSettings"},"emoji":{"skinToneDefault":"#ffcd43","skinToneLight":"#fae3c5","skinToneMediumLight":"#e2cfa5","skinToneMedium":"#daa478","skinToneMediumDark":"#a78058","skinToneDark":"#5e4d43","__typename":"EmojiThemeSettings"},"heading":{"color":"var(--lia-bs-body-color)","fontFamily":"Inter","fontStyle":"NORMAL","fontWeight":"600","h1FontSize":"30px","h2FontSize":"25px","h3FontSize":"20px","h4FontSize":"18px","h5FontSize":"16px","h6FontSize":"16px","lineHeight":"1.2","subHeaderFontSize":"11px","subHeaderFontWeight":"500","h1LetterSpacing":"normal","h2LetterSpacing":"normal","h3LetterSpacing":"normal","h4LetterSpacing":"normal","h5LetterSpacing":"normal","h6LetterSpacing":"normal","subHeaderLetterSpacing":"2px","h1FontWeight":"var(--lia-bs-headings-font-weight)","h2FontWeight":"var(--lia-bs-headings-font-weight)","h3FontWeight":"var(--lia-bs-headings-font-weight)","h4FontWeight":"var(--lia-bs-headings-font-weight)","h5FontWeight":"var(--lia-bs-headings-font-weight)","h6FontWeight":"var(--lia-bs-headings-font-weight)","__typename":"HeadingThemeSettings"},"icons":{"size10":"10px","size12":"12px","size14":"14px","size16":"16px","size20":"20px","size24":"24px","size30":"30px","size40":"40px","size50":"50px","size60":"60px","size80":"80px","size120":"120px","size160":"160px","__typename":"IconsThemeSettings"},"imagePreview":{"bgColor":"var(--lia-bs-gray-900)","titleColor":"var(--lia-bs-white)","controlColor":"var(--lia-bs-white)","controlBgColor":"var(--lia-bs-gray-800)","__typename":"ImagePreviewThemeSettings"},"input":{"borderColor":"var(--lia-bs-gray-600)","disabledColor":"var(--lia-bs-gray-600)","focusBorderColor":"var(--lia-bs-primary)","labelMarginBottom":"10px","btnFontSize":"var(--lia-bs-font-size-sm)","focusBoxShadow":"0 0 0 3px hsla(var(--lia-bs-primary-h), var(--lia-bs-primary-s), var(--lia-bs-primary-l), 0.2)","checkLabelMarginBottom":"2px","checkboxBorderRadius":"3px","borderRadiusSm":"var(--lia-bs-border-radius-sm)","borderRadius":"var(--lia-bs-border-radius)","borderRadiusLg":"var(--lia-bs-border-radius-lg)","formTextMarginTop":"4px","textAreaBorderRadius":"var(--lia-bs-border-radius)","activeFillColor":"var(--lia-bs-primary)","__typename":"InputThemeSettings"},"loading":{"dotDarkColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.2)","dotLightColor":"hsla(var(--lia-bs-white-h), var(--lia-bs-white-s), var(--lia-bs-white-l), 0.5)","barDarkColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.06)","barLightColor":"hsla(var(--lia-bs-white-h), var(--lia-bs-white-s), var(--lia-bs-white-l), 0.4)","__typename":"LoadingThemeSettings"},"link":{"color":"var(--lia-bs-primary)","hoverColor":"hsl(var(--lia-bs-primary-h), var(--lia-bs-primary-s), calc(var(--lia-bs-primary-l) - 10%))","decoration":"none","hoverDecoration":"underline","__typename":"LinkThemeSettings"},"listGroup":{"itemPaddingY":"15px","itemPaddingX":"15px","borderColor":"var(--lia-bs-gray-300)","__typename":"ListGroupThemeSettings"},"modal":{"contentTextColor":"var(--lia-bs-body-color)","contentBg":"var(--lia-bs-white)","backgroundBg":"var(--lia-bs-black)","smSize":"440px","mdSize":"760px","lgSize":"1080px","backdropOpacity":0.3,"contentBoxShadowXs":"var(--lia-bs-box-shadow-sm)","contentBoxShadow":"var(--lia-bs-box-shadow)","headerFontWeight":"700","__typename":"ModalThemeSettings"},"navbar":{"position":"FIXED","background":{"attachment":null,"clip":null,"color":"var(--lia-bs-white)","imageAssetName":null,"imageLastModified":"0","origin":null,"position":"CENTER_CENTER","repeat":"NO_REPEAT","size":"COVER","__typename":"BackgroundProps"},"backgroundOpacity":0.8,"paddingTop":"15px","paddingBottom":"15px","borderBottom":"1px solid var(--lia-bs-border-color)","boxShadow":"var(--lia-bs-box-shadow-sm)","brandMarginRight":"30px","brandMarginRightSm":"10px","brandLogoHeight":"30px","linkGap":"10px","linkJustifyContent":"flex-start","linkPaddingY":"5px","linkPaddingX":"10px","linkDropdownPaddingY":"9px","linkDropdownPaddingX":"var(--lia-nav-link-px)","linkColor":"var(--lia-bs-body-color)","linkHoverColor":"var(--lia-bs-primary)","linkFontSize":"var(--lia-bs-font-size-sm)","linkFontStyle":"NORMAL","linkFontWeight":"400","linkTextTransform":"NONE","linkLetterSpacing":"normal","linkBorderRadius":"var(--lia-bs-border-radius-sm)","linkBgColor":"transparent","linkBgHoverColor":"transparent","linkBorder":"none","linkBorderHover":"none","linkBoxShadow":"none","linkBoxShadowHover":"none","linkTextBorderBottom":"none","linkTextBorderBottomHover":"none","dropdownPaddingTop":"10px","dropdownPaddingBottom":"15px","dropdownPaddingX":"10px","dropdownMenuOffset":"2px","dropdownDividerMarginTop":"10px","dropdownDividerMarginBottom":"10px","dropdownBorderColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","controllerBgHoverColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.1)","controllerIconColor":"var(--lia-bs-body-color)","controllerIconHoverColor":"var(--lia-bs-body-color)","controllerTextColor":"var(--lia-nav-controller-icon-color)","controllerTextHoverColor":"var(--lia-nav-controller-icon-hover-color)","controllerHighlightColor":"hsla(30, 100%, 50%)","controllerHighlightTextColor":"var(--lia-yiq-light)","controllerBorderRadius":"var(--lia-border-radius-50)","hamburgerColor":"var(--lia-nav-controller-icon-color)","hamburgerHoverColor":"var(--lia-nav-controller-icon-color)","hamburgerBgColor":"transparent","hamburgerBgHoverColor":"transparent","hamburgerBorder":"none","hamburgerBorderHover":"none","collapseMenuMarginLeft":"20px","collapseMenuDividerBg":"var(--lia-nav-link-color)","collapseMenuDividerOpacity":0.16,"__typename":"NavbarThemeSettings"},"pager":{"textColor":"var(--lia-bs-link-color)","textFontWeight":"var(--lia-font-weight-md)","textFontSize":"var(--lia-bs-font-size-sm)","__typename":"PagerThemeSettings"},"panel":{"bgColor":"var(--lia-bs-white)","borderRadius":"var(--lia-bs-border-radius)","borderColor":"var(--lia-bs-border-color)","boxShadow":"none","__typename":"PanelThemeSettings"},"popover":{"arrowHeight":"8px","arrowWidth":"16px","maxWidth":"300px","minWidth":"100px","headerBg":"var(--lia-bs-white)","borderColor":"var(--lia-bs-border-color)","borderRadius":"var(--lia-bs-border-radius)","boxShadow":"0 0.5rem 1rem hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.15)","__typename":"PopoverThemeSettings"},"prism":{"color":"#000000","bgColor":"#f5f2f0","fontFamily":"var(--font-family-monospace)","fontSize":"var(--lia-bs-font-size-base)","fontWeightBold":"var(--lia-bs-font-weight-bold)","fontStyleItalic":"italic","tabSize":2,"highlightColor":"#b3d4fc","commentColor":"#62707e","punctuationColor":"#6f6f6f","namespaceOpacity":"0.7","propColor":"#990055","selectorColor":"#517a00","operatorColor":"#906736","operatorBgColor":"hsla(0, 0%, 100%, 0.5)","keywordColor":"#0076a9","functionColor":"#d3284b","variableColor":"#c14700","__typename":"PrismThemeSettings"},"rte":{"bgColor":"var(--lia-bs-white)","borderRadius":"var(--lia-panel-border-radius)","boxShadow":" var(--lia-panel-box-shadow)","customColor1":"#bfedd2","customColor2":"#fbeeb8","customColor3":"#f8cac6","customColor4":"#eccafa","customColor5":"#c2e0f4","customColor6":"#2dc26b","customColor7":"#f1c40f","customColor8":"#e03e2d","customColor9":"#b96ad9","customColor10":"#3598db","customColor11":"#169179","customColor12":"#e67e23","customColor13":"#ba372a","customColor14":"#843fa1","customColor15":"#236fa1","customColor16":"#ecf0f1","customColor17":"#ced4d9","customColor18":"#95a5a6","customColor19":"#7e8c8d","customColor20":"#34495e","customColor21":"#000000","customColor22":"#ffffff","defaultMessageHeaderMarginTop":"14px","defaultMessageHeaderMarginBottom":"10px","defaultMessageItemMarginTop":"0","defaultMessageItemMarginBottom":"10px","diffAddedColor":"hsla(170, 53%, 51%, 0.4)","diffChangedColor":"hsla(43, 97%, 63%, 0.4)","diffNoneColor":"hsla(0, 0%, 80%, 0.4)","diffRemovedColor":"hsla(9, 74%, 47%, 0.4)","specialMessageHeaderMarginTop":"14px","specialMessageHeaderMarginBottom":"10px","specialMessageItemMarginTop":"0","specialMessageItemMarginBottom":"10px","__typename":"RteThemeSettings"},"tags":{"bgColor":"var(--lia-bs-gray-200)","bgHoverColor":"var(--lia-bs-gray-400)","borderRadius":"var(--lia-bs-border-radius-sm)","color":"var(--lia-bs-body-color)","hoverColor":"var(--lia-bs-body-color)","fontWeight":"var(--lia-font-weight-md)","fontSize":"var(--lia-font-size-xxs)","textTransform":"UPPERCASE","letterSpacing":"0.5px","__typename":"TagsThemeSettings"},"toasts":{"borderRadius":"var(--lia-bs-border-radius)","paddingX":"12px","__typename":"ToastsThemeSettings"},"typography":{"fontFamilyBase":"Atkinson Hyperlegible","fontStyleBase":"NORMAL","fontWeightBase":"400","fontWeightLight":"300","fontWeightNormal":"400","fontWeightMd":"500","fontWeightBold":"700","letterSpacingSm":"normal","letterSpacingXs":"normal","lineHeightBase":"1.3","fontSizeBase":"15px","fontSizeXxs":"11px","fontSizeXs":"12px","fontSizeSm":"13px","fontSizeLg":"20px","fontSizeXl":"24px","smallFontSize":"14px","customFonts":[],"__typename":"TypographyThemeSettings"},"unstyledListItem":{"marginBottomSm":"5px","marginBottomMd":"10px","marginBottomLg":"15px","marginBottomXl":"20px","marginBottomXxl":"25px","__typename":"UnstyledListItemThemeSettings"},"yiq":{"light":"#ffffff","dark":"#000000","__typename":"YiqThemeSettings"},"colorLightness":{"primaryDark":0.36,"primaryLight":0.74,"primaryLighter":0.89,"primaryLightest":0.95,"infoDark":0.39,"infoLight":0.72,"infoLighter":0.85,"infoLightest":0.93,"successDark":0.24,"successLight":0.62,"successLighter":0.8,"successLightest":0.91,"warningDark":0.39,"warningLight":0.68,"warningLighter":0.84,"warningLightest":0.93,"dangerDark":0.41,"dangerLight":0.72,"dangerLighter":0.89,"dangerLightest":0.95,"__typename":"ColorLightnessThemeSettings"},"localOverride":false,"__typename":"Theme"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Loading/LoadingDot-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Loading/LoadingDot-1744046271000","value":{"title":"Loading..."},"localOverride":false},"CachedAsset:quilt:f5.prod:pages/forums/ForumMessagePage:board:TechnicalForum-1744705502419":{"__typename":"CachedAsset","id":"quilt:f5.prod:pages/forums/ForumMessagePage:board:TechnicalForum-1744705502419","value":{"id":"ForumMessagePage","container":{"id":"Common","headerProps":{"backgroundImageProps":null,"backgroundColor":null,"addComponents":null,"removeComponents":["community.widget.bannerWidget"],"componentOrder":null,"__typename":"QuiltContainerSectionProps"},"headerComponentProps":{"community.widget.breadcrumbWidget":{"disableLastCrumbForDesktop":false}},"footerProps":null,"footerComponentProps":null,"items":[{"id":"message-list","layout":"MAIN_SIDE","bgColor":null,"showTitle":null,"showDescription":null,"textPosition":null,"textColor":null,"sectionEditLevel":null,"bgImage":null,"disableSpacing":null,"edgeToEdgeDisplay":null,"fullHeight":null,"showBorder":null,"__typename":"MainSideQuiltSection","columnMap":{"main":[{"id":"messages.widget.topicWithThreadedReplyListWidget","className":"lia-topic-with-replies","props":{"editLevel":"CONFIGURE"},"__typename":"QuiltComponent"}],"side":[{"id":"featuredWidgets.widget.featuredContentWidget","className":null,"props":{"instanceId":"featuredWidgets.widget.featuredContentWidget-1705956211049","layoutProps":{"layout":"card","layoutOptions":{"useRepliesCount":false,"useAuthorRank":false,"useTimeToRead":true,"useKudosCount":false,"useViewCount":false,"usePreviewMedia":true,"useBody":false,"useCenteredCardContent":false,"useTags":true,"useTimestamp":false,"useBoardLink":true,"useAuthorLink":false,"useSolvedBadge":true}},"titleSrOnly":false,"showPager":true,"pageSize":3,"lazyLoad":false},"__typename":"QuiltComponent"},{"id":"messages.widget.messageListForNodeByRecentActivityWidget","className":null,"props":{"hideIfEmpty":true,"pageSize":5,"pagerVariant":{"type":"loadMore"},"viewVariant":{"type":"inline","props":{"useRepliesCount":false,"useMedia":false,"useAuthorRank":false,"useNode":false,"boardIconSize":"24","truncateBodyLength":-1,"useNodeLink":true,"usePreviewMedia":false,"timeStampType":"conversation.lastPostingActivityTime","avatarSize":"40","useTextBody":true,"useSolvedBadge":true,"subjectAs":"h6","renderPostTimeBeforeAuthor":true,"useAvatar":false,"useTimeToRead":false,"useSpoilerFreeBody":true,"useKudosCount":false,"useViewCount":false,"useBody":false,"useTags":false,"clampSubjectLines":1,"useBoardIcon":true,"useMessageTimeLink":true,"clampBodyLines":3,"useAuthorLogin":true,"useUnreadCount":false,"useNodeHoverCard":true,"useSearchSnippet":false}},"lazyLoad":false,"listVariant":{"type":"unstyled","props":{"listItemSpacing":"xxl"}},"useTitle":true,"addTags":false,"titleContextVariant":"other","showTabs":false,"style":"compact","panelType":"standard","sorts":{"conversationLastPostingActivityTime":{"direction":"DESC"}}},"__typename":"QuiltComponent"},{"id":"messages.widget.relatedContentWidget","className":null,"props":{"hideIfEmpty":true,"enablePagination":false,"useTitle":true,"listVariant":{"type":"unstyled","props":{"listItemSpacing":"xxl"}},"pageSize":5,"style":"compact","pagerVariant":{"type":"none"},"viewVariant":{"type":"inline","props":{"useRepliesCount":false,"useMedia":false,"useAuthorRank":false,"useNode":false,"boardIconSize":"24","useAuthorLoginLink":true,"useNodeLink":true,"usePreviewMedia":true,"timeStampType":"postTime","useTextBody":true,"useSolvedBadge":false,"subjectAs":"h6","renderPostTimeBeforeAuthor":true,"useAvatar":false,"useVideoPreview":false,"portraitClampBodyLines":3,"useCompactSpacing":true,"useTimeToRead":false,"useSpoilerFreeBody":true,"useKudosCount":false,"useViewCount":false,"useBody":false,"useTags":false,"clampSubjectLines":1,"useBoardIcon":true,"useMessageTimeLink":true,"useAuthorLogin":true}},"lazyLoad":false,"panelType":"standard"},"__typename":"QuiltComponent"},{"id":"custom.widget.Community_Quicklinks","className":null,"props":{"customComponentId":"custom.widget.Community_Quicklinks"},"__typename":"QuiltComponent"}],"__typename":"MainSideSectionColumns"}}],"__typename":"QuiltContainer"},"__typename":"Quilt","localOverride":false},"localOverride":false},"CachedAsset:text:en_US-components/common/EmailVerification-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/common/EmailVerification-1744046271000","value":{"email.verification.title":"Email Verification Required","email.verification.message.update.email":"To participate in the community, you must first verify your email address. The verification email was sent to {email}. To change your email, visit My Settings.","email.verification.message.resend.email":"To participate in the community, you must first verify your email address. The verification email was sent to {email}. Resend email."},"localOverride":false},"CachedAsset:text:en_US-pages/forums/ForumMessagePage-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-pages/forums/ForumMessagePage-1744046271000","value":{"title":"{contextMessageSubject} | {communityTitle}","errorMissing":"This message cannot be found","name":"Forum Message Page","section.message-list.title":"Forum Discussion","archivedMessageTitle":"This Content Has Been Archived"},"localOverride":false},"CachedAsset:quiltWrapper:f5.prod:Common:1744732624128":{"__typename":"CachedAsset","id":"quiltWrapper:f5.prod:Common:1744732624128","value":{"id":"Common","header":{"backgroundImageProps":{"assetName":"header.jpg","backgroundSize":"COVER","backgroundRepeat":"NO_REPEAT","backgroundPosition":"LEFT_CENTER","lastModified":"1702932449000","__typename":"BackgroundImageProps"},"backgroundColor":"transparent","items":[{"id":"custom.widget.Beta_MetaNav","props":{"widgetVisibility":"signedInOrAnonymous","useTitle":true,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"},{"id":"community.widget.navbarWidget","props":{"showUserName":false,"showRegisterLink":true,"style":{"boxShadow":"var(--lia-bs-box-shadow-sm)","linkFontWeight":"700","controllerHighlightColor":"hsla(30, 100%, 50%)","dropdownDividerMarginBottom":"10px","hamburgerBorderHover":"none","linkFontSize":"15px","linkBoxShadowHover":"none","backgroundOpacity":0.4,"controllerBorderRadius":"var(--lia-border-radius-50)","hamburgerBgColor":"transparent","linkTextBorderBottom":"none","hamburgerColor":"var(--lia-nav-controller-icon-color)","brandLogoHeight":"48px","linkLetterSpacing":"normal","linkBgHoverColor":"transparent","collapseMenuDividerOpacity":0.16,"paddingBottom":"10px","dropdownPaddingBottom":"15px","dropdownMenuOffset":"2px","hamburgerBgHoverColor":"transparent","borderBottom":"0","hamburgerBorder":"none","dropdownPaddingX":"10px","brandMarginRightSm":"10px","linkBoxShadow":"none","linkJustifyContent":"center","linkColor":"var(--lia-bs-primary)","collapseMenuDividerBg":"var(--lia-nav-link-color)","dropdownPaddingTop":"10px","controllerHighlightTextColor":"var(--lia-yiq-dark)","background":{"imageAssetName":"","color":"var(--lia-bs-white)","size":"COVER","repeat":"NO_REPEAT","position":"CENTER_CENTER","imageLastModified":""},"linkBorderRadius":"var(--lia-bs-border-radius-sm)","linkHoverColor":"var(--lia-bs-primary)","position":"FIXED","linkBorder":"none","linkTextBorderBottomHover":"2px solid #0C5C8D","brandMarginRight":"30px","hamburgerHoverColor":"var(--lia-nav-controller-icon-color)","linkBorderHover":"none","collapseMenuMarginLeft":"20px","linkFontStyle":"NORMAL","linkPaddingX":"10px","paddingTop":"10px","linkPaddingY":"5px","linkTextTransform":"NONE","dropdownBorderColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.08)","controllerBgHoverColor":"hsla(var(--lia-bs-black-h), var(--lia-bs-black-s), var(--lia-bs-black-l), 0.1)","linkDropdownPaddingX":"var(--lia-nav-link-px)","linkBgColor":"transparent","linkDropdownPaddingY":"9px","controllerIconColor":"#0C5C8D","dropdownDividerMarginTop":"10px","linkGap":"10px","controllerIconHoverColor":"#0C5C8D"},"links":{"sideLinks":[],"mainLinks":[{"children":[{"linkType":"INTERNAL","id":"migrated-link-1","params":{"boardId":"TechnicalForum","categoryId":"Forums"},"routeName":"ForumBoardPage"},{"linkType":"INTERNAL","id":"migrated-link-2","params":{"boardId":"WaterCooler","categoryId":"Forums"},"routeName":"ForumBoardPage"}],"linkType":"INTERNAL","id":"migrated-link-0","params":{"categoryId":"Forums"},"routeName":"CategoryPage"},{"children":[{"linkType":"INTERNAL","id":"migrated-link-4","params":{"boardId":"codeshare","categoryId":"CrowdSRC"},"routeName":"TkbBoardPage"},{"linkType":"INTERNAL","id":"migrated-link-5","params":{"boardId":"communityarticles","categoryId":"CrowdSRC"},"routeName":"TkbBoardPage"}],"linkType":"INTERNAL","id":"migrated-link-3","params":{"categoryId":"CrowdSRC"},"routeName":"CategoryPage"},{"children":[{"linkType":"INTERNAL","id":"migrated-link-7","params":{"boardId":"TechnicalArticles","categoryId":"Articles"},"routeName":"TkbBoardPage"},{"linkType":"INTERNAL","id":"article-series","params":{"boardId":"article-series","categoryId":"Articles"},"routeName":"TkbBoardPage"},{"linkType":"INTERNAL","id":"security-insights","params":{"boardId":"security-insights","categoryId":"Articles"},"routeName":"TkbBoardPage"},{"linkType":"INTERNAL","id":"migrated-link-8","params":{"boardId":"DevCentralNews","categoryId":"Articles"},"routeName":"TkbBoardPage"}],"linkType":"INTERNAL","id":"migrated-link-6","params":{"categoryId":"Articles"},"routeName":"CategoryPage"},{"children":[{"linkType":"INTERNAL","id":"migrated-link-10","params":{"categoryId":"CommunityGroups"},"routeName":"CategoryPage"},{"linkType":"INTERNAL","id":"migrated-link-11","params":{"categoryId":"F5-Groups"},"routeName":"CategoryPage"}],"linkType":"INTERNAL","id":"migrated-link-9","params":{"categoryId":"GroupsCategory"},"routeName":"CategoryPage"},{"children":[],"linkType":"INTERNAL","id":"migrated-link-12","params":{"boardId":"Events","categoryId":"top"},"routeName":"EventBoardPage"},{"children":[],"linkType":"INTERNAL","id":"migrated-link-13","params":{"boardId":"Suggestions","categoryId":"top"},"routeName":"IdeaBoardPage"},{"children":[],"linkType":"EXTERNAL","id":"Common-external-link","url":"https://community.f5.com/c/how-do-i","target":"SELF"}]},"className":"QuiltComponent_lia-component-edit-mode__lQ9Z6","showSearchIcon":false},"__typename":"QuiltComponent"},{"id":"community.widget.bannerWidget","props":{"backgroundColor":"transparent","visualEffects":{"showBottomBorder":false},"backgroundImageProps":{"backgroundSize":"COVER","backgroundPosition":"CENTER_CENTER","backgroundRepeat":"NO_REPEAT"},"fontColor":"#222222"},"__typename":"QuiltComponent"},{"id":"community.widget.breadcrumbWidget","props":{"backgroundColor":"var(--lia-bs-primary)","linkHighlightColor":"#FFFFFF","visualEffects":{"showBottomBorder":false},"backgroundOpacity":60,"linkTextColor":"#FFFFFF"},"__typename":"QuiltComponent"}],"__typename":"QuiltWrapperSection"},"footer":{"backgroundImageProps":{"assetName":null,"backgroundSize":"COVER","backgroundRepeat":"NO_REPEAT","backgroundPosition":"CENTER_CENTER","lastModified":null,"__typename":"BackgroundImageProps"},"backgroundColor":"var(--lia-bs-body-color)","items":[{"id":"custom.widget.Beta_Footer","props":{"widgetVisibility":"signedInOrAnonymous","useTitle":true,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"},{"id":"custom.widget.Tag_Manager_Helper","props":{"widgetVisibility":"signedInOrAnonymous","useTitle":true,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"},{"id":"custom.widget.Consent_Blackbar","props":{"widgetVisibility":"signedInOrAnonymous","useTitle":true,"useBackground":false,"title":"","lazyLoad":false},"__typename":"QuiltComponent"}],"__typename":"QuiltWrapperSection"},"__typename":"QuiltWrapper","localOverride":false},"localOverride":false},"CachedAsset:text:en_US-components/common/ActionFeedback-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/common/ActionFeedback-1744046271000","value":{"joinedGroupHub.title":"Welcome","joinedGroupHub.message":"You are now a member of this group and are subscribed to updates.","groupHubInviteNotFound.title":"Invitation Not Found","groupHubInviteNotFound.message":"Sorry, we could not find your invitation to the group. The owner may have canceled the invite.","groupHubNotFound.title":"Group Not Found","groupHubNotFound.message":"The grouphub you tried to join does not exist. It may have been deleted.","existingGroupHubMember.title":"Already Joined","existingGroupHubMember.message":"You are already a member of this group.","accountLocked.title":"Account Locked","accountLocked.message":"Your account has been locked due to multiple failed attempts. Try again in {lockoutTime} minutes.","editedGroupHub.title":"Changes Saved","editedGroupHub.message":"Your group has been updated.","leftGroupHub.title":"Goodbye","leftGroupHub.message":"You are no longer a member of this group and will not receive future updates.","deletedGroupHub.title":"Deleted","deletedGroupHub.message":"The group has been deleted.","groupHubCreated.title":"Group Created","groupHubCreated.message":"{groupHubName} is ready to use","accountClosed.title":"Account Closed","accountClosed.message":"The account has been closed and you will now be redirected to the homepage","resetTokenExpired.title":"Reset Password Link has Expired","resetTokenExpired.message":"Try resetting your password again","invalidUrl.title":"Invalid URL","invalidUrl.message":"The URL you're using is not recognized. Verify your URL and try again.","accountClosedForUser.title":"Account Closed","accountClosedForUser.message":"{userName}'s account is closed","inviteTokenInvalid.title":"Invitation Invalid","inviteTokenInvalid.message":"Your invitation to the community has been canceled or expired.","inviteTokenError.title":"Invitation Verification Failed","inviteTokenError.message":"The url you are utilizing is not recognized. Verify your URL and try again","pageNotFound.title":"Access Denied","pageNotFound.message":"You do not have access to this area of the community or it doesn't exist","eventAttending.title":"Responded as Attending","eventAttending.message":"You'll be notified when there's new activity and reminded as the event approaches","eventInterested.title":"Responded as Interested","eventInterested.message":"You'll be notified when there's new activity and reminded as the event approaches","eventNotFound.title":"Event Not Found","eventNotFound.message":"The event you tried to respond to does not exist.","redirectToRelatedPage.title":"Showing Related Content","redirectToRelatedPageForBaseUsers.title":"Showing Related Content","redirectToRelatedPageForBaseUsers.message":"The content you are trying to access is archived","redirectToRelatedPage.message":"The content you are trying to access is archived","relatedUrl.archivalLink.flyoutMessage":"The content you are trying to access is archived View Archived Content"},"localOverride":false},"QueryVariables:TopicReplyList:message:203317:2":{"__typename":"QueryVariables","id":"TopicReplyList:message:203317:2","value":{"id":"message:203317","first":10,"sorts":{"postTime":{"direction":"ASC"}},"repliesFirst":3,"repliesFirstDepthThree":1,"repliesSorts":{"postTime":{"direction":"ASC"}},"useAvatar":true,"useAuthorLogin":true,"useAuthorRank":true,"useBody":true,"useKudosCount":true,"useTimeToRead":false,"useMedia":false,"useReadOnlyIcon":false,"useRepliesCount":true,"useSearchSnippet":false,"useAcceptedSolutionButton":true,"useSolvedBadge":false,"useAttachments":false,"attachmentsFirst":5,"useTags":true,"useNodeAncestors":false,"useUserHoverCard":false,"useNodeHoverCard":false,"useModerationStatus":true,"usePreviewSubjectModal":false,"useMessageStatus":true}},"ROOT_MUTATION":{"__typename":"Mutation"},"CachedAsset:component:custom.widget.Beta_MetaNav-en-us-1744705522819":{"__typename":"CachedAsset","id":"component:custom.widget.Beta_MetaNav-en-us-1744705522819","value":{"component":{"id":"custom.widget.Beta_MetaNav","template":{"id":"Beta_MetaNav","markupLanguage":"HANDLEBARS","style":null,"texts":{},"defaults":{"config":{"applicablePages":[],"description":"MetaNav menu at the top of every page.","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.Beta_MetaNav","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":"MetaNav menu at the top of every page.","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.Community_Quicklinks-en-us-1744705522819":{"__typename":"CachedAsset","id":"component:custom.widget.Community_Quicklinks-en-us-1744705522819","value":{"component":{"id":"custom.widget.Community_Quicklinks","template":{"id":"Community_Quicklinks","markupLanguage":"HANDLEBARS","style":null,"texts":{},"defaults":{"config":{"applicablePages":[],"description":"","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.Community_Quicklinks","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":"","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.Beta_Footer-en-us-1744705522819":{"__typename":"CachedAsset","id":"component:custom.widget.Beta_Footer-en-us-1744705522819","value":{"component":{"id":"custom.widget.Beta_Footer","template":{"id":"Beta_Footer","markupLanguage":"HANDLEBARS","style":null,"texts":{},"defaults":{"config":{"applicablePages":[],"description":"DevCentral´s custom footer.","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.Beta_Footer","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":"DevCentral´s custom footer.","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.Tag_Manager_Helper-en-us-1744705522819":{"__typename":"CachedAsset","id":"component:custom.widget.Tag_Manager_Helper-en-us-1744705522819","value":{"component":{"id":"custom.widget.Tag_Manager_Helper","template":{"id":"Tag_Manager_Helper","markupLanguage":"HANDLEBARS","style":null,"texts":{},"defaults":{"config":{"applicablePages":[],"description":"Helper widget to inject Tag Manager scripts into head element","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.Tag_Manager_Helper","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"CUSTOM","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":"Helper widget to inject Tag Manager scripts into head element","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:component:custom.widget.Consent_Blackbar-en-us-1744705522819":{"__typename":"CachedAsset","id":"component:custom.widget.Consent_Blackbar-en-us-1744705522819","value":{"component":{"id":"custom.widget.Consent_Blackbar","template":{"id":"Consent_Blackbar","markupLanguage":"HTML","style":null,"texts":{},"defaults":{"config":{"applicablePages":[],"description":"","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"components":[{"id":"custom.widget.Consent_Blackbar","form":null,"config":null,"props":[],"__typename":"Component"}],"grouping":"TEXTHTML","__typename":"ComponentTemplate"},"properties":{"config":{"applicablePages":[],"description":"","fetchedContent":null,"__typename":"ComponentConfiguration"},"props":[],"__typename":"ComponentProperties"},"form":null,"__typename":"Component","localOverride":false},"globalCss":null,"form":null},"localOverride":false},"CachedAsset:text:en_US-components/community/Breadcrumb-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/community/Breadcrumb-1744046271000","value":{"navLabel":"Breadcrumbs","dropdown":"Additional parent page navigation"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageBanner-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageBanner-1744046271000","value":{"messageMarkedAsSpam":"This post has been marked as spam","messageMarkedAsSpam@board:TKB":"This article has been marked as spam","messageMarkedAsSpam@board:BLOG":"This post has been marked as spam","messageMarkedAsSpam@board:FORUM":"This discussion has been marked as spam","messageMarkedAsSpam@board:OCCASION":"This event has been marked as spam","messageMarkedAsSpam@board:IDEA":"This idea has been marked as spam","manageSpam":"Manage Spam","messageMarkedAsAbuse":"This post has been marked as abuse","messageMarkedAsAbuse@board:TKB":"This article has been marked as abuse","messageMarkedAsAbuse@board:BLOG":"This post has been marked as abuse","messageMarkedAsAbuse@board:FORUM":"This discussion has been marked as abuse","messageMarkedAsAbuse@board:OCCASION":"This event has been marked as abuse","messageMarkedAsAbuse@board:IDEA":"This idea has been marked as abuse","preModCommentAuthorText":"This comment will be published as soon as it is approved","preModCommentModeratorText":"This comment is awaiting moderation","messageMarkedAsOther":"This post has been rejected due to other reasons","messageMarkedAsOther@board:TKB":"This article has been rejected due to other reasons","messageMarkedAsOther@board:BLOG":"This post has been rejected due to other reasons","messageMarkedAsOther@board:FORUM":"This discussion has been rejected due to other reasons","messageMarkedAsOther@board:OCCASION":"This event has been rejected due to other reasons","messageMarkedAsOther@board:IDEA":"This idea has been rejected due to other reasons","messageArchived":"This post was archived on {date}","relatedUrl":"View Related Content","relatedContentText":"Showing related content","archivedContentLink":"View Archived Content"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageView/MessageViewStandard-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageView/MessageViewStandard-1744046271000","value":{"anonymous":"Anonymous","author":"{messageAuthorLogin}","authorBy":"{messageAuthorLogin}","board":"{messageBoardTitle}","replyToUser":" to {parentAuthor}","showMoreReplies":"Show More","replyText":"Reply","repliesText":"Replies","markedAsSolved":"Marked as Solution","movedMessagePlaceholder.BLOG":"{count, plural, =0 {This comment has been} other {These comments have been} }","movedMessagePlaceholder.TKB":"{count, plural, =0 {This comment has been} other {These comments have been} }","movedMessagePlaceholder.FORUM":"{count, plural, =0 {This reply has been} other {These replies have been} }","movedMessagePlaceholder.IDEA":"{count, plural, =0 {This comment has been} other {These comments have been} }","movedMessagePlaceholder.OCCASION":"{count, plural, =0 {This comment has been} other {These comments have been} }","movedMessagePlaceholderUrlText":"moved.","messageStatus":"Status: ","statusChanged":"Status changed: {previousStatus} to {currentStatus}","statusAdded":"Status added: {status}","statusRemoved":"Status removed: {status}","labelExpand":"expand replies","labelCollapse":"collapse replies","unhelpfulReason.reason1":"Content is outdated","unhelpfulReason.reason2":"Article is missing information","unhelpfulReason.reason3":"Content is for a different Product","unhelpfulReason.reason4":"Doesn't match what I was searching for"},"localOverride":false},"CachedAsset:text:en_US-components/messages/ThreadedReplyList-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/ThreadedReplyList-1744046271000","value":{"title":"{count, plural, one{# Reply} other{# Replies}}","title@board:BLOG":"{count, plural, one{# Comment} other{# Comments}}","title@board:TKB":"{count, plural, one{# Comment} other{# Comments}}","title@board:IDEA":"{count, plural, one{# Comment} other{# Comments}}","title@board:OCCASION":"{count, plural, one{# Comment} other{# Comments}}","noRepliesTitle":"No Replies","noRepliesTitle@board:BLOG":"No Comments","noRepliesTitle@board:TKB":"No Comments","noRepliesTitle@board:IDEA":"No Comments","noRepliesTitle@board:OCCASION":"No Comments","noRepliesDescription":"Be the first to reply","noRepliesDescription@board:BLOG":"Be the first to comment","noRepliesDescription@board:TKB":"Be the first to comment","noRepliesDescription@board:IDEA":"Be the first to comment","noRepliesDescription@board:OCCASION":"Be the first to comment","messageReadOnlyAlert:BLOG":"Comments have been turned off for this post","messageReadOnlyAlert:TKB":"Comments have been turned off for this article","messageReadOnlyAlert:IDEA":"Comments have been turned off for this idea","messageReadOnlyAlert:FORUM":"Replies have been turned off for this discussion","messageReadOnlyAlert:OCCASION":"Comments have been turned off for this event"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageReplyCallToAction-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageReplyCallToAction-1744046271000","value":{"leaveReply":"Leave a reply...","leaveReply@board:BLOG@message:root":"Leave a comment...","leaveReply@board:TKB@message:root":"Leave a comment...","leaveReply@board:IDEA@message:root":"Leave a comment...","leaveReply@board:OCCASION@message:root":"Leave a comment...","repliesTurnedOff.FORUM":"Replies are turned off for this topic","repliesTurnedOff.BLOG":"Comments are turned off for this topic","repliesTurnedOff.TKB":"Comments are turned off for this topic","repliesTurnedOff.IDEA":"Comments are turned off for this topic","repliesTurnedOff.OCCASION":"Comments are turned off for this topic","infoText":"Stop poking me!"},"localOverride":false},"CachedAsset:text:en_US-components/featured/content/FeaturedContentWidget-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/featured/content/FeaturedContentWidget-1744046271000","value":{"edit":"Edit Featured Content","title":"Featured Content","title@instance:iLVTsW":"Pinned Items","title@instance:featuredWidgets.widget.featuredContentWidget-1702666903735":"","title@instance:TZsNhL":"","title@instance:featuredWidgets.widget.featuredContentWidget-1702666556326":"","title@instance:featuredWidgets.widget.featuredContentWidget-1717525242793":"","title@instance:featuredWidgets.widget.featuredContentWidget-1705956211049":"","title@instance:featuredWidgets.widget.featuredContentWidget-1717525727595":"Pinned Items","title@instance:featuredWidgets.widget.featuredContentWidget-1728320145294":"Pinned Items","title@instance:featuredWidgets.widget.featuredContentWidget-1703882552800":""},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageListForNodeByRecentActivityWidget-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageListForNodeByRecentActivityWidget-1744046271000","value":{"title@userScope:other":"Recent Content","title@userScope:self":"Contributions","title@board:FORUM@userScope:other":"Recent Discussions","title@board:BLOG@userScope:other":"Recent Blogs","emptyDescription":"No content to show","MessageListForNodeByRecentActivityWidgetEditor.nodeScope.label":"Scope","title@instance:1706288370055":"Content Feed","title@instance:1743095186784":"Most Recent Updates","title@instance:1704317906837":"Content Feed","title@instance:1743095018194":"Most Recent Updates","title@instance:1702668293472":"Community Feed","title@instance:1743095117047":"Most Recent Updates","title@instance:1704319314827":"Blog Feed","title@instance:1743095235555":"Most Recent Updates","title@instance:1704320290851":"My Contributions","title@instance:1703720491809":"Forum Feed","title@instance:1743095311723":"Most Recent Updates","title@instance:1703028709746":"Group Content Feed","title@instance:VTsglH":"Content Feed"},"localOverride":false},"CachedAsset:text:en_US-components/messages/RelatedContentWidget-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/RelatedContentWidget-1744046271000","value":{"title":"Related Content","emptyDescription":"No content to show"},"localOverride":false},"Forum:board:WaterCooler":{"__typename":"Forum","id":"board:WaterCooler","forumPolicies":{"__typename":"ForumPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:Articles":{"__typename":"Category","id":"category:Articles","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"entityType":"CATEGORY","displayId":"Articles","nodeType":"category","depth":1,"title":"Articles","shortTitle":"Articles"},"Tkb:board:TechnicalArticles":{"__typename":"Tkb","id":"board:TechnicalArticles","tkbPolicies":{"__typename":"TkbPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"entityType":"TKB","displayId":"TechnicalArticles","nodeType":"board","depth":2,"conversationStyle":"TKB","title":"Technical Articles","shortTitle":"Technical Articles","parent":{"__ref":"Category:category:Articles"},"userContext":{"__typename":"NodeUserContext","canAddAttachments":false,"canUpdateNode":false,"canPostMessages":false,"isSubscribed":false},"avatar":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bi0zNC0xM2k0MzE3N0Q2NjFBRDg5NDAy\"}"},"description":"F5 SMEs share good practice.","eventPath":"category:Articles/community:zihoc95639board:TechnicalArticles/"},"Tkb:board:DevCentralNews":{"__typename":"Tkb","id":"board:DevCentralNews","tkbPolicies":{"__typename":"TkbPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"entityType":"TKB","displayId":"DevCentralNews","nodeType":"board","depth":2,"conversationStyle":"TKB","title":"DevCentral News","shortTitle":"DevCentral News","parent":{"__ref":"Category:category:Articles"},"userContext":{"__typename":"NodeUserContext","canAddAttachments":false,"canUpdateNode":false,"canPostMessages":false,"isSubscribed":false},"avatar":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bi0zNi02aTlBNjU5MTlBODIzNDE3MDM\"}"},"description":"Wherein we talk amongst ourselves.","eventPath":"category:Articles/community:zihoc95639board:DevCentralNews/"},"Category:category:GroupsCategory":{"__typename":"Category","id":"category:GroupsCategory","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:F5-Groups":{"__typename":"Category","id":"category:F5-Groups","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:CommunityGroups":{"__typename":"Category","id":"category:CommunityGroups","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Occasion:board:Events":{"__typename":"Occasion","id":"board:Events","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"occasionPolicies":{"__typename":"OccasionPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Idea:board:Suggestions":{"__typename":"Idea","id":"board:Suggestions","boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"ideaPolicies":{"__typename":"IdeaPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Category:category:CrowdSRC":{"__typename":"Category","id":"category:CrowdSRC","categoryPolicies":{"__typename":"CategoryPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"entityType":"CATEGORY","displayId":"CrowdSRC","nodeType":"category","depth":1,"title":"CrowdSRC","shortTitle":"CrowdSRC"},"Tkb:board:codeshare":{"__typename":"Tkb","id":"board:codeshare","tkbPolicies":{"__typename":"TkbPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Tkb:board:communityarticles":{"__typename":"Tkb","id":"board:communityarticles","tkbPolicies":{"__typename":"TkbPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"entityType":"TKB","displayId":"communityarticles","nodeType":"board","depth":2,"conversationStyle":"TKB","title":"Community Articles","shortTitle":"Community Articles","parent":{"__ref":"Category:category:CrowdSRC"},"userContext":{"__typename":"NodeUserContext","canAddAttachments":false,"canUpdateNode":false,"canPostMessages":false,"isSubscribed":false},"avatar":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bi04OC0xOTQ1Nmk4RjgxOUIyQTAyRkFEMjdB\"}"},"description":"Freeform articles, written by members of the community.","eventPath":"category:CrowdSRC/community:zihoc95639board:communityarticles/"},"Tkb:board:security-insights":{"__typename":"Tkb","id":"board:security-insights","tkbPolicies":{"__typename":"TkbPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Tkb:board:article-series":{"__typename":"Tkb","id":"board:article-series","tkbPolicies":{"__typename":"TkbPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}},"boardPolicies":{"__typename":"BoardPolicies","canReadNode":{"__typename":"PolicyResult","failureReason":null}}},"Conversation:conversation:340918":{"__typename":"Conversation","id":"conversation:340918","topic":{"__typename":"ForumTopicMessage","uid":340918},"lastPostingActivityTime":"2025-04-21T01:12:47.612-07:00","solved":false},"ForumTopicMessage:message:340918":{"__typename":"ForumTopicMessage","subject":"What dose \"Accept\" do in BIG-IP ASM event logs","conversation":{"__ref":"Conversation:conversation:340918"},"id":"message:340918","revisionNum":1,"uid":340918,"depth":0,"board":{"__ref":"Forum:board:TechnicalForum"},"author":{"__typename":"User","uid":435132,"login":"Jack3","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false},"metrics":{"__typename":"MessageMetrics","views":42},"postTime":"2025-04-19T00:39:25.717-07:00","lastPublishTime":"2025-04-19T00:39:25.717-07:00","readOnly":false},"Conversation:conversation:340846":{"__typename":"Conversation","id":"conversation:340846","topic":{"__typename":"ForumTopicMessage","uid":340846},"lastPostingActivityTime":"2025-04-21T01:07:13.532-07:00","solved":false},"ForumTopicMessage:message:340846":{"__typename":"ForumTopicMessage","subject":"OSPF traps on BIG-IP v14","conversation":{"__ref":"Conversation:conversation:340846"},"id":"message:340846","revisionNum":1,"uid":340846,"depth":0,"board":{"__ref":"Forum:board:TechnicalForum"},"author":{"__typename":"User","uid":59233,"login":"CA_Valli","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false},"metrics":{"__typename":"MessageMetrics","views":21},"postTime":"2025-04-15T03:46:06.990-07:00","lastPublishTime":"2025-04-15T03:46:06.990-07:00","readOnly":false},"Conversation:conversation:340892":{"__typename":"Conversation","id":"conversation:340892","topic":{"__typename":"ForumTopicMessage","uid":340892},"lastPostingActivityTime":"2025-04-21T00:37:56.967-07:00","solved":false},"ForumTopicMessage:message:340892":{"__typename":"ForumTopicMessage","subject":"Problem with sending BotDefense logs to remote server","conversation":{"__ref":"Conversation:conversation:340892"},"id":"message:340892","revisionNum":2,"uid":340892,"depth":0,"board":{"__ref":"Forum:board:TechnicalForum"},"author":{"__typename":"User","uid":430147,"login":"Michal06","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false},"metrics":{"__typename":"MessageMetrics","views":25},"postTime":"2025-04-17T04:30:36.338-07:00","lastPublishTime":"2025-04-17T04:31:18.186-07:00","readOnly":false},"Conversation:conversation:340905":{"__typename":"Conversation","id":"conversation:340905","topic":{"__typename":"ForumTopicMessage","uid":340905},"lastPostingActivityTime":"2025-04-20T21:27:59.545-07:00","solved":false},"ForumTopicMessage:message:340905":{"__typename":"ForumTopicMessage","subject":"Change Content-Type from application/octet-stream to multipart/form-data","conversation":{"__ref":"Conversation:conversation:340905"},"id":"message:340905","revisionNum":1,"uid":340905,"depth":0,"board":{"__ref":"Forum:board:TechnicalForum"},"author":{"__typename":"User","uid":435080,"login":"Waloo5","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false},"metrics":{"__typename":"MessageMetrics","views":27},"postTime":"2025-04-18T03:04:08.373-07:00","lastPublishTime":"2025-04-18T03:04:08.373-07:00","readOnly":false},"Conversation:conversation:334303":{"__typename":"Conversation","id":"conversation:334303","topic":{"__typename":"ForumTopicMessage","uid":334303},"lastPostingActivityTime":"2025-04-18T23:23:18.674-07:00","solved":true},"ForumTopicMessage:message:334303":{"__typename":"ForumTopicMessage","subject":"Is anyone using Certbot for F5 certificate automation? If not, what tool do you use?","conversation":{"__ref":"Conversation:conversation:334303"},"id":"message:334303","revisionNum":1,"uid":334303,"depth":0,"board":{"__ref":"Forum:board:TechnicalForum"},"author":{"__typename":"User","uid":116170,"login":"Fallout1984","registrationData":{"__typename":"RegistrationData","status":null},"deleted":false},"metrics":{"__typename":"MessageMetrics","views":355},"postTime":"2024-09-11T09:20:10.360-07:00","lastPublishTime":"2024-09-11T09:20:10.360-07:00","readOnly":false},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstMjgtQ3U0RXo2\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/cmstMjgtQ3U0RXo2","height":0,"width":0,"mimeType":"image/svg+xml"},"Rank:rank:28":{"__typename":"Rank","id":"rank:28","position":5,"name":"Employee","color":"C20025","icon":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstMjgtQ3U0RXo2\"}"},"rankStyle":"OUTLINE"},"User:user:419288":{"__typename":"User","id":"user:419288","uid":419288,"login":"Prabhat","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2022-06-28T15:20:44.978-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/images/dS00MTkyODgtNDBzTzIz?image-coordinates=0%2C43%2C654%2C697"},"rank":{"__ref":"Rank:rank:28"},"messagesCount":4,"kudosGivenCount":0,"kudosReceivedCount":5,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":0,"entityType":"USER","eventPath":"community:zihoc95639/user:419288"},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bi0zNC0xM2k0MzE3N0Q2NjFBRDg5NDAy\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/bi0zNC0xM2k0MzE3N0Q2NjFBRDg5NDAy","mimeType":"image/png"},"TkbTopicMessage:message:340300":{"__typename":"TkbTopicMessage","uid":340300,"subject":"F5 NGINX Plus R34 Release Now Available","id":"message:340300","revisionNum":7,"repliesCount":0,"author":{"__ref":"User:user:419288"},"depth":0,"hasGivenKudo":false,"helpful":null,"board":{"__ref":"Tkb:board:TechnicalArticles"},"conversation":{"__ref":"Conversation:conversation:340300"},"contentWorkflow":{"__typename":"ContentWorkflow","state":"PUBLISH","scheduledPublishTime":null,"scheduledTimezone":null,"shortScheduledTimezone":null,"userContext":{"__typename":"MessageWorkflowContext","canSubmitForReview":null,"canEdit":false,"canRecall":null,"canSubmitForPublication":null,"canReturnToAuthor":null,"canPublish":null,"canReturnToReview":null,"canSchedule":false}},"moderationData":{"__ref":"ModerationData:moderation_data:340300"},"teaser@stripHtml({\"removeProcessingText\":false,\"truncateLength\":200})":" ","postTime":"2025-04-01T08:00:00.038-07:00","lastPublishTime":"2025-04-07T10:45:46.760-07:00","readOnly":false,"introduction":"","metrics":{"__typename":"MessageMetrics","views":448},"placeholder":false,"originalMessageForPlaceholder":null,"entityType":"TKB_ARTICLE","eventPath":"category:Articles/community:zihoc95639board:TechnicalArticles/message:340300"},"Conversation:conversation:340300":{"__typename":"Conversation","id":"conversation:340300","solved":false,"topic":{"__ref":"TkbTopicMessage:message:340300"},"lastPostingActivityTime":"2025-04-07T10:45:46.760-07:00","lastPostTime":"2025-04-01T08:00:00.038-07:00"},"ModerationData:moderation_data:340300":{"__typename":"ModerationData","id":"moderation_data:340300","status":"APPROVED","rejectReason":null},"RelatedContentMessage:RelatedContentMessage:340300":{"__typename":"RelatedContentMessage","id":"RelatedContentMessage:340300","relatedMessage":{"__ref":"TkbTopicMessage:message:340300"}},"TkbTopicMessage:message:336403":{"__typename":"TkbTopicMessage","uid":336403,"subject":"F5 NGINX Plus R33 Release Now Available","id":"message:336403","revisionNum":9,"repliesCount":3,"author":{"__ref":"User:user:419288"},"depth":0,"hasGivenKudo":false,"helpful":null,"board":{"__ref":"Tkb:board:TechnicalArticles"},"conversation":{"__ref":"Conversation:conversation:336403"},"contentWorkflow":{"__typename":"ContentWorkflow","state":"PUBLISH","scheduledPublishTime":null,"scheduledTimezone":null,"shortScheduledTimezone":null,"userContext":{"__typename":"MessageWorkflowContext","canSubmitForReview":null,"canEdit":false,"canRecall":null,"canSubmitForPublication":null,"canReturnToAuthor":null,"canPublish":null,"canReturnToReview":null,"canSchedule":false}},"moderationData":{"__ref":"ModerationData:moderation_data:336403"},"teaser@stripHtml({\"removeProcessingText\":false,\"truncateLength\":200})":" \n We’re excited to announce the availability of NGINX Plus Release 33 (R33). The release introduces major changes to NGINX licensing, support for post quantum cryptography, initial support for Qui...","postTime":"2024-11-19T07:00:00.022-08:00","lastPublishTime":"2024-11-19T15:02:10.321-08:00","readOnly":false,"introduction":"","metrics":{"__typename":"MessageMetrics","views":1559},"placeholder":false,"originalMessageForPlaceholder":null,"entityType":"TKB_ARTICLE","eventPath":"category:Articles/community:zihoc95639board:TechnicalArticles/message:336403"},"Conversation:conversation:336403":{"__typename":"Conversation","id":"conversation:336403","solved":false,"topic":{"__ref":"TkbTopicMessage:message:336403"},"lastPostingActivityTime":"2025-01-09T09:06:14.546-08:00","lastPostTime":"2025-01-09T09:06:14.546-08:00"},"ModerationData:moderation_data:336403":{"__typename":"ModerationData","id":"moderation_data:336403","status":"APPROVED","rejectReason":null},"RelatedContentMessage:RelatedContentMessage:336403":{"__typename":"RelatedContentMessage","id":"RelatedContentMessage:336403","relatedMessage":{"__ref":"TkbTopicMessage:message:336403"}},"Rank:rank:27":{"__typename":"Rank","id":"rank:27","position":2,"name":"Ret. Employee","color":"949494","icon":null,"rankStyle":"OUTLINE"},"User:user:420376":{"__typename":"User","id":"user:420376","uid":420376,"login":"nagi","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2022-10-03T17:20:29.517-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/images/dS00MjAzNzYtRmxwSlUw?image-coordinates=0%2C101%2C1080%2C1181"},"rank":{"__ref":"Rank:rank:27"},"messagesCount":15,"kudosGivenCount":10,"kudosReceivedCount":49,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":0,"entityType":"USER","eventPath":"community:zihoc95639/user:420376"},"TkbTopicMessage:message:311915":{"__typename":"TkbTopicMessage","uid":311915,"subject":"F5 Python SDK Overview","id":"message:311915","revisionNum":9,"repliesCount":1,"author":{"__ref":"User:user:420376"},"depth":0,"hasGivenKudo":false,"helpful":null,"board":{"__ref":"Tkb:board:TechnicalArticles"},"conversation":{"__ref":"Conversation:conversation:311915"},"contentWorkflow":{"__typename":"ContentWorkflow","state":"PUBLISH","scheduledPublishTime":null,"scheduledTimezone":null,"shortScheduledTimezone":null,"userContext":{"__typename":"MessageWorkflowContext","canSubmitForReview":null,"canEdit":false,"canRecall":null,"canSubmitForPublication":null,"canReturnToAuthor":null,"canPublish":null,"canReturnToReview":null,"canSchedule":false}},"moderationData":{"__ref":"ModerationData:moderation_data:311915"},"teaser@stripHtml({\"removeProcessingText\":false,\"truncateLength\":200})":"","postTime":"2023-03-27T09:00:00.344-07:00","lastPublishTime":"2023-06-05T21:36:09.306-07:00","readOnly":false,"introduction":"","metrics":{"__typename":"MessageMetrics","views":4893},"placeholder":false,"originalMessageForPlaceholder":null,"entityType":"TKB_ARTICLE","eventPath":"category:Articles/community:zihoc95639board:TechnicalArticles/message:311915"},"Conversation:conversation:311915":{"__typename":"Conversation","id":"conversation:311915","solved":false,"topic":{"__ref":"TkbTopicMessage:message:311915"},"lastPostingActivityTime":"2023-06-05T21:36:09.306-07:00","lastPostTime":"2023-03-28T06:40:01.236-07:00"},"ModerationData:moderation_data:311915":{"__typename":"ModerationData","id":"moderation_data:311915","status":"APPROVED","rejectReason":null},"RelatedContentMessage:RelatedContentMessage:311915":{"__typename":"RelatedContentMessage","id":"RelatedContentMessage:311915","relatedMessage":{"__ref":"TkbTopicMessage:message:311915"}},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstMzctMmdkZklv\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/cmstMzctMmdkZklv","height":0,"width":0,"mimeType":"image/svg+xml"},"Rank:rank:37":{"__typename":"Rank","id":"rank:37","position":14,"name":"Cirrostratus","color":"CCCCCC","icon":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstMzctMmdkZklv\"}"},"rankStyle":"FILLED"},"User:user:138559":{"__typename":"User","id":"user:138559","uid":138559,"login":"Anesh","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2011-06-27T01:00:00.000-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/m_assets/avatars/default/avatar-3.svg?time=0"},"rank":{"__ref":"Rank:rank:37"},"messagesCount":251,"kudosGivenCount":7,"kudosReceivedCount":15,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":1,"entityType":"USER","eventPath":"community:zihoc95639/user:138559"},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bi04OC0xOTQ1Nmk4RjgxOUIyQTAyRkFEMjdB\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/bi04OC0xOTQ1Nmk4RjgxOUIyQTAyRkFEMjdB","mimeType":"image/png"},"TkbTopicMessage:message:298227":{"__typename":"TkbTopicMessage","uid":298227,"subject":"How to create f5 virtual server using Python","id":"message:298227","revisionNum":2,"repliesCount":2,"author":{"__ref":"User:user:138559"},"depth":0,"hasGivenKudo":false,"helpful":null,"board":{"__ref":"Tkb:board:communityarticles"},"conversation":{"__ref":"Conversation:conversation:298227"},"contentWorkflow":{"__typename":"ContentWorkflow","state":"PUBLISH","scheduledPublishTime":null,"scheduledTimezone":null,"shortScheduledTimezone":null,"userContext":{"__typename":"MessageWorkflowContext","canSubmitForReview":null,"canEdit":false,"canRecall":null,"canSubmitForPublication":null,"canReturnToAuthor":null,"canPublish":null,"canReturnToReview":null,"canSchedule":false}},"moderationData":{"__ref":"ModerationData:moderation_data:298227"},"teaser@stripHtml({\"removeProcessingText\":false,\"truncateLength\":200})":"","postTime":"2022-07-20T11:48:49.932-07:00","lastPublishTime":"2022-07-20T14:47:53.620-07:00","readOnly":false,"introduction":"","metrics":{"__typename":"MessageMetrics","views":1124},"placeholder":false,"originalMessageForPlaceholder":null,"entityType":"TKB_ARTICLE","eventPath":"category:CrowdSRC/community:zihoc95639board:communityarticles/message:298227"},"Conversation:conversation:298227":{"__typename":"Conversation","id":"conversation:298227","solved":false,"topic":{"__ref":"TkbTopicMessage:message:298227"},"lastPostingActivityTime":"2023-03-16T04:40:27.366-07:00","lastPostTime":"2023-03-16T04:40:27.366-07:00"},"ModerationData:moderation_data:298227":{"__typename":"ModerationData","id":"moderation_data:298227","status":"APPROVED","rejectReason":null},"RelatedContentMessage:RelatedContentMessage:298227":{"__typename":"RelatedContentMessage","id":"RelatedContentMessage:298227","relatedMessage":{"__ref":"TkbTopicMessage:message:298227"}},"User:user:419489":{"__typename":"User","id":"user:419489","uid":419489,"login":"HeidiSchreifels","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2022-07-15T10:09:37.046-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/images/dS00MTk0ODktMjQ4MDNpQkJCNDk5OUIzQkQ5NkNFNQ"},"rank":{"__ref":"Rank:rank:28"},"messagesCount":18,"kudosGivenCount":25,"kudosReceivedCount":28,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":1,"entityType":"USER","eventPath":"community:zihoc95639/user:419489"},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bi0zNi02aTlBNjU5MTlBODIzNDE3MDM\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/bi0zNi02aTlBNjU5MTlBODIzNDE3MDM","mimeType":"image/png"},"TkbTopicMessage:message:330720":{"__typename":"TkbTopicMessage","uid":330720,"subject":"F5 Certified Administrator NGINX certification now available!","id":"message:330720","revisionNum":3,"repliesCount":2,"author":{"__ref":"User:user:419489"},"depth":0,"hasGivenKudo":false,"helpful":null,"board":{"__ref":"Tkb:board:DevCentralNews"},"conversation":{"__ref":"Conversation:conversation:330720"},"contentWorkflow":{"__typename":"ContentWorkflow","state":"PUBLISH","scheduledPublishTime":null,"scheduledTimezone":null,"shortScheduledTimezone":null,"userContext":{"__typename":"MessageWorkflowContext","canSubmitForReview":null,"canEdit":false,"canRecall":null,"canSubmitForPublication":null,"canReturnToAuthor":null,"canPublish":null,"canReturnToReview":null,"canSchedule":false}},"moderationData":{"__ref":"ModerationData:moderation_data:330720"},"teaser@stripHtml({\"removeProcessingText\":false,\"truncateLength\":200})":"","postTime":"2024-06-18T09:18:34.833-07:00","lastPublishTime":"2024-06-18T09:18:58.431-07:00","readOnly":false,"introduction":"","metrics":{"__typename":"MessageMetrics","views":1284},"placeholder":false,"originalMessageForPlaceholder":null,"entityType":"TKB_ARTICLE","eventPath":"category:Articles/community:zihoc95639board:DevCentralNews/message:330720"},"Conversation:conversation:330720":{"__typename":"Conversation","id":"conversation:330720","solved":false,"topic":{"__ref":"TkbTopicMessage:message:330720"},"lastPostingActivityTime":"2024-10-07T09:55:44.673-07:00","lastPostTime":"2024-10-07T09:55:44.673-07:00"},"ModerationData:moderation_data:330720":{"__typename":"ModerationData","id":"moderation_data:330720","status":"APPROVED","rejectReason":null},"RelatedContentMessage:RelatedContentMessage:330720":{"__typename":"RelatedContentMessage","id":"RelatedContentMessage:330720","relatedMessage":{"__ref":"TkbTopicMessage:message:330720"}},"User:user:213590":{"__typename":"User","id":"user:213590","uid":213590,"login":"Hannes_Rapp","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2019-08-16T06:14:35.000-07:00"},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/m_assets/avatars/default/avatar-1.svg?time=0"},"rank":{"__ref":"Rank:rank:41"},"entityType":"USER","eventPath":"community:zihoc95639/user:213590"},"ModerationData:moderation_data:203319":{"__typename":"ModerationData","id":"moderation_data:203319","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203319":{"__typename":"ForumReplyMessage","uid":203319,"id":"message:203319","revisionNum":2,"author":{"__ref":"User:user:213590"},"readOnly":false,"repliesCount":5,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumTopicMessage:message:203317"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203319"},"body":"

Great to see more people opting to use the SDK!

\n

You can work with the output normally, as with any dict-type, using

dict.get('something')
. Add in a set of square-brackets, if the extracted value is yet another key-value pair, and if you're looking for a very specific match:
dict.get('something')['something']
.

\n

Note:\nIn the for-loop, I'm using

virtual.name
- this extraction works without use of
.get('name')
because 'name' is a 1st-level extraction - no nesting is involved. For the same reason, I can do
state = stats.entries...
in my function, instead of
state = stats.get('entries')...

\n

f5-sdk v2.2.0 ; py3.4.3 ; 11.5.4

\n
from f5.bigip import ManagementRoot\n\ndef get_vs_state(vs_name):\n    virtual_s = API_ROOT.tm.ltm.virtuals.virtual.load(name=vs_name)\n    stats = virtual_s.stats.load()\n    state = stats.entries.get('status.availabilityState')['description']\n    return state\n\nAPI_ROOT = ManagementRoot(\"bip-01\", \"admin\", \"admin\")\nVIRTUALS = API_ROOT.tm.ltm.virtuals.get_collection()\n\n EXAMPLE OF USE:\n Print AvailabilityState of all Virtual Servers\nfor virtual in VIRTUALS:\n    print(\"Name: '%s' AvailabilityState: '%s'\" % (virtual.name, get_vs_state(virtual.name)))\n
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"postTime":"2017-01-19T10:11:01.000-08:00","lastPublishTime":"2023-06-05T15:36:44.456-07:00","metrics":{"__typename":"MessageMetrics","views":1752},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203319","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMyMCwyMDMzMjU","hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMyMCwyMDMzMjA","node":{"__ref":"ForumReplyMessage:message:203320"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMyMCwyMDMzMjI","node":{"__ref":"ForumReplyMessage:message:203322"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMyMCwyMDMzMjU","node":{"__ref":"ForumReplyMessage:message:203325"}}]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203320":{"__typename":"ModerationData","id":"moderation_data:203320","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203320":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:136193"},"id":"message:203320","revisionNum":2,"uid":203320,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203319"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203320"},"body":"

Thank you for your help and patience! Much appreciated...

\n

Not sure if there is a difference in the data structures between our versions:\nF5 SDK v2.0.2\nBIGIP 12.1.1\nPython 3.3.2

\n

When I run the stats.entries.get method you outlined above, I get a return of 'None'. However there is a value for status.availibilityState buried in nested dicts for stats.entries.

\n

Here's a test I ran in interactive shell (I have a module that obtains a token and base object of 'mgmt'):

\n
>>> virtuals = mgmt.tm.ltm.virtuals.virtual.load(name='my_virtual_name')\n>>> stats = virtuals.stats.load()\n>>> state = stats.entries.get('status.availabilityState')['description']\nTraceback (most recent call last):\n  File \"\", line 1, in \nTypeError: 'NoneType' object is not subscriptable\n>>> stats.entries\n{'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats': {'nestedStats': {'selfLink': 'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats?ver=12.1.1', 'kind': 'tm:ltm:virtual:virtualstats', 'entries': {'totRequests': {'value': 0}, 'status.statusReason': {'description': 'The virtual server is available'}, 'csMinConnDur': {'value': 0}, 'fiveMinAvgUsageRatio': {'value': 0}, 'syncookie.syncookies': {'value': 0}, 'csMeanConnDur': {'value': 0}, 'tmName': {'description': '/Common/my_virtual_name'}, 'clientside.slowKilled': {'value': 0}, 'syncookie.hwSyncookies': {'value': 0}, 'ephemeral.bitsOut': {'value': 0}, 'syncookie.rejects': {'value': 0}, 'ephemeral.curConns': {'value': 0}, 'clientside.pktsOut': {'value': 0}, 'syncookie.syncacheCurr': {'value': 0}, 'clientside.bitsIn': {'value': 0}, 'ephemeral.pktsOut': {'value': 0}, 'destination': {'description': '192.168.1.1:443'}, 'syncookieStatus': {'description': 'not-activated'}, 'syncookie.hwsyncookieInstance': {'value': 0}, 'syncookie.swsyncookieInstance': {'value': 0}, 'clientside.evictedConns': {'value': 0}, 'clientside.curConns': {'value': 0}, 'clientside.totConns': {'value': 0}, 'clientside.bitsOut': {'value': 0}, 'oneMinAvgUsageRatio': {'value': 0}, 'ephemeral.totConns': {'value': 0}, 'syncookie.accepts': {'value': 0}, 'status.availabilityState': {'description': 'available'}, 'syncookie.syncacheOver': {'value': 0}, 'syncookie.hwAccepts': {'value': 0}, 'ephemeral.bitsIn': {'value': 0}, 'status.enabledState': {'description': 'enabled'}, 'ephemeral.evictedConns': {'value': 0}, 'fiveSecAvgUsageRatio': {'value': 0}, 'clientside.maxConns': {'value': 0}, 'csMaxConnDur': {'value': 0}, 'ephemeral.pktsIn': {'value': 0}, 'ephemeral.slowKilled': {'value': 0}, 'clientside.pktsIn': {'value': 0}, 'ephemeral.maxConns': {'value': 0}, 'cmpEnabled': {'description': 'enabled'}, 'cmpEnableMode': {'description': 'all-cpus'}}}}}\n
\n\n

I'm not sure if your version is the same, but it appears the stats are nested three levels deep, first key being a link, second 'nestedStats', then 'entries'. If I follow the entire path I do get the value:

\n
>>> print(stats.entries.get('https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats')['nestedStats']['entries']['status.availabilityState']['description'])\n    available\n
\n\n

Am I running something incorrectly or are the returned structures different between our versions? I can run through the nest like you mentioned and get the value, though the first key (formatted as a URL) throws me off as I'm not sure if there is an elegant way to reference it. I could get it by listing the keys for that level of dict but that seems kludge-y.

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"repliesCount":0,"postTime":"2017-01-19T12:49:28.000-08:00","lastPublishTime":"2023-06-03T22:53:28.990-07:00","metrics":{"__typename":"MessageMetrics","views":1840},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203320","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203322":{"__typename":"ModerationData","id":"moderation_data:203322","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203322":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:213590"},"id":"message:203322","revisionNum":1,"uid":203322,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203319"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203322"},"body":"

Code was tested on BigIP 11.5.4.\nWill update answer for 12.1.1 in 15 min.

 

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"83","kudosSumWeight":0,"repliesCount":0,"postTime":"2017-01-19T13:24:10.000-08:00","lastPublishTime":"2017-01-19T13:24:10.000-08:00","metrics":{"__typename":"MessageMetrics","views":1879},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203322","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203325":{"__typename":"ModerationData","id":"moderation_data:203325","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203325":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:213590"},"id":"message:203325","revisionNum":2,"uid":203325,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203319"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203325"},"body":"

You're right. The response structure of virtual stats is different in 12.1.1, and it's absolutely dreadful. Best I could offer now is a hack so that this insignificant part at the beginning would be cut out

{'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats': {'nestedStats': {
, then everything will work exactly the same as in my 11.5.4 sample, but it's kind of a dirty approach.

\n

Will look further into cleaner solutions tomorrow.

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"repliesCount":0,"postTime":"2017-01-19T13:58:11.000-08:00","lastPublishTime":"2023-06-05T15:36:38.182-07:00","metrics":{"__typename":"MessageMetrics","views":1873},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203325","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstMzQtMGtQRU1Y\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/cmstMzQtMGtQRU1Y","height":0,"width":0,"mimeType":"image/svg+xml"},"Rank:rank:34":{"__typename":"Rank","id":"rank:34","position":11,"name":"Nacreous","color":"CCCCCC","icon":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstMzQtMGtQRU1Y\"}"},"rankStyle":"FILLED"},"User:user:44330":{"__typename":"User","id":"user:44330","uid":44330,"login":"Hannes_Rapp_162","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2019-05-04T17:33:18.000-07:00"},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/m_assets/avatars/default/avatar-11.svg?time=0"},"rank":{"__ref":"Rank:rank:34"},"entityType":"USER","eventPath":"community:zihoc95639/user:44330"},"ModerationData:moderation_data:203318":{"__typename":"ModerationData","id":"moderation_data:203318","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203318":{"__typename":"ForumReplyMessage","uid":203318,"id":"message:203318","revisionNum":2,"author":{"__ref":"User:user:44330"},"readOnly":false,"repliesCount":5,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumTopicMessage:message:203317"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203318"},"body":"

Great to see more people opting to use the SDK!

\n

You can work with the output normally, as with any dict-type, using

dict.get('something')
. Add in a set of square-brackets, if the extracted value is yet another key-value pair, and if you're looking for a very specific match:
dict.get('something')['something']
.

\n

Note:\nIn the for-loop, I'm using

virtual.name
- this extraction works without use of
.get('name')
because 'name' is a 1st-level extraction - no nesting is involved. For the same reason, I can do
state = stats.entries...
in my function, instead of
state = stats.get('entries')...

\n

f5-sdk v2.2.0 ; py3.4.3 ; 11.5.4

\n
from f5.bigip import ManagementRoot\n\ndef get_vs_state(vs_name):\n    virtual_s = API_ROOT.tm.ltm.virtuals.virtual.load(name=vs_name)\n    stats = virtual_s.stats.load()\n    state = stats.entries.get('status.availabilityState')['description']\n    return state\n\nAPI_ROOT = ManagementRoot(\"bip-01\", \"admin\", \"admin\")\nVIRTUALS = API_ROOT.tm.ltm.virtuals.get_collection()\n\n EXAMPLE OF USE:\n Print AvailabilityState of all Virtual Servers\nfor virtual in VIRTUALS:\n    print(\"Name: '%s' AvailabilityState: '%s'\" % (virtual.name, get_vs_state(virtual.name)))\n
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"postTime":"2017-01-19T10:11:01.000-08:00","lastPublishTime":"2023-06-05T15:36:47.294-07:00","metrics":{"__typename":"MessageMetrics","views":1747},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203318","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMyMSwyMDMzMjQ","hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMyMSwyMDMzMjE","node":{"__ref":"ForumReplyMessage:message:203321"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMyMSwyMDMzMjM","node":{"__ref":"ForumReplyMessage:message:203323"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMyMSwyMDMzMjQ","node":{"__ref":"ForumReplyMessage:message:203324"}}]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203321":{"__typename":"ModerationData","id":"moderation_data:203321","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203321":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:136193"},"id":"message:203321","revisionNum":2,"uid":203321,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203318"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203321"},"body":"

Thank you for your help and patience! Much appreciated...

\n

Not sure if there is a difference in the data structures between our versions:\nF5 SDK v2.0.2\nBIGIP 12.1.1\nPython 3.3.2

\n

When I run the stats.entries.get method you outlined above, I get a return of 'None'. However there is a value for status.availibilityState buried in nested dicts for stats.entries.

\n

Here's a test I ran in interactive shell (I have a module that obtains a token and base object of 'mgmt'):

\n
>>> virtuals = mgmt.tm.ltm.virtuals.virtual.load(name='my_virtual_name')\n>>> stats = virtuals.stats.load()\n>>> state = stats.entries.get('status.availabilityState')['description']\nTraceback (most recent call last):\n  File \"\", line 1, in \nTypeError: 'NoneType' object is not subscriptable\n>>> stats.entries\n{'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats': {'nestedStats': {'selfLink': 'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats?ver=12.1.1', 'kind': 'tm:ltm:virtual:virtualstats', 'entries': {'totRequests': {'value': 0}, 'status.statusReason': {'description': 'The virtual server is available'}, 'csMinConnDur': {'value': 0}, 'fiveMinAvgUsageRatio': {'value': 0}, 'syncookie.syncookies': {'value': 0}, 'csMeanConnDur': {'value': 0}, 'tmName': {'description': '/Common/my_virtual_name'}, 'clientside.slowKilled': {'value': 0}, 'syncookie.hwSyncookies': {'value': 0}, 'ephemeral.bitsOut': {'value': 0}, 'syncookie.rejects': {'value': 0}, 'ephemeral.curConns': {'value': 0}, 'clientside.pktsOut': {'value': 0}, 'syncookie.syncacheCurr': {'value': 0}, 'clientside.bitsIn': {'value': 0}, 'ephemeral.pktsOut': {'value': 0}, 'destination': {'description': '192.168.1.1:443'}, 'syncookieStatus': {'description': 'not-activated'}, 'syncookie.hwsyncookieInstance': {'value': 0}, 'syncookie.swsyncookieInstance': {'value': 0}, 'clientside.evictedConns': {'value': 0}, 'clientside.curConns': {'value': 0}, 'clientside.totConns': {'value': 0}, 'clientside.bitsOut': {'value': 0}, 'oneMinAvgUsageRatio': {'value': 0}, 'ephemeral.totConns': {'value': 0}, 'syncookie.accepts': {'value': 0}, 'status.availabilityState': {'description': 'available'}, 'syncookie.syncacheOver': {'value': 0}, 'syncookie.hwAccepts': {'value': 0}, 'ephemeral.bitsIn': {'value': 0}, 'status.enabledState': {'description': 'enabled'}, 'ephemeral.evictedConns': {'value': 0}, 'fiveSecAvgUsageRatio': {'value': 0}, 'clientside.maxConns': {'value': 0}, 'csMaxConnDur': {'value': 0}, 'ephemeral.pktsIn': {'value': 0}, 'ephemeral.slowKilled': {'value': 0}, 'clientside.pktsIn': {'value': 0}, 'ephemeral.maxConns': {'value': 0}, 'cmpEnabled': {'description': 'enabled'}, 'cmpEnableMode': {'description': 'all-cpus'}}}}}\n
\n\n

I'm not sure if your version is the same, but it appears the stats are nested three levels deep, first key being a link, second 'nestedStats', then 'entries'. If I follow the entire path I do get the value:

\n
>>> print(stats.entries.get('https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats')['nestedStats']['entries']['status.availabilityState']['description'])\n    available\n
\n\n

Am I running something incorrectly or are the returned structures different between our versions? I can run through the nest like you mentioned and get the value, though the first key (formatted as a URL) throws me off as I'm not sure if there is an elegant way to reference it. I could get it by listing the keys for that level of dict but that seems kludge-y.

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"repliesCount":0,"postTime":"2017-01-19T12:49:28.000-08:00","lastPublishTime":"2023-06-03T22:53:26.186-07:00","metrics":{"__typename":"MessageMetrics","views":1794},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203321","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203323":{"__typename":"ModerationData","id":"moderation_data:203323","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203323":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:44330"},"id":"message:203323","revisionNum":1,"uid":203323,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203318"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203323"},"body":"

Code was tested on BigIP 11.5.4.\nWill update answer for 12.1.1 in 15 min.

 

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"83","kudosSumWeight":0,"repliesCount":0,"postTime":"2017-01-19T13:24:10.000-08:00","lastPublishTime":"2017-01-19T13:24:10.000-08:00","metrics":{"__typename":"MessageMetrics","views":1832},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203323","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203324":{"__typename":"ModerationData","id":"moderation_data:203324","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203324":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:44330"},"id":"message:203324","revisionNum":2,"uid":203324,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203318"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203324"},"body":"

You're right. The response structure of virtual stats is different in 12.1.1, and it's absolutely dreadful. Best I could offer now is a hack so that this insignificant part at the beginning would be cut out

{'https://localhost/mgmt/tm/ltm/virtual/my_virtual_name/~Common~my_virtual_name/stats': {'nestedStats': {
, then everything will work exactly the same as in my 11.5.4 sample, but it's kind of a dirty approach.

\n

Will look further into cleaner solutions tomorrow.

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"repliesCount":0,"postTime":"2017-01-19T13:58:11.000-08:00","lastPublishTime":"2023-06-05T15:36:41.509-07:00","metrics":{"__typename":"MessageMetrics","views":1831},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203324","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstMS01bkFrOTY\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/cmstMS01bkFrOTY","height":0,"width":0,"mimeType":"image/svg+xml"},"Rank:rank:1":{"__typename":"Rank","id":"rank:1","position":0,"name":"Admin","color":"C20025","icon":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstMS01bkFrOTY\"}"},"rankStyle":"FILLED"},"User:user:51154":{"__typename":"User","id":"user:51154","uid":51154,"login":"JRahm","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2005-01-20T00:00:00.000-08:00"},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/images/dS01MTE1NC1uYzdSVFk?image-coordinates=0%2C0%2C1067%2C1067"},"rank":{"__ref":"Rank:rank:1"},"entityType":"USER","eventPath":"community:zihoc95639/user:51154"},"ModerationData:moderation_data:203330":{"__typename":"ModerationData","id":"moderation_data:203330","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203330":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:51154"},"id":"message:203330","revisionNum":2,"uid":203330,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumTopicMessage:message:203317"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203330"},"body":"

We'll need to clean up stats for sure, the nested stuff is not easy access. For all keys/values, you can get at them a little cleaner (note that if you supply partition as an argument, the self link with be /~Common~vip/~Common~vip/stats):

\n
name = ‘testvip’\nselflink = 'https://localhost/mgmt/tm/ltm/virtual/{0}/~Common~{0}/stats'.format(name)\nvip = b.tm.ltm.virtuals.virtual.load(name=name)\nvipstats = vip.stats.load()\nd = vipstats.entries.get(selflink).get('nestedStats').get('entries')\nfor i in d:\n  print '{0}: {1}'.format(i, d[i].get('value'))\n
\n\n

for your specific key, given you have set the selflink above, you can get that with:

\n
vipstats.entries.get(selflink).\n                 get('nestedStats').\n                 get('entries').\n                 get('status.availabilityState').\n                 get('description')\n
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"repliesCount":0,"postTime":"2017-01-20T08:15:46.000-08:00","lastPublishTime":"2023-06-03T22:52:41.735-07:00","metrics":{"__typename":"MessageMetrics","views":1819},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203330","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"User:user:59036":{"__typename":"User","id":"user:59036","uid":59036,"login":"Wojciech_Wypior","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2019-05-04T14:44:38.000-07:00"},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/m_assets/avatars/default/avatar-1.svg?time=0"},"rank":{"__ref":"Rank:rank:41"},"entityType":"USER","eventPath":"community:zihoc95639/user:59036"},"ModerationData:moderation_data:203331":{"__typename":"ModerationData","id":"moderation_data:203331","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203331":{"__typename":"ForumReplyMessage","uid":203331,"id":"message:203331","revisionNum":1,"author":{"__ref":"User:user:59036"},"readOnly":false,"repliesCount":4,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumTopicMessage:message:203317"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203331"},"body":"

This will be addressed soon, watch this issue:

 

\n

https://github.com/F5Networks/f5-common-python/issues/628

 

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"124","kudosSumWeight":0,"postTime":"2017-01-20T12:02:33.000-08:00","lastPublishTime":"2017-01-20T12:02:33.000-08:00","metrics":{"__typename":"MessageMetrics","views":1831},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203331","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMzMiwyMDMzMzQ","hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMzMiwyMDMzMzI","node":{"__ref":"ForumReplyMessage:message:203332"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMzMiwyMDMzMzM","node":{"__ref":"ForumReplyMessage:message:203333"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMzMiwyMDMzMzQ","node":{"__ref":"ForumReplyMessage:message:203334"}}]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203332":{"__typename":"ModerationData","id":"moderation_data:203332","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203332":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:136193"},"id":"message:203332","revisionNum":1,"uid":203332,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203331"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203332"},"body":"

Thank you!

 

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"20","kudosSumWeight":0,"repliesCount":0,"postTime":"2017-01-20T12:21:44.000-08:00","lastPublishTime":"2017-01-20T12:21:44.000-08:00","metrics":{"__typename":"MessageMetrics","views":1817},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203332","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203333":{"__typename":"ModerationData","id":"moderation_data:203333","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203333":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:136193"},"id":"message:203333","revisionNum":1,"uid":203333,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203331"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203333"},"body":"

I wanted to follow-up to thank you for the amazingly fast attention to this. I checked out the development branch of the SDK and was able to pound out a quick script that takes advantage of the new stats handler. Appears to be working at least in the small test case I did testing connections and availability. Thanks kindly!

 

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"repliesCount":0,"postTime":"2017-01-30T10:27:18.000-08:00","lastPublishTime":"2017-01-30T10:27:18.000-08:00","metrics":{"__typename":"MessageMetrics","views":1807},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203333","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"User:user:116060":{"__typename":"User","id":"user:116060","uid":116060,"login":"rathid","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2019-05-20T06:20:54.000-07:00"},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/m_assets/avatars/default/avatar-11.svg?time=0"},"rank":{"__ref":"Rank:rank:41"},"entityType":"USER","eventPath":"community:zihoc95639/user:116060"},"ModerationData:moderation_data:203334":{"__typename":"ModerationData","id":"moderation_data:203334","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203334":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:116060"},"id":"message:203334","revisionNum":1,"uid":203334,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203331"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203334"},"body":"

@ed summers can you paste the connection and availability code for virtual here\nand i am looking similar things for individual members as well

 

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"153","kudosSumWeight":0,"repliesCount":0,"postTime":"2017-08-04T05:31:39.000-07:00","lastPublishTime":"2017-08-04T05:31:39.000-07:00","metrics":{"__typename":"MessageMetrics","views":1809},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203334","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"User:user:139274":{"__typename":"User","id":"user:139274","uid":139274,"login":"DMA_95966","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2012-05-13T01:00:00.000-07:00"},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/m_assets/avatars/default/avatar-12.svg?time=0"},"rank":{"__ref":"Rank:rank:41"},"entityType":"USER","eventPath":"community:zihoc95639/user:139274"},"ModerationData:moderation_data:203336":{"__typename":"ModerationData","id":"moderation_data:203336","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203336":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:139274"},"id":"message:203336","revisionNum":1,"uid":203336,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumTopicMessage:message:203317"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203336"},"body":"

Hi,\nI am still facing issue for ver 11.6.0. I am trying to get virtual server availability status .

 

\n

Appreciate any assistance .

 

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"148","kudosSumWeight":0,"repliesCount":0,"postTime":"2018-04-16T11:54:32.000-07:00","lastPublishTime":"2018-04-16T11:54:32.000-07:00","metrics":{"__typename":"MessageMetrics","views":1804},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203336","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstMzgtTzNNNGh5\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/cmstMzgtTzNNNGh5","height":0,"width":0,"mimeType":"image/svg+xml"},"Rank:rank:38":{"__typename":"Rank","id":"rank:38","position":15,"name":"Cirrus","color":"CCCCCC","icon":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/cmstMzgtTzNNNGh5\"}"},"rankStyle":"FILLED"},"User:user:112237":{"__typename":"User","id":"user:112237","uid":112237,"login":"Rob_74473","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2012-09-04T01:00:00.000-07:00"},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/m_assets/avatars/default/avatar-10.svg?time=0"},"rank":{"__ref":"Rank:rank:38"},"entityType":"USER","eventPath":"community:zihoc95639/user:112237"},"ModerationData:moderation_data:203337":{"__typename":"ModerationData","id":"moderation_data:203337","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203337":{"__typename":"ForumReplyMessage","uid":203337,"id":"message:203337","revisionNum":2,"author":{"__ref":"User:user:112237"},"readOnly":false,"repliesCount":2,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumTopicMessage:message:203317"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203337"},"body":"

I'm also struggling with this:

\n
partition  = 'C25'\npool_name = 'temp_test'\n {u'https://localhost/mgmt/tm/ltm/pool/~C25~temp_test/~C25~temp_test/stats': {u'nestedStats': {u'entries': {u'activeMemberCnt': {u'value': 1},\npool  = mgmt.tm.ltm.pools.pool.load(name=pool_name, partition=partition)\nstats = pool.stats.load()\nprint(\"{}\".format(pformat(stats.entries)))\n\nselflink = \"https://{0}/mgmt/tm/ltm/pool/~{1}~{2}/~{1}~{2}/stats\".format(bigip,partition,pool_name)\n\nslink   = stats.entries.get(selflink)\nnested  = slink.get('nestedStats')\nentries = nested.get('entries')\n\nactiveMemberCnt = entries.get('activeMemberCnt').get('value')\n
\n\n

Output:

\n
Traceback (most recent call last):\n  File \"test_f5.py\", line 46, in \n    nested  = slink.get('nestedStats')\nAttributeError: 'NoneType' object has no attribute 'get'\n
\n\n

So, using the example above, I am not able to get the selflink, but I have created the selflink string from what's given in the raw output. I'm working against: BIG-IP 12.1.3 Build 0.0.378 Final

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"postTime":"2018-04-25T10:13:24.000-07:00","lastPublishTime":"2023-06-02T09:28:52.837-07:00","metrics":{"__typename":"MessageMetrics","views":1779},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203337","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMzOCwyMDMzMzg","node":{"__ref":"ForumReplyMessage:message:203338"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzMzOCwyMDMzMzk","node":{"__ref":"ForumReplyMessage:message:203339"}}]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203338":{"__typename":"ModerationData","id":"moderation_data:203338","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203338":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:112237"},"id":"message:203338","revisionNum":2,"uid":203338,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203337"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203338"},"body":"

Directly testing the code above:

 

name = 'DHCP_RELAY_255.255.255.255_VIP'\nselflink = 'https://{0}/mgmt/tm/ltm/virtual/{1}/~Common~{1}/stats'.format(bigip,name)\nvip = mgmt.tm.ltm.virtuals.virtual.load(name=name)\nvipstats = vip.stats.load()\nd = vipstats.entries.get(selflink).get('nestedStats').get('entries')\nfor i in d:\n  print(\"{0}: {1}\".format(i, d[i].get('value')))

I get the same error:

 

Traceback (most recent call last):\n  File \"test_f5.py\", line 39, in \n    d = vipstats.entries.get(selflink).get('nestedStats').get('entries')\nAttributeError: 'NoneType' object has no attribute 'get'
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"208","kudosSumWeight":0,"repliesCount":0,"postTime":"2018-04-25T10:21:16.000-07:00","lastPublishTime":"2022-11-22T10:02:53.478-08:00","metrics":{"__typename":"MessageMetrics","views":1795},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203338","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203339":{"__typename":"ModerationData","id":"moderation_data:203339","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203339":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:112237"},"id":"message:203339","revisionNum":1,"uid":203339,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203337"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203339"},"body":"

See answer below...

 

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"29","kudosSumWeight":0,"repliesCount":0,"postTime":"2018-04-25T11:00:20.000-07:00","lastPublishTime":"2018-04-25T11:00:20.000-07:00","metrics":{"__typename":"MessageMetrics","views":1800},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203339","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203340":{"__typename":"ModerationData","id":"moderation_data:203340","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203340":{"__typename":"ForumReplyMessage","uid":203340,"id":"message:203340","revisionNum":2,"author":{"__ref":"User:user:112237"},"readOnly":false,"repliesCount":4,"depth":1,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumTopicMessage:message:203317"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203340"},"body":"

This is brutal to work with!

\n
partition  = 'C25'\npool_name = 'temp_test'\npool  = mgmt.tm.ltm.pools.pool.load(name=pool_name, partition=partition)\nstats = pool.stats.load()\nfor item in stats.entries:\n        params = stats.entries.get(item).get('nestedStats').get('entries')\n\nstuff = ['activeMemberCnt','curSessions','serverside.curConns','serverside.maxConns','serverside.totConns','status.enabledState','status.availabilityState']\n\nfor item in stuff:\n        for key in ('value','description'):\n                if key in params[item]:\n                        print(\"'{}': {}\".format(item,params[item][key]))\n\nOUTPUT:\n'activeMemberCnt': 1\n'curSessions': 0\n'serverside.curConns': 0\n'serverside.maxConns': 0\n'serverside.totConns': 0\n'status.enabledState': enabled\n'status.availabilityState': available\n
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"203","kudosSumWeight":0,"postTime":"2018-04-25T11:02:31.000-07:00","lastPublishTime":"2023-06-02T09:28:50.141-07:00","metrics":{"__typename":"MessageMetrics","views":1791},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203340","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzM0MSwyMDMzNDM","hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzM0MSwyMDMzNDE","node":{"__ref":"ForumReplyMessage:message:203341"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzM0MSwyMDMzNDI","node":{"__ref":"ForumReplyMessage:message:203342"}},{"__typename":"MessageEdge","cursor":"MjUuM3wyLjF8aXwzfDM5OjF8aW50LDIwMzM0MSwyMDMzNDM","node":{"__ref":"ForumReplyMessage:message:203343"}}]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203341":{"__typename":"ModerationData","id":"moderation_data:203341","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203341":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:139274"},"id":"message:203341","revisionNum":1,"uid":203341,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203340"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203341"},"body":"

Thanks a lot Rob , let me test it as well ..will update you on this..

 

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"79","kudosSumWeight":0,"repliesCount":0,"postTime":"2018-04-30T06:48:42.000-07:00","lastPublishTime":"2018-04-30T06:48:42.000-07:00","metrics":{"__typename":"MessageMetrics","views":1799},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203341","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203342":{"__typename":"ModerationData","id":"moderation_data:203342","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203342":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:51154"},"id":"message:203342","revisionNum":2,"uid":203342,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203340"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203342"},"body":"

Have you tried the Stats module?

\n
>>> from f5.utils.responses.handlers import Stats\n>>> p = b.tm.ltm.pools.pool.load(name='testpool')\n>>> ps = Stats(p.stats.load())\n>>> ps.stat.curSessions['value']\n0\n>>> ps.stat.status_availabilityState['description']\nu'offline'\n>>> ps.stat.status_enabledState['description']\nu'enabled'\n
","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"239","kudosSumWeight":0,"repliesCount":0,"postTime":"2018-04-30T13:03:40.000-07:00","lastPublishTime":"2023-06-02T09:27:14.066-07:00","metrics":{"__typename":"MessageMetrics","views":1793},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203342","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"customFields":[],"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}}},"ModerationData:moderation_data:203343":{"__typename":"ModerationData","id":"moderation_data:203343","status":"APPROVED","rejectReason":null,"isReportedAbuse":false,"rejectUser":null,"rejectTime":null,"rejectActorType":null},"ForumReplyMessage:message:203343":{"__typename":"ForumReplyMessage","author":{"__ref":"User:user:139274"},"id":"message:203343","revisionNum":1,"uid":203343,"depth":2,"hasGivenKudo":false,"subscribed":false,"board":{"__ref":"Forum:board:TechnicalForum"},"parent":{"__ref":"ForumReplyMessage:message:203340"},"conversation":{"__ref":"Conversation:conversation:203317"},"subject":"Re: F5 Python SDK: How to get virtual server availability?","moderationData":{"__ref":"ModerationData:moderation_data:203343"},"body":"

Hi Jason ,

 

\n

I am going to test this and update the thread shortly .

 

","body@stripHtml({\"removeProcessingText\":false,\"removeSpoilerMarkup\":false,\"removeTocMarkup\":false,\"truncateLength\":200})@stringLength":"87","kudosSumWeight":0,"repliesCount":0,"postTime":"2018-05-01T08:06:22.000-07:00","lastPublishTime":"2018-05-01T08:06:22.000-07:00","metrics":{"__typename":"MessageMetrics","views":1794},"visibilityScope":"PUBLIC","placeholder":false,"originalMessageForPlaceholder":null,"isEscalated":null,"solution":false,"entityType":"FORUM_REPLY","eventPath":"category:Forums/community:zihoc95639board:TechnicalForum/message:203317/message:203343","replies":{"__typename":"MessageConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[]},"attachments":{"__typename":"AttachmentConnection","edges":[],"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"customFields":[]},"CachedAsset:text:en_US-components/community/Navbar-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/community/Navbar-1744046271000","value":{"community":"Community Home","inbox":"Inbox","manageContent":"Manage Content","tos":"Terms of Service","forgotPassword":"Forgot Password","themeEditor":"Theme Editor","edit":"Edit Navigation Bar","skipContent":"Skip to content","migrated-link-9":"Groups","migrated-link-7":"Technical Articles","migrated-link-8":"DevCentral News","migrated-link-1":"Technical Forum","migrated-link-10":"Community Groups","migrated-link-2":"Water Cooler","migrated-link-11":"F5 Groups","Common-external-link":"How Do I...?","migrated-link-0":"Forums","article-series":"Article Series","migrated-link-5":"Community Articles","migrated-link-6":"Articles","security-insights":"Security Insights","migrated-link-3":"CrowdSRC","migrated-link-4":"CodeShare","migrated-link-12":"Events","migrated-link-13":"Suggestions"},"localOverride":false},"CachedAsset:text:en_US-components/community/NavbarHamburgerDropdown-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarHamburgerDropdown-1744046271000","value":{"hamburgerLabel":"Side Menu"},"localOverride":false},"CachedAsset:text:en_US-components/community/BrandLogo-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/community/BrandLogo-1744046271000","value":{"logoAlt":"Khoros","themeLogoAlt":"Brand Logo"},"localOverride":false},"CachedAsset:text:en_US-components/community/NavbarTextLinks-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarTextLinks-1744046271000","value":{"more":"More"},"localOverride":false},"CachedAsset:text:en_US-components/authentication/AuthenticationLink-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/authentication/AuthenticationLink-1744046271000","value":{"title.login":"Sign In","title.registration":"Register","title.forgotPassword":"Forgot Password","title.multiAuthLogin":"Sign In"},"localOverride":false},"CachedAsset:text:en_US-components/nodes/NodeLink-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/nodes/NodeLink-1744046271000","value":{"place":"Place {name}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/EscalatedMessageBanner-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/EscalatedMessageBanner-1744046271000","value":{"escalationMessage":"Escalated to Salesforce by {username} on {date}","viewDetails":"View Details","modalTitle":"Case Details","escalatedBy":"Escalated by: ","escalatedOn":"Escalated on: ","caseNumber":"Case Number: ","status":"Status: ","lastUpdateDate":"Last Update: ","automaticEscalation":"automatic escalation","anonymous":"Anonymous"},"localOverride":false},"CachedAsset:text:en_US-components/users/UserLink-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/users/UserLink-1744046271000","value":{"authorName":"View Profile: {author}","anonymous":"Anonymous"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/users/UserRank-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/users/UserRank-1744046271000","value":{"rankName":"{rankName}","userRank":"Author rank {rankName}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageTime-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageTime-1744046271000","value":{"postTime":"Published: {time}","lastPublishTime":"Last Update: {time}","conversation.lastPostingActivityTime":"Last posting activity time: {time}","conversation.lastPostTime":"Last post time: {time}","moderationData.rejectTime":"Rejected time: {time}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSolvedBadge-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSolvedBadge-1744046271000","value":{"solved":"Solved"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageSubject-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageSubject-1744046271000","value":{"noSubject":"(no subject)"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageBody-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageBody-1744046271000","value":{"showMessageBody":"Show More","mentionsErrorTitle":"{mentionsType, select, board {Board} user {User} message {Message} other {}} No Longer Available","mentionsErrorMessage":"The {mentionsType} you are trying to view has been removed from the community.","videoProcessing":"Video is being processed. Please try again in a few minutes.","bannerTitle":"Video provider requires cookies to play the video. Accept to continue or {url} it directly on the provider's site.","buttonTitle":"Accept","urlText":"watch"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageCustomFields-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageCustomFields-1744046271000","value":{"CustomField.default.label":"Value of {name}"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/QueryHandler-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/QueryHandler-1744046271000","value":{"title":"Query Handler"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageReplyButton-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageReplyButton-1744046271000","value":{"repliesCount":"{count}","title":"Reply","title@board:BLOG@message:root":"Comment","title@board:TKB@message:root":"Comment","title@board:IDEA@message:root":"Comment","title@board:OCCASION@message:root":"Comment"},"localOverride":false},"CachedAsset:text:en_US-components/featured/content/AddFeaturedContentModal-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/featured/content/AddFeaturedContentModal-1744046271000","value":{"header":"Edit Featured Content","header.description":"Add, remove, or reorder featured content in this widget{nodeType, select, community{} other{ for {nodeTitle}}}.","PageEditor.header":"Edit Sample Content","PageEditor.header.description":"Add, remove, or reorder sample content to preview how your widget will look.\n\nChanges to sample content here will not be saved or published to any page templates.","AddFeaturedContentModal.selectedMessage.label":"Content","AddFeaturedContentModal.selectedMessage.placeholder":"Find content or enter URL","AddFeaturedContentModal.submit":"Save","AddFeaturedContentModal.cancel":"Cancel","AddFeaturedContentModal.selectedMessage.validate.error":"Select a message","AddFeaturedContentModal.selectedMessage.validate.messageLimitCheck.error":"You can feature up to {limit} posts","submitBtn":"Save","previewBtn":"Preview","cancelBtn":"Cancel","failureTitle":"Error - Action Failed","failureMessage":"An unidentified problem occurred while saving featured content. Please try again later.","successTitle":"Success","successMessage":"Widget updated"},"localOverride":false},"CachedAsset:text:en_US-components/featured/content/FeaturedContentMessageList-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/featured/content/FeaturedContentMessageList-1744046271000","value":{"edit":"Edit Featured Content","header":"Featured Content"},"localOverride":false},"User:user:417402":{"__typename":"User","id":"user:417402","uid":417402,"login":"Chad_Davis","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2022-01-25T11:32:10.559-08:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/images/dS00MTc0MDItQ1EweDd5?image-coordinates=0%2C89%2C2400%2C2490"},"rank":{"__ref":"Rank:rank:28"},"messagesCount":6,"kudosGivenCount":15,"kudosReceivedCount":13,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":0,"entityType":"USER","eventPath":"community:zihoc95639/user:417402"},"TkbTopicMessage:message:340273":{"__typename":"TkbTopicMessage","uid":340273,"subject":"Introducing the F5 Application Study Tool (AST)","id":"message:340273","revisionNum":15,"repliesCount":7,"author":{"__ref":"User:user:417402"},"depth":0,"hasGivenKudo":false,"helpful":null,"board":{"__ref":"Tkb:board:TechnicalArticles"},"conversation":{"__ref":"Conversation:conversation:340273"},"contentWorkflow":{"__typename":"ContentWorkflow","state":"PUBLISH","scheduledPublishTime":null,"scheduledTimezone":null,"shortScheduledTimezone":null,"userContext":{"__typename":"MessageWorkflowContext","canSubmitForReview":null,"canEdit":false,"canRecall":null,"canSubmitForPublication":null,"canReturnToAuthor":null,"canPublish":null,"canReturnToReview":null,"canSchedule":false}},"moderationData":{"__ref":"ModerationData:moderation_data:340273"},"teaser":"

In the ever-evolving world of application delivery and security, gaining actionable insights into your infrastructure and applications has become more critical than ever. The Application Study Tool (AST) is designed to help technical teams and administrators leverage the power of open-source telemetry and visualization tools to enhance their monitoring, diagnostics, and analysis workflows.

","postTime":"2025-03-18T09:30:02.944-07:00","lastPublishTime":"2025-03-18T09:30:02.944-07:00","images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjUuM3wyLjF8b3wyNXxfTlZffDE","node":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzMta3VhRWJY?revision=15\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjUuM3wyLjF8b3wyNXxfTlZffDI","node":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzMtR3p3WFNV?revision=15\"}"}}],"totalCount":2,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":true,"endCursor":"MjUuM3wyLjF8b3w1fF9OVl98NQ","hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3w1fF9OVl98MQ","node":{"__typename":"Tag","id":"tag:application delivery","text":"application delivery","time":"2021-06-30T01:48:44.000-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3w1fF9OVl98Mg","node":{"__typename":"Tag","id":"tag:Application Study Tool","text":"Application Study Tool","time":"2025-03-14T12:51:43.704-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3w1fF9OVl98Mw","node":{"__typename":"Tag","id":"tag:BIG-IP","text":"BIG-IP","time":"2022-01-24T02:29:45.031-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3w1fF9OVl98NA","node":{"__typename":"Tag","id":"tag:docker","text":"docker","time":"2022-01-24T02:30:27.376-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3w1fF9OVl98NQ","node":{"__typename":"Tag","id":"tag:Grafana","text":"Grafana","time":"2022-01-24T02:31:44.799-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":4,"introduction":"","metrics":{"__typename":"MessageMetrics","views":3467},"placeholder":false,"originalMessageForPlaceholder":null,"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"entityType":"TKB_ARTICLE","eventPath":"category:Articles/community:zihoc95639board:TechnicalArticles/message:340273"},"Conversation:conversation:340273":{"__typename":"Conversation","id":"conversation:340273","solved":false,"topic":{"__ref":"TkbTopicMessage:message:340273"},"lastPostingActivityTime":"2025-04-17T05:33:39.873-07:00","lastPostTime":"2025-04-17T05:33:39.873-07:00"},"ModerationData:moderation_data:340273":{"__typename":"ModerationData","id":"moderation_data:340273","status":"APPROVED","rejectReason":null},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzMta3VhRWJY?revision=15\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzMta3VhRWJY?revision=15","title":"image.png","associationType":"BODY","width":975,"height":558,"altText":""},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzMtR3p3WFNV?revision=15\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzMtR3p3WFNV?revision=15","title":"clipboard_image-2-1741981786103.png","associationType":"BODY","width":1289,"height":781,"altText":""},"User:user:435278":{"__typename":"User","id":"user:435278","uid":435278,"login":"JasonEpstein","biography":null,"registrationData":{"__typename":"RegistrationData","status":null,"registrationTime":"2025-03-10T20:42:43.154-07:00","confirmEmailStatus":null,"registrationAccessLevel":null,"ssoRegistrationFields":[]},"deleted":false,"email":"","avatar":{"__typename":"UserAvatar","url":"https://community.f5.com/t5/s/zihoc95639/images/dS00MzUyNzgtVUN2SXBz?image-coordinates=63%2C0%2C1436%2C1373"},"rank":{"__ref":"Rank:rank:28"},"messagesCount":2,"kudosGivenCount":1,"kudosReceivedCount":7,"kudosWeight":1,"ssoId":null,"followersCount":null,"solutionsCount":0,"entityType":"USER","eventPath":"community:zihoc95639/user:435278"},"TkbTopicMessage:message:340272":{"__typename":"TkbTopicMessage","uid":340272,"subject":"Displaying Application Study Tool (AST) Dashboards in Your Own Grafana Instance","id":"message:340272","revisionNum":13,"repliesCount":1,"author":{"__ref":"User:user:435278"},"depth":0,"hasGivenKudo":false,"helpful":null,"board":{"__ref":"Tkb:board:TechnicalArticles"},"conversation":{"__ref":"Conversation:conversation:340272"},"contentWorkflow":{"__typename":"ContentWorkflow","state":"PUBLISH","scheduledPublishTime":null,"scheduledTimezone":null,"shortScheduledTimezone":null,"userContext":{"__typename":"MessageWorkflowContext","canSubmitForReview":null,"canEdit":false,"canRecall":null,"canSubmitForPublication":null,"canReturnToAuthor":null,"canPublish":null,"canReturnToReview":null,"canSchedule":false}},"moderationData":{"__ref":"ModerationData:moderation_data:340272"},"teaser":"","postTime":"2025-03-20T05:00:00.060-07:00","lastPublishTime":"2025-03-20T05:00:00.060-07:00","images":{"__typename":"AssociatedImageConnection","edges":[{"__typename":"AssociatedImageEdge","cursor":"MjUuM3wyLjF8b3wyNXxfTlZffDE","node":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzIteFg3WU0z?revision=13\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjUuM3wyLjF8b3wyNXxfTlZffDI","node":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzIteU9CMndI?revision=13\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjUuM3wyLjF8b3wyNXxfTlZffDM","node":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzItaU5sVEdW?revision=13\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjUuM3wyLjF8b3wyNXxfTlZffDQ","node":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzItNWtNUEQ3?revision=13\"}"}},{"__typename":"AssociatedImageEdge","cursor":"MjUuM3wyLjF8b3wyNXxfTlZffDU","node":{"__ref":"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzItaU15bHhn?revision=13\"}"}}],"totalCount":5,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"tags":{"__typename":"TagConnection","pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null},"edges":[{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3w1fF9OVl98MQ","node":{"__typename":"Tag","id":"tag:Application Study Tool","text":"Application Study Tool","time":"2025-03-14T12:51:43.704-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3w1fF9OVl98Mg","node":{"__typename":"Tag","id":"tag:AST","text":"AST","time":"2025-03-12T19:59:24.204-07:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3w1fF9OVl98Mw","node":{"__typename":"Tag","id":"tag:bigip","text":"bigip","time":"2022-01-24T02:31:40.011-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3w1fF9OVl98NA","node":{"__typename":"Tag","id":"tag:operations","text":"operations","time":"2022-01-24T02:29:53.723-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}},{"__typename":"TagEdge","cursor":"MjUuM3wyLjF8b3w1fF9OVl98NQ","node":{"__typename":"Tag","id":"tag:visibility","text":"visibility","time":"2022-01-24T02:33:30.763-08:00","lastActivityTime":null,"messagesCount":null,"followersCount":null}}]},"timeToRead":6,"introduction":"","metrics":{"__typename":"MessageMetrics","views":695},"placeholder":false,"originalMessageForPlaceholder":null,"videos":{"__typename":"VideoConnection","edges":[],"totalCount":0,"pageInfo":{"__typename":"PageInfo","hasNextPage":false,"endCursor":null,"hasPreviousPage":false,"startCursor":null}},"entityType":"TKB_ARTICLE","eventPath":"category:Articles/community:zihoc95639board:TechnicalArticles/message:340272"},"Conversation:conversation:340272":{"__typename":"Conversation","id":"conversation:340272","solved":false,"topic":{"__ref":"TkbTopicMessage:message:340272"},"lastPostingActivityTime":"2025-03-20T08:57:21.694-07:00","lastPostTime":"2025-03-20T08:57:21.694-07:00"},"ModerationData:moderation_data:340272":{"__typename":"ModerationData","id":"moderation_data:340272","status":"APPROVED","rejectReason":null},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzIteFg3WU0z?revision=13\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzIteFg3WU0z?revision=13","title":"AST - List of dashboards - annotated.png","associationType":"BODY","width":647,"height":409,"altText":""},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzIteU9CMndI?revision=13\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzIteU9CMndI?revision=13","title":"AST - Share button.png","associationType":"BODY","width":368,"height":40,"altText":""},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzItaU5sVEdW?revision=13\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzItaU5sVEdW?revision=13","title":"AST - Add data source.png","associationType":"BODY","width":685,"height":339,"altText":""},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzItNWtNUEQ3?revision=13\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzItNWtNUEQ3?revision=13","title":"AST - New - import dashboard.png","associationType":"BODY","width":289,"height":285,"altText":""},"AssociatedImage:{\"url\":\"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzItaU15bHhn?revision=13\"}":{"__typename":"AssociatedImage","url":"https://community.f5.com/t5/s/zihoc95639/images/bS0zNDAyNzItaU15bHhn?revision=13","title":"AST - Imported Dashboard.png","associationType":"BODY","width":1251,"height":696,"altText":""},"User:user:7":{"__typename":"User","id":"user:7","login":"LiefZimmerman"},"CachedAsset:text:en_US-components/community/NavbarDropdownToggle-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/community/NavbarDropdownToggle-1744046271000","value":{"ariaLabelClosed":"Press the down arrow to open the menu"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/users/UserAvatar-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/users/UserAvatar-1744046271000","value":{"altText":"{login}'s avatar","altTextGeneric":"User's avatar"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/ranks/UserRankLabel-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/ranks/UserRankLabel-1744046271000","value":{"altTitle":"Icon for {rankName} rank"},"localOverride":false},"CachedAsset:text:en_US-components/tags/TagView/TagViewChip-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/tags/TagView/TagViewChip-1744046271000","value":{"tagLabelName":"Tag name {tagName}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageListMenu-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageListMenu-1744046271000","value":{"postTimeAsc":"Oldest","postTimeDesc":"Newest","kudosSumWeightAsc":"Least Liked","kudosSumWeightDesc":"Most Liked","sortTitle":"Sort By","sortedBy.item":" { itemName, select, postTimeAsc {Oldest} postTimeDesc {Newest} kudosSumWeightAsc {Least Liked} kudosSumWeightDesc {Most Liked} other {}}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/AcceptedSolutionButton-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/AcceptedSolutionButton-1744046271000","value":{"accept":"Mark as Solution","accepted":"Marked as Solution","errorHeader":"Error!","errorAdd":"There was an error marking as solution.","errorRemove":"There was an error unmarking as solution.","solved":"Solved","topicAlreadySolvedErrorTitle":"Solution Already Exists","topicAlreadySolvedErrorDesc":"Refresh the browser to view the existing solution"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/common/Pager/PagerLoadMore-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/common/Pager/PagerLoadMore-1744046271000","value":{"loadMore":"Show More"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageView/MessageViewCard-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageView/MessageViewCard-1744046271000","value":{"gotoParent":"Go to parent {name}"},"localOverride":false},"CachedAsset:text:en_US-components/messages/MessageView/MessageViewInline-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/messages/MessageView/MessageViewInline-1744046271000","value":{"bylineAuthor":"{bylineAuthor}","bylineBoard":"{bylineBoard}","anonymous":"Anonymous","place":"Place {bylineBoard}","gotoParent":"Go to parent {name}"},"localOverride":false},"CachedAsset:text:en_US-components/customComponent/CustomComponent-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-components/customComponent/CustomComponent-1744046271000","value":{"errorMessage":"Error rendering component id: {customComponentId}","bannerTitle":"Video provider requires cookies to play the video. Accept to continue or {url} it directly on the provider's site.","buttonTitle":"Accept","urlText":"watch"},"localOverride":false},"CachedAsset:text:en_US-shared/client/components/nodes/NodeIcon-1744046271000":{"__typename":"CachedAsset","id":"text:en_US-shared/client/components/nodes/NodeIcon-1744046271000","value":{"contentType":"Content Type {style, select, FORUM {Forum} BLOG {Blog} TKB {Knowledge Base} IDEA {Ideas} OCCASION {Events} other {}} icon"},"localOverride":false}}}},"page":"/forums/ForumMessagePage/ForumMessagePage","query":{"boardId":"technicalforum","messageSubject":"f5-python-sdk-how-to-get-virtual-server-availability","messageId":"203317"},"buildId":"FP3zsFp6DJl70wDujOvtu","runtimeConfig":{"buildInformationVisible":false,"logLevelApp":"info","logLevelMetrics":"info","openTelemetryClientEnabled":false,"openTelemetryConfigName":"f5","openTelemetryServiceVersion":"25.3.0","openTelemetryUniverse":"prod","openTelemetryCollector":"http://localhost:4318","openTelemetryRouteChangeAllowedTime":"5000","apolloDevToolsEnabled":false,"inboxMuteWipFeatureEnabled":false},"isFallback":false,"isExperimentalCompile":false,"dynamicIds":["./components/seo/QAPageSchema/QAPageSchema.tsx","./components/customComponent/CustomComponent/CustomComponent.tsx","./components/community/Navbar/NavbarWidget.tsx","./components/community/Breadcrumb/BreadcrumbWidget.tsx","./components/messages/TopicWithThreadedReplyListWidget/TopicWithThreadedReplyListWidget.tsx","./components/messages/MessageView/MessageViewStandard/MessageViewStandard.tsx","./components/messages/ThreadedReplyList/ThreadedReplyList.tsx","./components/featured/content/FeaturedContentWidget/FeaturedContentWidget.tsx","./components/messages/MessageListForNodeByRecentActivityWidget/MessageListForNodeByRecentActivityWidget.tsx","./components/messages/RelatedContentWidget/RelatedContentWidget.tsx","./components/featured/content/AddFeaturedContentModal/AddFeaturedContentModal.tsx","./components/customComponent/CustomComponentContent/TemplateContent.tsx","../shared/client/components/common/List/UnwrappedList/UnwrappedList.tsx","./components/tags/TagView/TagView.tsx","./components/tags/TagView/TagViewChip/TagViewChip.tsx","../shared/client/components/common/List/UnstyledList/UnstyledList.tsx","./components/messages/MessageView/MessageView.tsx","../shared/client/components/common/Pager/PagerLoadMore/PagerLoadMore.tsx","../shared/client/components/common/List/GridList/GridList.tsx","./components/messages/MessageView/MessageViewCard/MessageViewCard.tsx","./components/messages/MessageView/MessageViewInline/MessageViewInline.tsx","./components/customComponent/CustomComponentContent/HtmlContent.tsx","./components/customComponent/CustomComponentContent/CustomComponentScripts.tsx"],"appGip":true,"scriptLoader":[]}