Link Search Menu Expand Document
calendar_month 01-Nov-24

Single Fabric: Border Leaf 1-2 Configuration

!
!Version ArubaOS-CX DL.10.13.1050
!export-password: default
hostname RSVDC-FB1-LF1-2
user admin group administrators password ciphertext AQBapX+SVcWu1VzgXLvEl9Om9uN4ffgdHIJC/g1j8JRcl9tJYgAAAOeOVVu6J3NcawCQ9je1i3vt8FmHPD8V81EHQsyjriiTD5Xd+M/hBmNCIBJ8sYd4/aqsVMnRQEqhGkorl4Ssv7G5XoUN1dIB29vCusPvLXoS9hwAKfI2KMVjHhn+e58hxuR1
user afc_admin group administrators password ciphertext AQBapVc7Giz76HiLnxy8KVN6e67nA0SxG4MekJ0CKk5ajL3SYgAAAHMBAT1ot4pUShjbF01Am6W0G+d+DTfD+D1+QTkIm+5B0xCeTwEmuU77NBzWKZMk6KfGmo6Ks6Evx/9iMDhaGAZMaTTcOnOBe+rN8xcUKE2y8cE60UFZkKft0g006HhAM+/P
clock timezone america/los_angeles
bfd
no ip icmp redirect
profile leaf
vrf DEV-DC-VRF
    rd 10.250.2.2:4
    route-target export 65001:100002 evpn
    route-target import 65001:100002 evpn
vrf PROD-DC-VRF
    rd 10.250.2.2:3
    route-target export 65001:100001 evpn
    route-target import 65001:100001 evpn
ntp server 10.2.120.98
ntp server 10.2.120.99
ntp enable
ntp vrf mgmt
cli-session
    timeout 0
!
!
!
!
!
!
ssh server vrf mgmt
vlan 1
vlan 2021
    description AFC-created VLAN
vlan 2022
    description AFC-created VLAN
vlan 3001
    description AFC-created VLAN
vlan 3002
    description AFC-created VLAN
vlan 3999
virtual-mac 02:00:01:00:00:ff
evpn
    arp-suppression
interface mgmt
    no shutdown
    ip dhcp
system interface-group 3 speed 10g
    !interface group 3 contains ports 1/1/9-1/1/12
system interface-group 4 speed 10g
    !interface group 4 contains ports 1/1/13-1/1/16
interface lag 251 multi-chassis
    description MC-LAG from border leaf switches to FW1 in firewall cluster
    no shutdown
    no routing
    vlan trunk native 1
    vlan trunk allowed 1,2021-2022
    lacp mode active
    lacp fallback
interface lag 252 multi-chassis
    description MC-LAG from border leaf switches to FW2 in firewall cluster
    no shutdown
    no routing
    vlan trunk native 1
    vlan trunk allowed 1,2021-2022
    lacp mode active
    lacp fallback
interface lag 256
    description ISL
    no shutdown
    no routing
    vlan trunk native 1
    vlan trunk allowed all
    lacp mode active
interface 1/1/1
    no shutdown
    mtu 9198
interface 1/1/2
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/3
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/4
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/5
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/6
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/7
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/8
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/9
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/10
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/11
    no shutdown
    mtu 9198
    lag 251
interface 1/1/12
    no shutdown
    mtu 9198
    lag 252
interface 1/1/13
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/14
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/15
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/16
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/17
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/18
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/19
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/20
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/21
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/22
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/23
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/24
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/25
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/26
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/27
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/28
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/29
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/30
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/31
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/32
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/33
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/34
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/35
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/36
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/37
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/38
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/39
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/40
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/41
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/42
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/43
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/44
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/45
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/46
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/47
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/48
    description Keep alive Interface RSVDC-FB1-LF1-2
    no shutdown
    mtu 9198
    ip mtu 9198
    ip address 10.250.0.5/31
interface 1/1/49
    no shutdown
    mtu 9198
    lag 256
interface 1/1/50
    no shutdown
    mtu 9198
    lag 256
interface 1/1/51
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/52
    no shutdown
    mtu 9198
    ip mtu 9198
interface 1/1/53
    description Leaf Spine RPI to RSVDC-FB1-SP1
    no shutdown
    persona uplink
    mtu 9198
    ip mtu 9198
    ip address 10.255.0.5/31
    ip ospf 1 area 0.0.0.0
    no ip ospf passive
    ip ospf network point-to-point
interface 1/1/54
    description Leaf Spine RPI to RSVDC-FB1-SP2
    no shutdown
    persona uplink
    mtu 9198
    ip mtu 9198
    ip address 10.255.0.23/31
    ip ospf 1 area 0.0.0.0
    no ip ospf passive
    ip ospf network point-to-point
interface loopback 0
    description BGP/OSPF underlay
    ip address 10.250.0.13/32
interface loopback 1
    description BGP VXLAN overlay
    ip address 10.250.2.2/32
interface loopback 11
    description Unique overlay loopback IP address in the PROD VRF for LF1-2
    vrf attach PROD-DC-VRF
    ip address 10.250.4.0/32
interface loopback 12
    description Unique overlay loopback IP address in the PROD DEV for LF1-2
    vrf attach DEV-DC-VRF
    ip address 10.250.5.0/32
interface vlan 2021
    description Border leaf PROD-DC-VRF uplink to external FW cluster
    vrf attach PROD-DC-VRF
    ip mtu 9198
    vsx active-forwarding
    ip address 10.255.2.1/29
    ip pim-sparse enable
    ip pim-sparse vsx-virtual-neighbor
interface vlan 2022
    description Border leaf DEV-DC-VRF uplink to external FW cluster
    vrf attach DEV-DC-VRF
    ip mtu 9198
    ip address 10.255.2.9/29
    ip pim-sparse enable
    ip pim-sparse vsx-virtual-neighbor
