܍~cddlZddlmZmZddlmZmZddlmZddlm Z m Z m Z ddl m Z ddlmZejeZGdd ejZdS) N)ListOptional)distroshelpers)log)netsubputil) bsd_utils) BSDNetworkingc0eZdZUeZdZdZdZddddZgZ e e e d<gZ e e e d<gZe e e d <d Zee e e d <d Zee e e d <fd ZdZddZdZdZddZdZdZdZddZdZddZdedefdZ xZ!S)BSD /etc/rc.confz root:wheelz-Hz-pz-r)haltpoweroffrebootgroup_add_cmd_prefixpkg_cmd_install_prefixpkg_cmd_remove_prefixNpkg_cmd_update_prefixpkg_cmd_upgrade_prefixct|||tj||_d|d<t j|_dS)Nsshd ssh_svcname) super__init__rRunners_runnerplatformsystemlowerosfamily)selfnamecfgpaths __class__s 7/usr/lib/python3/dist-packages/cloudinit/distros/bsd.pyrz BSD.__init__s[ sE***u-- #M ))//11 cH||j}|j|fSN)_read_hostnamehostname_conf_fn)r# sys_hostnames r(_read_system_hostnamezBSD._read_system_hostname(s&**4+@AA %|44r)c*tjdS)Nhostname)r get_rc_config_value)r#filenamedefaults r(r,zBSD._read_hostname,s,Z888r)c td)Nz&Return list cmd to add member to groupNotImplementedError)r# member_name group_names r(_get_add_member_to_group_cmdz BSD._get_add_member_to_group_cmd/s!"JKKKr)c4tjd|ddS)Nr1r)fn)r set_rc_config_value)r#r1r3s r(_write_hostnamezBSD._write_hostname2s %j(~NNNNNNr)ctj|rtd|ng|j|gz} t j|td|n+#t$rtjtd|YnwxYw|sg}|D]}tj |std||3 t j| ||td||y#t$rtjtd||YwxYwdS)Nz(Skipping creation of existing group '%s'zCreated new group %szFailed to create group %szCUnable to add group member '%s' to group '%s'; user does not exist.zAdded user '%s' to group '%s'z%Failed to add user '%s' to group '%s') r is_groupLOGwarningrr info Exceptionlogexcis_userr:)r#r$members group_add_cmdmembers r( create_groupzBSD.create_group5s =   D KKBD I I I I 5>M D -(((/6666 D D D C!rJrYr`rbr^rvr{rkboolr __classcell__)r's@r(rr s"N%J M%)ddKK')$s)((((*DI***')49)))158DI.55526HT#Y/666222225559999LLLOOO<   666NNNGGGG8HHH,,,,;;t;;;;;;;;r)r)rtypingrr cloudinitrrrloggingrr r cloudinit.distrosr cloudinit.distros.networkingr getLoggerrrADistrorr)r(rs!!!!!!!!&&&&&&&&$$$$$$%%%%%%%%%%''''''666666g!!;;;;;'.;;;;;r)