fpXddlmZddlmcmZddlmZGddejZy))OptionalNsubpc eZdZedefdZedefdZeddddededeedeefd Zeded edefd Z edddded edeedeefd Z ed efdZ eded edefdZ eded efdZ y) BsdNetOps interfacec4tjd|dgy)Nifconfiguprrs A/usr/lib/python3/dist-packages/cloudinit/net/netops/bsd_netops.pylink_upzBsdNetOps.link_ups :y$/0c4tjd|dgy)Nr downrr s r link_downzBsdNetOps.link_down s :y&12rN)gatewaysource_addressrouterrc|tjdd|d|g|r |dk7rtjdd||gyyy)Nraddz -interface0.0.0.0changer)rrrrs r add_routezBsdNetOps.add_routesD 7E5, BC w)+ II(E73 ,7raddressc2tj|||S)N)rr)rr)rrrs r append_routezBsdNetOps.append_routes""9GW"MMrc\tjdd|g|r|dk7r |gzygzy)Nrdelrr)rrrrs r del_routezBsdNetOps.del_route"s< eW %#9(<y F BD F rreturncxtjgd\}}|jdjS)N)rz-nvgetz 0.0.0.0/0)r splitlinesstrip)std_s r get_default_routezBsdNetOps.get_default_route/s0?@Q~~#))++r broadcastc:tjd||d|dgy)Nr r*aliasr)rrr*s r add_addrzBsdNetOps.add_addr4s%    rc6tjd||dgy)Nr z-aliasr)rrs r del_addrzBsdNetOps.del_addrAs    r)__name__ __module__ __qualname__ staticmethodstrrrrrrr r)r-r/rr rrsZ13113S33 "&(,   #  !  NNcNCNN "&(,      #  !    ,s,,  C  #  #     C #  rr) typingrcloudinit.net.netopsnetnetops cloudinitrNetOpsrr5rr r<s#%%C  C r