interface vlan 3001
    description Overlay transit VLAN for PROD VRF on LF1 VSX pair
    vrf attach PROD-DC-VRF
    ip mtu 9198
    ip address 10.255.4.0/31
    ip pim-sparse enable
    ip pim-sparse vsx-virtual-neighbor
interface vlan 3002
    description Overlay transit VLAN for DEV VRF on LF1 VSX pair
    vrf attach DEV-DC-VRF
    ip mtu 9198
    ip address 10.255.5.0/31
    ip pim-sparse enable
    ip pim-sparse vsx-virtual-neighbor
interface vlan 3999
    description Transit VLAN
    ip mtu 9198
    ip address 10.250.0.19/31
    ip ospf 1 area 0.0.0.0
    no ip ospf passive
    ip ospf cost 1
    ip ospf network point-to-point
interface vxlan 1
    source ip 10.250.2.2
    no shutdown
    vni 100001
        vrf PROD-DC-VRF 
        routing
    vni 100002
        vrf DEV-DC-VRF 
        routing
vsx
    system-mac 02:00:00:00:10:02
    inter-switch-link lag 256
    role primary
    keepalive peer 10.250.0.4 source 10.250.0.5
    linkup-delay-timer 600
    vsx-sync vsx-global
ip route 10.250.5.0/24 nullroute vrf DEV-DC-VRF
ip route 10.250.5.1/32 10.255.5.1 vrf DEV-DC-VRF
ip route 10.250.4.0/24 nullroute vrf PROD-DC-VRF
ip route 10.250.4.1/32 10.255.4.1 vrf PROD-DC-VRF
ip dns domain-name example.local vrf mgmt
ip dns server-address 10.2.120.98 vrf mgmt
ip dns server-address 10.2.120.99 vrf mgmt
ip prefix-list PL-HOST-P2P description Match /31 and /32 routes
ip prefix-list PL-HOST-P2P seq 10 permit 0.0.0.0/0 ge 31 
!
!
!
ip aspath-list ALLOWED-EXT-AS description External ASNs allowed to advertise into DC overlay
ip aspath-list ALLOWED-EXT-AS seq 10 permit ^65501 65000$
ip aspath-list ALLOWED-EXT-AS seq 20 permit ^65501$
!
route-map RM-EXT-OUT deny seq 10
     description filter host and P2P prefixes
     match ip address prefix-list PL-HOST-P2P
route-map RM-EXT-OUT permit seq 20
route-map RM-PERMIT-CAMPUS permit seq 10
     description allow campus and firewall ASNs
     match aspath-list ALLOWED-EXT-AS
route-map RM-PERMIT-CAMPUS deny seq 20
!
router ospf 1
    router-id 10.250.0.13
    passive-interface default
    maximum-paths 8
    redistribute local loopback
    area 0.0.0.0
router bgp 65001
    bgp router-id 10.250.0.13
    maximum-paths 8
    bgp log-neighbor-changes
    bgp deterministic-med
    bgp always-compare-med
    bgp bestpath as-path multipath-relax
    neighbor RSVDC-FB1-RR peer-group
    neighbor RSVDC-FB1-RR remote-as 65001
    neighbor RSVDC-FB1-RR description Spine and RR peer-group
    neighbor RSVDC-FB1-RR fall-over
    neighbor RSVDC-FB1-RR update-source loopback 0
    neighbor 10.250.0.9 peer-group RSVDC-FB1-RR
    neighbor 10.250.0.10 peer-group RSVDC-FB1-RR
    address-family ipv4 unicast
        redistribute connected
    exit-address-family
    address-family l2vpn evpn
        neighbor RSVDC-FB1-RR send-community both
        neighbor 10.250.0.9 activate
        neighbor 10.250.0.10 activate
    exit-address-family
!
    vrf DEV-DC-VRF
        bgp router-id 10.250.0.13
        maximum-paths 8
        bgp log-neighbor-changes
        bgp deterministic-med
        bgp always-compare-med
        bgp bestpath as-path multipath-relax
        neighbor 10.255.2.10 remote-as 65001
        neighbor 10.255.2.10 description DEV VRF peering between border leaf switches
        neighbor 10.255.2.11 remote-as 65501
        neighbor 10.255.2.11 description BGP peering from LF1-2 DEV VRF to FW cluster
        neighbor 10.255.2.11 fall-over bfd
        address-family ipv4 unicast
            neighbor 10.255.2.10 route-map RM-PERMIT-CAMPUS out
            neighbor 10.255.2.10 activate
            neighbor 10.255.2.11 route-map RM-PERMIT-CAMPUS in
            neighbor 10.255.2.11 route-map RM-EXT-OUT out
            neighbor 10.255.2.11 activate
            redistribute connected
            redistribute local loopback
            redistribute static
        exit-address-family
!
    vrf PROD-DC-VRF
        bgp router-id 10.250.0.13
        maximum-paths 8
        bgp log-neighbor-changes
        bgp deterministic-med
        bgp always-compare-med
        bgp bestpath as-path multipath-relax
        neighbor 10.255.2.2 remote-as 65001
        neighbor 10.255.2.2 description PROD VRF peering between border leaf switches
        neighbor 10.255.2.3 remote-as 65501
        neighbor 10.255.2.3 description BGP peering from LF1-2 PROD VRF to FW cluster
        address-family ipv4 unicast
            neighbor 10.255.2.2 route-map RM-PERMIT-CAMPUS out
            neighbor 10.255.2.2 activate
            neighbor 10.255.2.3 route-map RM-PERMIT-CAMPUS in
            neighbor 10.255.2.3 route-map RM-EXT-OUT out
            neighbor 10.255.2.3 activate
            redistribute connected
            redistribute local loopback
            redistribute static
        exit-address-family
!
router pim vrf DEV-DC-VRF
    enable
    register-source loopback12
router pim vrf PROD-DC-VRF
    enable
    register-source loopback11
