Link Search Menu Expand Document
calendar_month 01-Nov-24

Single Fabric: Spine 1 Configuration

!
!Version ArubaOS-CX CL.10.13.1050
!export-password: default
hostname RSVDC-FB1-SP1
user admin group administrators password ciphertext AQBapXgRghSIOW5X1+QIlvQN2A98D/atHUzGuRCUODe39Dh7YgAAAMmhFZxUhP7RGNtz8Uv95TdhVLWwwzZUGARYzx+CecqoMa2Fi00bdLjqA+e+R3/qeSp498oP/xVaErIGIh4iDzoL12kRg/cmqsOfRwU2JEOcv/nX1zTUwfaARsgToF+CCQ3h
user afc_admin group administrators password ciphertext AQBapbN10g3HQDIfT6CiarAklvZzWzN8xF3nDEuxA80+7nDjYgAAAOqyqck+iM41COgtKSBAdfBWA961rPLlo5la9uZUiKHveR2tdgmLzkGnuhOfwDE0Av7gN/GdGAFYYJaymtoP7kF9vGC9sscTPagwWlWF1gwHOv6XRAItDDt7TTZr8IuGEEMV
clock timezone america/los_angeles
bfd
profile spine
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
interface mgmt
    no shutdown
    ip dhcp
interface 1/1/1
    no shutdown
    split 2 100g
    mtu 9198
interface 1/1/1:1
    description Leaf Spine RPI to RSVDC-FB1-LF1-1
    no shutdown
    mtu 9198
    ip mtu 9198
    ip address 10.255.0.2/31
    ip ospf 1 area 0.0.0.0
    no ip ospf passive
    ip ospf network point-to-point
interface 1/1/1:2
    description Leaf Spine RPI to RSVDC-FB1-LF1-2
    no shutdown
    mtu 9198
    ip mtu 9198
    ip address 10.255.0.4/31
    ip ospf 1 area 0.0.0.0
    no ip ospf passive
    ip ospf network point-to-point
interface 1/1/2
    no shutdown
    split 2 100g
    mtu 9198
interface 1/1/2:1
    description Leaf Spine RPI to RSVDC-FB1-LF2-1
    no shutdown
    mtu 9198
    ip mtu 9198
    ip address 10.255.0.6/31
    ip ospf 1 area 0.0.0.0
    no ip ospf passive
    ip ospf network point-to-point
interface 1/1/2:2
    description Leaf Spine RPI to RSVDC-FB1-LF2-2
    no shutdown
    mtu 9198
    ip mtu 9198
    ip address 10.255.0.0/31
    ip ospf 1 area 0.0.0.0
    no ip ospf passive
    ip ospf network point-to-point
interface 1/1/3
    no shutdown
    split 2 100g
    mtu 9198
interface 1/1/3:1
    description Leaf Spine RPI to RSVDC-FB1-LF3-1
    no shutdown
    mtu 9198
    ip mtu 9198
    ip address 10.255.0.10/31
    ip ospf 1 area 0.0.0.0
    no ip ospf passive
    ip ospf network point-to-point
interface 1/1/3:2
    description Leaf Spine RPI to RSVDC-FB1-LF3-2
    no shutdown
    mtu 9198
    ip mtu 9198
    ip address 10.255.0.8/31
    ip ospf 1 area 0.0.0.0
    no ip ospf passive
    ip ospf network point-to-point
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
    ip mtu 9198
interface 1/1/12
    no shutdown
    mtu 9198
    ip mtu 9198
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 loopback 0
    description BGP/OSPF underlay
    ip address 10.250.0.9/32
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
!
!
!
!
!
router ospf 1
    router-id 10.250.0.9
    passive-interface default
    maximum-paths 8
    redistribute local loopback
    area 0.0.0.0
router bgp 65001
    bgp router-id 10.250.0.9
    maximum-paths 8
    bgp log-neighbor-changes
    bgp deterministic-med
    bgp always-compare-med
    bgp bestpath as-path multipath-relax
    neighbor RSVDC-FB1-LF peer-group
    neighbor RSVDC-FB1-LF remote-as 65001
    neighbor RSVDC-FB1-LF description Leaf RR clients
    neighbor RSVDC-FB1-LF fall-over
    neighbor RSVDC-FB1-LF update-source loopback 0
    neighbor 10.250.0.6 peer-group RSVDC-FB1-LF
    neighbor 10.250.0.7 peer-group RSVDC-FB1-LF
    neighbor 10.250.0.8 peer-group RSVDC-FB1-LF
    neighbor 10.250.0.11 peer-group RSVDC-FB1-LF
    neighbor 10.250.0.12 peer-group RSVDC-FB1-LF
    neighbor 10.250.0.13 peer-group RSVDC-FB1-LF
    address-family ipv4 unicast
        redistribute connected
    exit-address-family
    address-family l2vpn evpn
        neighbor RSVDC-FB1-LF route-reflector-client
        neighbor RSVDC-FB1-LF send-community both
        neighbor 10.250.0.6 activate
        neighbor 10.250.0.7 activate
        neighbor 10.250.0.8 activate
        neighbor 10.250.0.11 activate
        neighbor 10.250.0.12 activate
        neighbor 10.250.0.13 activate
    exit-address-family
!
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.