https-server vrf mgmt
nae-script fans_status_transition_monitor false IyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KIwojIChjKSBDb3B5cmlnaHQgMjAxNy0yMDE4IEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQCiMKIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiMgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiMKIyBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKIwojIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywKIyBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbgojICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWQojIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlCiMgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucwojIHVuZGVyIHRoZSBMaWNlbnNlLgoKTWFuaWZlc3QgPSB7CiAgICAnTmFtZSc6ICdmYW5zX3N0YXR1c190cmFuc2l0aW9uX21vbml0b3InLAogICAgJ0Rlc2NyaXB0aW9uJzogJ0FnZW50IHRvIG1vbml0b3Igc3RhdHVzIG9mIGFsbCBmYW5zLCAnCiAgICAgICAgICAgICAgICAgICAnd2hlcmVpbiB0aGUgdHJhbnNpdGlvbiBiZXR3ZWVuIGRpZmZlcmVudCAnCiAgICAgICAgICAgICAgICAgICAnc3RhdHVzKHVuaW5pdGlhbGl6ZWQvb2svZmF1bHQpIGlzIG1vbml0b3JlZC4nCiAgICAgICAgICAgICAgICAgICAnVGhlIGFnZW50IHN0YXR1cyBpcyBzZXQgdG8gQ3JpdGljYWwgd2hlbiBhbnkgJwogICAgICAgICAgICAgICAgICAgJ29mIHRoZSBmYW4gc3RhdHVzIGhhcyB0cmFuc2l0aW9uIGZyb20gJwogICAgICAgICAgICAgICAgICAgJ3VuaW5pdGlhbGl6ZWQvb2sgdG8gZmF1bHQuIFRoZSBhZ2VudCBzdGF0dXMgJwogICAgICAgICAgICAgICAgICAgJ3JlbWFpbnMgaW4gQ3JpdGljYWwgc3RhdGUsIHdoZW4gb3RoZXIgZmFucyAnCiAgICAgICAgICAgICAgICAgICAnc3RhdHVzIHRyYW5zaXRzIHRvIGZhdWx0LCBhbmQgc3lzbG9nIGFuZCBjbGkgJwogICAgICAgICAgICAgICAgICAgJ2FyZSBkaXNwbGF5ZWQuIFRoZSBhZ2VudCBzdGF0dXMgaXMgc2V0IGJhY2sgJwogICAgICAgICAgICAgICAgICAgJ3RvIG5vcm1hbCB3aGVuIGFsbCB0aGUgZmFucyBhcmUgaW4gJwogICAgICAgICAgICAgICAgICAgJ3VuaW5pdGlhbGl6ZWQvb2sgc3RhdHVzLicsCiAgICAnVmVyc2lvbic6ICcxLjAnLAogICAgJ0F1dGhvcic6ICdBcnViYSBOZXR3b3JrcycKfQoKCmNsYXNzIEFnZW50KE5BRSk6CgogICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgIHNlbGYudmFyaWFibGVzWydmYW5zX2xpc3QnXSA9ICcnCgogICAgICAgIHVyaTEgPSAnL3Jlc3QvdjEvc3lzdGVtL3N1YnN5c3RlbXMvKi8qL2ZhbnMvKj9hdHRyaWJ1dGVzPXN0YXR1cycKICAgICAgICBzZWxmLm0xID0gTW9uaXRvcih1cmkxLCAnRmFuIFN0YXR1cycpCgogICAgICAgIHNlbGYucjEgPSBSdWxlKCdTdGF0dXMgLSBvayAtPiBmYXVsdCcpCiAgICAgICAgc2VsZi5yMS5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gIm9rIiB0byAiZmF1bHQiJywgW3NlbGYubTFdKQogICAgICAgIHNlbGYucjEuYWN0aW9uKHNlbGYuZmFuc19zdGF0dXNfYWN0aW9uX2ZhdWx0KQoKICAgICAgICBzZWxmLnIyID0gUnVsZSgnU3RhdHVzIC0gdW5pbml0aWFsaXplZCAtPiBmYXVsdCcpCiAgICAgICAgc2VsZi5yMi5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gInVuaW5pdGlhbGl6ZWQiIHRvICJmYXVsdCInLCBbc2VsZi5tMV0pCiAgICAgICAgc2VsZi5yMi5hY3Rpb24oc2VsZi5mYW5zX3N0YXR1c19hY3Rpb25fZmF1bHQpCgogICAgICAgIHNlbGYucjMgPSBSdWxlKCdTdGF0dXMgLSBlbXB0eSAtPiBmYXVsdCcpCiAgICAgICAgc2VsZi5yMy5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gImVtcHR5IiB0byAiZmF1bHQiJywgW3NlbGYubTFdKQogICAgICAgIHNlbGYucjMuYWN0aW9uKHNlbGYuZmFuc19zdGF0dXNfYWN0aW9uX2ZhdWx0KQoKICAgICAgICBzZWxmLnI0ID0gUnVsZSgnU3RhdHVzIC0gZmF1bHQgLT4gb2snKQogICAgICAgIHNlbGYucjQuY29uZGl0aW9uKAogICAgICAgICAgICAndHJhbnNpdGlvbiB7fSBmcm9tICJmYXVsdCIgdG8gIm9rIicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnI0LmFjdGlvbihzZWxmLmZhbnNfc3RhdHVzX2FjdGlvbl9ub3JtYWwpCgogICAgICAgIHNlbGYucjUgPSBSdWxlKCdTdGF0dXMgLSBmYXVsdCAtPiB1bmluaXRpYWxpemVkJykKICAgICAgICBzZWxmLnI1LmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAiZmF1bHQiIHRvICJ1bmluaXRpYWxpemVkIicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnI1LmFjdGlvbihzZWxmLmZhbnNfc3RhdHVzX2FjdGlvbl9ub3JtYWwpCgogICAgICAgIHNlbGYucjYgPSBSdWxlKCdTdGF0dXMgLSBmYXVsdCAtPiBlbXB0eScpCiAgICAgICAgc2VsZi5yNi5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gImZhdWx0IiB0byAiZW1wdHkiJywgW3NlbGYubTFdKQogICAgICAgIHNlbGYucjYuYWN0aW9uKHNlbGYuZmFuc19zdGF0dXNfYWN0aW9uX25vcm1hbCkKCiAgICBkZWYgZmFuc19zdGF0dXNfYWN0aW9uX2ZhdWx0KHNlbGYsIGV2ZW50KToKICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiKioqKioqKipUUkFOU0lUSU9OIFRPIEZBVUxUKioqKioqKioiKQogICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdMQUJFTCA9ICcgKyBldmVudFsnbGFiZWxzJ10pCiAgICAgICAgbGFiZWwgPSBldmVudFsnbGFiZWxzJ10KICAgICAgICBmYW5uYW1lID0gbGFiZWwuc3BsaXQoJywnKVswXS5zcGxpdCgnPScpWzFdCgogICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdmYW5uYW1lPSAnICsgZmFubmFtZSkKICAgICAgICBpZiBzZWxmLnZhcmlhYmxlc1snZmFuc19saXN0J10gIT0gJyc6CiAgICAgICAgICAgIGZhbnNfbGlzdCA9IGZhbm5hbWUgKyBzZWxmLnZhcmlhYmxlc1snZmFuc19saXN0J10KICAgICAgICAgICAgc2VsZi52YXJpYWJsZXNbJ2ZhbnNfbGlzdCddID0gZmFuc19saXN0CiAgICAgICAgZWxzZToKICAgICAgICAgICAgc2VsZi52YXJpYWJsZXNbJ2ZhbnNfbGlzdCddID0gZmFubmFtZQogICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdsaXN0IG9mIGZhbnMgPSAgJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi52YXJpYWJsZXNbJ2ZhbnNfbGlzdCddKQogICAgICAgIHNlbGYuc2V0X2FjdGlvbnMoZmFubmFtZSkKCiAgICBkZWYgc2V0X2FjdGlvbnMoc2VsZiwgZmFubmFtZSk6CiAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIisrKyBDQUxMQkFDSzogRkFOIFNUQVRVUyAtIEZBVUxUISIpCiAgICAgICAgaWYgc2VsZi5nZXRfYWxlcnRfbGV2ZWwoKSAhPSBBbGVydExldmVsLkNSSVRJQ0FMOgogICAgICAgICAgICBzZWxmLnNldF9hbGVydF9sZXZlbChBbGVydExldmVsLkNSSVRJQ0FMKQogICAgICAgIEFjdGlvblN5c2xvZygnRmFuICcgKyBmYW5uYW1lICsgJyBpcyBGYXVsdHkgJykKICAgICAgICBBY3Rpb25DTEkoJ3Nob3cgZW52aXJvbm1lbnQgZmFuJykKCiAgICBkZWYgZmFuc19zdGF0dXNfYWN0aW9uX25vcm1hbChzZWxmLCBldmVudCk6CiAgICAgICAgaWYgc2VsZi5nZXRfYWxlcnRfbGV2ZWwoKSBpcyBub3QgTm9uZToKICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIioqKioqKioqVFJBTlNJVElPTiBUTyBOT1JNQUwqKioqKioqKiIpCiAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdMQUJFTCA9ICcgKyBldmVudFsnbGFiZWxzJ10pCiAgICAgICAgICAgIGxhYmVsID0gZXZlbnRbJ2xhYmVscyddCiAgICAgICAgICAgIGZhbm5hbWUgPSBsYWJlbC5zcGxpdCgnLCcpWzBdLnNwbGl0KCc9JylbMV0KCiAgICAgICAgICAgICMgZGVsZXRlIGZhbm5hbWUgd2hpY2ggbW92ZWQgdG8gb2sgc3RhdGUKICAgICAgICAgICAgaW5kZXggPSAwCiAgICAgICAgICAgIGxlbmd0aCA9IGxlbihmYW5uYW1lKQogICAgICAgICAgICBmaW5kZmFuID0gc2VsZi52YXJpYWJsZXNbJ2ZhbnNfbGlzdCddCiAgICAgICAgICAgIGluZGV4ID0gZmluZGZhbi5maW5kKGZhbm5hbWUpCiAgICAgICAgICAgIGlmIGluZGV4ICE9IC0xOgogICAgICAgICAgICAgICAgIyBpbmRleCA9IHN0cmluZy5maW5kKHN0ciwgc3Vic3RyKQogICAgICAgICAgICAgICAgZmluZGZhbiA9IGZpbmRmYW5bMDppbmRleF0gKyBmaW5kZmFuW2luZGV4ICsgbGVuZ3RoOl0KICAgICAgICAgICAgICAgIHNlbGYudmFyaWFibGVzWydmYW5zX2xpc3QnXSA9IGZpbmRmYW4KICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdGYW4gbmFtZSBkZWxldGVkICcgKyBmYW5uYW1lKQogICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ0N1cnJlbnQgZmFucyBsaXN0ICcgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi52YXJpYWJsZXNbJ2ZhbnNfbGlzdCddKQogICAgICAgICAgICAgICAgQWN0aW9uU3lzbG9nKCdGYW4gJyArIGZhbm5hbWUgKyAnIGJhY2sgdG8gb2snKQogICAgICAgICAgICAgICAgaWYgc2VsZi52YXJpYWJsZXNbJ2ZhbnNfbGlzdCddID09ICcnOgogICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0X2FnZW50X3N0YXR1c19ub3JtYWwoKQoKICAgIGRlZiBzZXRfYWdlbnRfc3RhdHVzX25vcm1hbChzZWxmKToKICAgICAgICBzZWxmLnJlbW92ZV9hbGVydF9sZXZlbCgpCiAgICAgICAgQWN0aW9uU3lzbG9nKCdBbGwgZmFucyBzdGF0dXMgYXJlIG9rJykKCiAgICBkZWYgb25fYWdlbnRfcmVzdGFydChzZWxmLCBldmVudCk6CiAgICAgICAgc2VsZi5yZW1vdmVfYWxlcnRfbGV2ZWwoKQo=
nae-script temp_sensor_status_transition_monitor false IyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KIwojIChjKSBDb3B5cmlnaHQgMjAxNy0yMDE4IEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQCiMKIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiMgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiMKIyBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKIwojIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywKIyBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbgojICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWQojIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlCiMgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucwojIHVuZGVyIHRoZSBMaWNlbnNlLgoKTWFuaWZlc3QgPSB7CiAgICAnTmFtZSc6ICd0ZW1wX3NlbnNvcl9zdGF0dXNfdHJhbnNpdGlvbl9tb25pdG9yJywKICAgICdEZXNjcmlwdGlvbic6ICdOZXR3b3JrIEFuYWx5dGljcyBBZ2VudCBTY3JpcHQgdG8gbW9uaXRvcicKICAgICAgICAgICAgICAgICAgICdzdGF0dXMgdHJhbnNpdGlvbnMgb2YgYWxsIHRlbXBlcmF0dXJlIHNlbnNvcnMnLAogICAgJ1ZlcnNpb24nOiAnMS4wJywKICAgICdBdXRob3InOiAnQXJ1YmEgTmV0d29ya3MnCn0KCgpjbGFzcyBBZ2VudChOQUUpOgoKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKCiAgICAgICAgc2VsZi52YXJpYWJsZXNbJ3NlbnNvcnNfbGlzdCddID0gJycKCiAgICAgICAgdXJpMSA9ICcvcmVzdC92MS9zeXN0ZW0vc3Vic3lzdGVtcy8qLyovdGVtcF9zZW5zb3JzLyo/JyBcCiAgICAgICAgICAgICdhdHRyaWJ1dGVzPXN0YXR1cycKICAgICAgICBzZWxmLm0xID0gTW9uaXRvcih1cmkxLCAnU2Vuc29yIFN0YXR1cycpCgogICAgICAgICMgTU9OSVRPUiBOT1JNQUwgU1RBVEUgVFJBTlNJVElPTlMKCiAgICAgICAgIyBOb3JtYWwgLT4gTWluCiAgICAgICAgc2VsZi5yMSA9IFJ1bGUoJ1NlbnNvciBTdGF0dXMgLSBOb3JtYWwgLT4gTWluJykKICAgICAgICBzZWxmLnIxLmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAibm9ybWFsIiB0byAibWluIicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnIxLmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX25vcm1hbCkKCiAgICAgICAgIyBOb3JtYWwgLT4gTWF4CiAgICAgICAgc2VsZi5yMiA9IFJ1bGUoJ1NlbnNvciBTdGF0dXMgLSBOb3JtYWwgLT4gTWF4JykKICAgICAgICBzZWxmLnIyLmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAibm9ybWFsIiB0byAibWF4IicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnIyLmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX25vcm1hbCkKCiAgICAgICAgIyBMb3cgQ3JpdGljYWwgLT4gTWluCiAgICAgICAgc2VsZi5yMyA9IFJ1bGUoJ1NlbnNvciBTdGF0dXMgLSBMb3cgQ3JpdGljYWwgLT4gTWluJykKICAgICAgICBzZWxmLnIzLmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAibG93X2NyaXRpY2FsIiB0byAibWluIicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnIzLmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX25vcm1hbCkKCiAgICAgICAgIyBDcml0aWNhbCAtPiBNYXgKICAgICAgICBzZWxmLnI0ID0gUnVsZSgnU2Vuc29yIFN0YXR1cyAtIENyaXRpY2FsIC0+IE1heCcpCiAgICAgICAgc2VsZi5yNC5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gImNyaXRpY2FsIiB0byAibWF4IicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnI0LmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX25vcm1hbCkKCiAgICAgICAgIyBGYXVsdCAtPiBVbmluaXRpYWxpemVkCiAgICAgICAgc2VsZi5yNSA9IFJ1bGUoJ1NlbnNvciBTdGF0dXMgLSBGYXVsdCAtPiBVbmluaXRpYWxpemVkJykKICAgICAgICBzZWxmLnI1LmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAiZmF1bHQiIHRvICJ1bmluaXRpYWxpemVkIicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnI1LmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX25vcm1hbCkKCiAgICAgICAgIyBGYXVsdCAtPiBOb3JtYWwKICAgICAgICBzZWxmLnI2ID0gUnVsZSgnU2Vuc29yIFN0YXR1cyAtIEZhdWx0IC0+IE5vcm1hbCcpCiAgICAgICAgc2VsZi5yNi5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gImZhdWx0IiB0byAibm9ybWFsIicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnI2LmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX25vcm1hbCkKCiAgICAgICAgIyBGYXVsdCAtPiBNaW4KICAgICAgICBzZWxmLnI3ID0gUnVsZSgnU2Vuc29yIFN0YXR1cyAtIEZhdWx0IC0+IE1pbicpCiAgICAgICAgc2VsZi5yNy5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gImZhdWx0IiB0byAibWluIicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnI3LmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX25vcm1hbCkKCiAgICAgICAgIyBGYXVsdCAtPiBNYXgKICAgICAgICBzZWxmLnI4ID0gUnVsZSgnU2Vuc29yIFN0YXR1cyAtIEZhdWx0IC0+IE1heCcpCiAgICAgICAgc2VsZi5yOC5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gImZhdWx0IiB0byAibWF4IicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnI4LmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX25vcm1hbCkKCiAgICAgICAgIyBNT05JVE9SIENSSVRJQ0FMIFNUQVRFIFRSQU5TSVRJT05TCgogICAgICAgICMgTWluIC0+IExvdyBDcml0aWNhbAogICAgICAgIHNlbGYucjkgPSBSdWxlKCdTZW5zb3IgU3RhdHVzIC0gTWluIC0+IExvdyBDcml0aWNhbCcpCiAgICAgICAgc2VsZi5yOS5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gIm1pbiIgdG8gImxvd19jcml0aWNhbCInLCBbc2VsZi5tMV0pCiAgICAgICAgc2VsZi5yOS5hY3Rpb24oc2VsZi5zZW5zb3Jfc3RhdHVzX2FjdGlvbl9jcml0aWNhbCkKCiAgICAgICAgIyBNYXggLT4gQ3JpdGljYWwKICAgICAgICBzZWxmLnIxMCA9IFJ1bGUoJ1NlbnNvciBTdGF0dXMgLSBNYXggLT4gQ3JpdGljYWwnKQogICAgICAgIHNlbGYucjEwLmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAibWF4IiB0byAiY3JpdGljYWwiJywgW3NlbGYubTFdKQogICAgICAgIHNlbGYucjEwLmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX2NyaXRpY2FsKQoKICAgICAgICAjIENyaXRpY2FsIC0+IEVtZXJnZW5jeQogICAgICAgIHNlbGYucjExID0gUnVsZSgKICAgICAgICAgICAgJ1NlbnNvciBTdGF0dXMgLSBDcml0aWNhbCAtPiBFbWVyZ2VuY3knKQogICAgICAgIHNlbGYucjExLmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAiY3JpdGljYWwiIHRvICJlbWVyZ2VuY3kiJywKICAgICAgICAgICAgW3NlbGYubTFdKQogICAgICAgIHNlbGYucjExLmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX2NyaXRpY2FsKQoKICAgICAgICAjIEVtZXJnZW5jeSAtPiBDcml0aWNhbAogICAgICAgIHNlbGYucjEyID0gUnVsZSgnU2Vuc29yIFN0YXR1cyAtIEVtZXJnZW5jeSAtPiBDcml0aWNhbCcpCiAgICAgICAgc2VsZi5yMTIuY29uZGl0aW9uKAogICAgICAgICAgICAndHJhbnNpdGlvbiB7fSBmcm9tICJlbWVyZ2VuY3kiIHRvICJjcml0aWNhbCInLCBbc2VsZi5tMV0pCiAgICAgICAgc2VsZi5yMTIuYWN0aW9uKHNlbGYuc2Vuc29yX3N0YXR1c19hY3Rpb25fY3JpdGljYWwpCgogICAgICAgICMgVW5pbml0aWFsaXplZCAtPiBGYXVsdAogICAgICAgIHNlbGYucjEzID0gUnVsZSgnU2Vuc29yIFN0YXR1cyAtIFVuaW5pdGlhbGl6ZWQgLT4gRmF1bHQnKQogICAgICAgIHNlbGYucjEzLmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAidW5pbml0aWFsaXplZCIgdG8gImZhdWx0IicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnIxMy5hY3Rpb24oc2VsZi5zZW5zb3Jfc3RhdHVzX2FjdGlvbl9jcml0aWNhbCkKCiAgICAgICAgIyBOb3JtYWwgLT4gRmF1bHQKICAgICAgICBzZWxmLnIxNCA9IFJ1bGUoJ1NlbnNvciBTdGF0dXMgLSBOb3JtYWwgLT4gRmF1bHQnKQogICAgICAgIHNlbGYucjE0LmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAibm9ybWFsIiB0byAiZmF1bHQiJywgW3NlbGYubTFdKQogICAgICAgIHNlbGYucjE0LmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX2NyaXRpY2FsKQoKICAgICAgICAjIE1pbiAtPiBGYXVsdAogICAgICAgIHNlbGYucjE1ID0gUnVsZSgnU2Vuc29yIFN0YXR1cyAtIE1pbiAtPiBGYXVsdCcpCiAgICAgICAgc2VsZi5yMTUuY29uZGl0aW9uKAogICAgICAgICAgICAndHJhbnNpdGlvbiB7fSBmcm9tICJtaW4iIHRvICJmYXVsdCInLCBbc2VsZi5tMV0pCiAgICAgICAgc2VsZi5yMTUuYWN0aW9uKHNlbGYuc2Vuc29yX3N0YXR1c19hY3Rpb25fY3JpdGljYWwpCgogICAgICAgICMgTG93IENyaXRpY2FsIC0+IEZhdWx0CiAgICAgICAgc2VsZi5yMTYgPSBSdWxlKCdTZW5zb3IgU3RhdHVzIC0gTG93IENyaXRpY2FsIC0+IEZhdWx0JykKICAgICAgICBzZWxmLnIxNi5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gImxvd19jcml0aWNhbCIgdG8gImZhdWx0IicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnIxNi5hY3Rpb24oc2VsZi5zZW5zb3Jfc3RhdHVzX2FjdGlvbl9jcml0aWNhbCkKCiAgICAgICAgIyBNYXggLT4gRmF1bHQKICAgICAgICBzZWxmLnIxNyA9IFJ1bGUoJ1NlbnNvciBTdGF0dXMgLSBNYXggLT4gRmF1bHQnKQogICAgICAgIHNlbGYucjE3LmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAibWF4IiB0byAiZmF1bHQiJywgW3NlbGYubTFdKQogICAgICAgIHNlbGYucjE3LmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX2NyaXRpY2FsKQoKICAgICAgICAjIENyaXRpY2FsIC0+IEZhdWx0CiAgICAgICAgc2VsZi5yMTggPSBSdWxlKCdTZW5zb3IgU3RhdHVzIC0gQ3JpdGljYWwgLT4gRmF1bHQnKQogICAgICAgIHNlbGYucjE4LmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAiY3JpdGljYWwiIHRvICJmYXVsdCInLCBbc2VsZi5tMV0pCiAgICAgICAgc2VsZi5yMTguYWN0aW9uKHNlbGYuc2Vuc29yX3N0YXR1c19hY3Rpb25fY3JpdGljYWwpCgogICAgICAgICMgRW1lcmdlbmN5IC0+IEZhdWx0CiAgICAgICAgc2VsZi5yMTkgPSBSdWxlKCdTZW5zb3IgU3RhdHVzIC0gRW1lcmdlbmN5IC0+IEZhdWx0JykKICAgICAgICBzZWxmLnIxOS5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gImVtZXJnZW5jeSIgdG8gImZhdWx0IicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnIxOS5hY3Rpb24oc2VsZi5zZW5zb3Jfc3RhdHVzX2FjdGlvbl9jcml0aWNhbCkKCiAgICAgICAgIyBGYXVsdCAtPiBFbWVyZ2VuY3kKICAgICAgICBzZWxmLnIyMCA9IFJ1bGUoJ1NlbnNvciBTdGF0dXMgLSBGYXVsdCAtPiBFbWVyZ2VuY3knKQogICAgICAgIHNlbGYucjIwLmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAiZmF1bHQiIHRvICJlbWVyZ2VuY3kiJywgW3NlbGYubTFdKQogICAgICAgIHNlbGYucjIwLmFjdGlvbihzZWxmLnNlbnNvcl9zdGF0dXNfYWN0aW9uX2NyaXRpY2FsKQoKICAgICAgICAjIEZhdWx0IC0+IENyaXRpY2FsCiAgICAgICAgc2VsZi5yMjEgPSBSdWxlKCdTZW5zb3IgU3RhdHVzIC0gRmF1bHQgLT4gQ3JpdGljYWwnKQogICAgICAgIHNlbGYucjIxLmNvbmRpdGlvbigKICAgICAgICAgICAgJ3RyYW5zaXRpb24ge30gZnJvbSAiZmF1bHQiIHRvICJjcml0aWNhbCInLCBbc2VsZi5tMV0pCiAgICAgICAgc2VsZi5yMjEuYWN0aW9uKHNlbGYuc2Vuc29yX3N0YXR1c19hY3Rpb25fY3JpdGljYWwpCgogICAgICAgICMgRmF1bHQgLT4gTG93IENyaXRpY2FsCiAgICAgICAgc2VsZi5yMjIgPSBSdWxlKCdTZW5zb3IgU3RhdHVzIC0gRmF1bHQgLT4gTG93IENyaXRpY2FsJykKICAgICAgICBzZWxmLnIyMi5jb25kaXRpb24oCiAgICAgICAgICAgICd0cmFuc2l0aW9uIHt9IGZyb20gImZhdWx0IiB0byAibG93X2NyaXRpY2FsIicsIFtzZWxmLm0xXSkKICAgICAgICBzZWxmLnIyMi5hY3Rpb24oc2VsZi5zZW5zb3Jfc3RhdHVzX2FjdGlvbl9jcml0aWNhbCkKCiAgICBkZWYgc2Vuc29yX3N0YXR1c19hY3Rpb25fY3JpdGljYWwoc2VsZiwgZXZlbnQpOgogICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCcqKioqKioqKkNSSVRJQ0FMKioqKioqKionKQogICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdMQUJFTCA9ICcgKyBldmVudFsnbGFiZWxzJ10gKwogICAgICAgICAgICAgICAgICAgICAgICAgICdWQUxVRSA9ICcgKyBldmVudFsndmFsdWUnXSkKICAgICAgICBsYWJlbCA9IHN0cihldmVudFsnbGFiZWxzJ10pCiAgICAgICAgbGFiZWxzcGxpdCA9IGxhYmVsLnNwbGl0KCIsIikKICAgICAgICByZWFkc2Vuc29yID0gbGFiZWxzcGxpdFsxXQogICAgICAgIHJlYWRzZW5zb3JzcGxpdCA9IHJlYWRzZW5zb3Iuc3BsaXQoIj0iKQogICAgICAgIHNlbnNvcm5hbWUgPSBzdHIocmVhZHNlbnNvcnNwbGl0WzFdKQogICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdTZW5zb3IgTmFtZT0gJyArIHNlbnNvcm5hbWUpCiAgICAgICAgaWYgc2VsZi52YXJpYWJsZXNbJ3NlbnNvcnNfbGlzdCddICE9ICcnOgogICAgICAgICAgICBmaW5kc2Vuc29yID0gc2VsZi52YXJpYWJsZXNbJ3NlbnNvcnNfbGlzdCddCiAgICAgICAgICAgIGlzdHJ1ZSA9IGZpbmRzZW5zb3IuZmluZChzZW5zb3JuYW1lKQogICAgICAgICAgICBpZiBpc3RydWUgPT0gLTE6CiAgICAgICAgICAgICAgICBzZW5zb3JzX2xpc3QgPSBzZW5zb3JuYW1lICsgc2VsZi52YXJpYWJsZXNbJ3NlbnNvcnNfbGlzdCddCiAgICAgICAgICAgICAgICBzZWxmLnZhcmlhYmxlc1snc2Vuc29yc19saXN0J10gPSBzZW5zb3JzX2xpc3QKICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdsaXN0IG9mIHNlbnNvcnMgOiAnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudmFyaWFibGVzWydzZW5zb3JzX2xpc3QnXSkKICAgICAgICAgICAgICAgIHNlbGYuc2V0YWN0aW9ucyhzZW5zb3JuYW1lKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgQWN0aW9uU3lzbG9nKCdTZW5zb3I6ICcgKyBzZW5zb3JuYW1lICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIGlzIGluIENyaXRpY2FsIHN0YXRlJykKICAgICAgICAgICAgICAgIEFjdGlvbkNMSSgnc2hvdyBlbnZpcm9ubWVudCB0ZW1wZXJhdHVyZScpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc2VsZi52YXJpYWJsZXNbJ3NlbnNvcnNfbGlzdCddID0gc2Vuc29ybmFtZQogICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnbGlzdCBvZiBzZW5zb3JzOicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnZhcmlhYmxlc1snc2Vuc29yc19saXN0J10pCiAgICAgICAgICAgIHNlbGYuc2V0YWN0aW9ucyhzZW5zb3JuYW1lKQoKICAgIGRlZiBzZXRhY3Rpb25zKHNlbGYsIHNlbnNvcm5hbWUpOgogICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCcrKysgQ0FMTEJBQ0s6IFNFTlNPUiBTVEFUVVMgLSBDUklUSUNBTCEnKQogICAgICAgIHNlbGYuc2V0X2FsZXJ0X2xldmVsKEFsZXJ0TGV2ZWwuQ1JJVElDQUwpCiAgICAgICAgQWN0aW9uU3lzbG9nKCdTZW5zb3I6ICcgKyBzZW5zb3JuYW1lICsKICAgICAgICAgICAgICAgICAgICAgJyBpcyBpbiBDcml0aWNhbCBzdGF0ZScpCiAgICAgICAgQWN0aW9uQ0xJKCdzaG93IGVudmlyb25tZW50IHRlbXBlcmF0dXJlJykKCiAgICBkZWYgc2Vuc29yX3N0YXR1c19hY3Rpb25fbm9ybWFsKHNlbGYsIGV2ZW50KToKICAgICAgICBpZiBzZWxmLmdldF9hbGVydF9sZXZlbCgpIGlzIG5vdCBOb25lOgogICAgICAgICAgICBpZiBzZWxmLnZhcmlhYmxlc1snc2Vuc29yc19saXN0J10gPT0gJyc6CiAgICAgICAgICAgICAgICBzZWxmLnNldF9wb2xpY3lfc3RhdHVzX25vcm1hbCgpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBwcmludCgnKioqKioqKipOT1JNQUwqKioqKioqKicpCiAgICAgICAgICAgICAgICBsYWJlbCA9IHN0cihldmVudFsnbGFiZWxzJ10pCiAgICAgICAgICAgICAgICBsYWJlbHNwbGl0ID0gbGFiZWwuc3BsaXQoIiwiKQogICAgICAgICAgICAgICAgcmVhZHNlbnNvciA9IGxhYmVsc3BsaXRbMV0KICAgICAgICAgICAgICAgIHJlYWRzZW5zb3JzcGxpdCA9IHJlYWRzZW5zb3Iuc3BsaXQoIj0iKQogICAgICAgICAgICAgICAgc2Vuc29ybmFtZSA9IHN0cihyZWFkc2Vuc29yc3BsaXRbMV0pCgogICAgICAgICAgICAgICAgJycnCiAgICAgICAgICAgICAgICBkZWxldGUgYWxsIFNlbnNvciBOYW1lJ3Mgd2hpY2ggbW92ZWQgYmFjayB0bwogICAgICAgICAgICAgICAgTm9ybWFsIHN0YXRlIGZyb20gQ3JpdGljYWwgc3RhdGUKICAgICAgICAgICAgICAgICcnJwogICAgICAgICAgICAgICAgaW5kZXggPSAwCiAgICAgICAgICAgICAgICBsZW5ndGggPSBsZW4oc2Vuc29ybmFtZSkKICAgICAgICAgICAgICAgIGZpbmRzZW5zb3IgPSBzZWxmLnZhcmlhYmxlc1snc2Vuc29yc19saXN0J10KICAgICAgICAgICAgICAgIGluZGV4ID0gZmluZHNlbnNvci5maW5kKHNlbnNvcm5hbWUpCiAgICAgICAgICAgICAgICBpZiBpbmRleCAhPSAtMToKICAgICAgICAgICAgICAgICAgICAjIGluZGV4ID0gc3RyaW5nLmZpbmQoc3RyLCBzdWJzdHIpCiAgICAgICAgICAgICAgICAgICAgZmluZHNlbnNvciA9IGZpbmRzZW5zb3JbCiAgICAgICAgICAgICAgICAgICAgICAgIDA6aW5kZXhdICsgZmluZHNlbnNvclsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ICsgbGVuZ3RoOl0KICAgICAgICAgICAgICAgICAgICBzZWxmLnZhcmlhYmxlc1snc2Vuc29yc19saXN0J10gPSBmaW5kc2Vuc29yCiAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ1NlbnNvciBuYW1lIGRlbGV0ZWQ6ICcgKyBzZW5zb3JuYW1lKQogICAgICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdDdXJyZW50IFNlbnNvcnMgbGlzdDogJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi52YXJpYWJsZXNbJ3NlbnNvcnNfbGlzdCddKQogICAgICAgICAgICAgICAgICAgIEFjdGlvblN5c2xvZygnU2Vuc29yICcgKyBzZW5zb3JuYW1lICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBpcyBiYWNrIHRvIE5vcm1hbCcpCiAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi52YXJpYWJsZXNbJ3NlbnNvcnNfbGlzdCddID09ICcnOgogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNldF9wb2xpY3lfc3RhdHVzX25vcm1hbCgpCgogICAgZGVmIHNldF9wb2xpY3lfc3RhdHVzX25vcm1hbChzZWxmKToKICAgICAgICBzZWxmLnJlbW92ZV9hbGVydF9sZXZlbCgpCiAgICAgICAgQWN0aW9uU3lzbG9nKCdBbGwgU2Vuc29ycyBhcmUgTm9ybWFsJykK
nae-agent fans_status_transition_monitor fans_status_transition_monitor.default false
nae-agent temp_sensor_status_transition_monitor temp_sensor_status_transition_monitor.default false

Back to top

© Copyright 2024 Hewlett Packard Enterprise Development LP. The information contained herein is subject to change without notice. The only warranties for Hewlett Packard Enterprise products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. Hewlett Packard Enterprise shall not be liable for technical or editorial errors or omissions contained herein. Aruba Networks and the Aruba logo are registered trademarks of Aruba Networks, Inc. Third-party trademarks mentioned are the property of their respective owners. To view the end-user software agreement, go to Aruba EULA.