003 File Manager
Current Path:
/usr/local/lib/python3.8/site-packages/salt/modules
usr
/
local
/
lib
/
python3.8
/
site-packages
/
salt
/
modules
/
📁
..
📄
__init__.py
(35 B)
📁
__pycache__
📄
acme.py
(12.74 KB)
📄
aix_group.py
(4.11 KB)
📄
aix_shadow.py
(1.93 KB)
📄
aixpkg.py
(10.91 KB)
📄
aliases.py
(5.07 KB)
📄
alternatives.py
(5.1 KB)
📄
ansiblegate.py
(11.38 KB)
📄
apache.py
(12.47 KB)
📄
apcups.py
(2.21 KB)
📄
apf.py
(3.09 KB)
📄
apkpkg.py
(16 KB)
📄
aptly.py
(15.28 KB)
📄
aptpkg.py
(102.35 KB)
📄
archive.py
(46.97 KB)
📄
arista_pyeapi.py
(22.06 KB)
📄
artifactory.py
(24.78 KB)
📄
at.py
(10.65 KB)
📄
at_solaris.py
(8.56 KB)
📄
augeas_cfg.py
(13.93 KB)
📄
aws_sqs.py
(6.55 KB)
📄
azurearm_compute.py
(19.55 KB)
📄
azurearm_dns.py
(14.7 KB)
📄
azurearm_network.py
(80.8 KB)
📄
azurearm_resource.py
(34.27 KB)
📄
bamboohr.py
(7.36 KB)
📄
baredoc.py
(11.13 KB)
📄
bcache.py
(28.97 KB)
📄
beacons.py
(27.89 KB)
📄
bigip.py
(69.11 KB)
📄
bluez_bluetooth.py
(6.76 KB)
📄
boto3_elasticache.py
(37.34 KB)
📄
boto3_elasticsearch.py
(53.17 KB)
📄
boto3_route53.py
(39.75 KB)
📄
boto3_sns.py
(12.93 KB)
📄
boto_apigateway.py
(61.86 KB)
📄
boto_asg.py
(35.7 KB)
📄
boto_cfn.py
(7.95 KB)
📄
boto_cloudfront.py
(12.75 KB)
📄
boto_cloudtrail.py
(14.45 KB)
📄
boto_cloudwatch.py
(10.99 KB)
📄
boto_cloudwatch_event.py
(9.48 KB)
📄
boto_cognitoidentity.py
(14.63 KB)
📄
boto_datapipeline.py
(6.94 KB)
📄
boto_dynamodb.py
(10.54 KB)
📄
boto_ec2.py
(79.29 KB)
📄
boto_efs.py
(14.05 KB)
📄
boto_elasticache.py
(23.69 KB)
📄
boto_elasticsearch_domain.py
(15.85 KB)
📄
boto_elb.py
(35.4 KB)
📄
boto_elbv2.py
(10.81 KB)
📄
boto_iam.py
(75.62 KB)
📄
boto_iot.py
(26.2 KB)
📄
boto_kinesis.py
(19.63 KB)
📄
boto_kms.py
(17.29 KB)
📄
boto_lambda.py
(35.05 KB)
📄
boto_rds.py
(34.92 KB)
📄
boto_route53.py
(32.55 KB)
📄
boto_s3.py
(4.24 KB)
📄
boto_s3_bucket.py
(31.8 KB)
📄
boto_secgroup.py
(25.22 KB)
📄
boto_sns.py
(7.22 KB)
📄
boto_sqs.py
(6.43 KB)
📄
boto_ssm.py
(3.65 KB)
📄
boto_vpc.py
(112.81 KB)
📄
bower.py
(5.89 KB)
📄
bridge.py
(10.86 KB)
📄
bsd_shadow.py
(6.92 KB)
📄
btrfs.py
(33.64 KB)
📄
cabal.py
(3.79 KB)
📄
capirca_acl.py
(40.04 KB)
📄
cassandra_cql.py
(39 KB)
📄
cassandra_mod.py
(3.97 KB)
📄
celery.py
(3.33 KB)
📄
ceph.py
(15.82 KB)
📄
chassis.py
(1.52 KB)
📄
chef.py
(4.66 KB)
📄
chocolatey.py
(39.34 KB)
📄
chronos.py
(2.89 KB)
📄
chroot.py
(11.51 KB)
📄
cimc.py
(23.02 KB)
📄
ciscoconfparse_mod.py
(14.79 KB)
📄
cisconso.py
(3.83 KB)
📄
cloud.py
(9.39 KB)
📄
cmdmod.py
(162.16 KB)
📄
composer.py
(10.31 KB)
📄
config.py
(16.85 KB)
📄
consul.py
(68.93 KB)
📄
container_resource.py
(13.36 KB)
📄
cp.py
(27.98 KB)
📄
cpan.py
(5.54 KB)
📄
cron.py
(26.8 KB)
📄
cryptdev.py
(10.08 KB)
📄
csf.py
(16.04 KB)
📄
cyg.py
(8.32 KB)
📄
daemontools.py
(5.41 KB)
📄
data.py
(3.83 KB)
📄
datadog_api.py
(7.64 KB)
📄
ddns.py
(7.04 KB)
📄
deb_apache.py
(7.41 KB)
📄
deb_postgres.py
(4.22 KB)
📄
debconfmod.py
(4.06 KB)
📄
debian_ip.py
(64.78 KB)
📄
debian_service.py
(6.6 KB)
📄
debuild_pkgbuild.py
(34.69 KB)
📄
defaults.py
(5.42 KB)
📄
devinfo.py
(9.05 KB)
📄
devmap.py
(627 B)
📄
dig.py
(7.45 KB)
📄
disk.py
(30.44 KB)
📄
djangomod.py
(7.53 KB)
📄
dnsmasq.py
(5.71 KB)
📄
dnsutil.py
(11.51 KB)
📄
dockercompose.py
(32.62 KB)
📄
dockermod.py
(224.97 KB)
📄
dpkg_lowpkg.py
(12.9 KB)
📄
drac.py
(10.97 KB)
📄
dracr.py
(38.53 KB)
📄
drbd.py
(7.19 KB)
📄
dummyproxy_pkg.py
(2.46 KB)
📄
dummyproxy_service.py
(2.91 KB)
📄
ebuildpkg.py
(38.74 KB)
📄
eix.py
(1.58 KB)
📄
elasticsearch.py
(51.44 KB)
📄
environ.py
(8.96 KB)
📄
eselect.py
(4.99 KB)
📄
esxcluster.py
(502 B)
📄
esxdatacenter.py
(514 B)
📄
esxi.py
(1.64 KB)
📄
esxvm.py
(481 B)
📄
etcd_mod.py
(7.02 KB)
📄
ethtool.py
(7.65 KB)
📄
event.py
(8.23 KB)
📄
extfs.py
(8.78 KB)
📄
file.py
(224.74 KB)
📄
firewalld.py
(20.51 KB)
📄
freebsd_sysctl.py
(4.76 KB)
📄
freebsd_update.py
(6.19 KB)
📄
freebsdjail.py
(7.16 KB)
📄
freebsdkmod.py
(6.17 KB)
📄
freebsdpkg.py
(17.04 KB)
📄
freebsdports.py
(13.13 KB)
📄
freebsdservice.py
(12.53 KB)
📄
freezer.py
(8.91 KB)
📄
gcp_addon.py
(4.07 KB)
📄
gem.py
(10.6 KB)
📄
genesis.py
(21.75 KB)
📄
gentoo_service.py
(9.18 KB)
📄
gentoolkitmod.py
(8.33 KB)
📄
git.py
(171.44 KB)
📄
github.py
(53.19 KB)
📄
glanceng.py
(4.69 KB)
📄
glassfish.py
(19.49 KB)
📄
glusterfs.py
(19.55 KB)
📄
gnomedesktop.py
(6.85 KB)
📄
google_chat.py
(1.52 KB)
📄
gpg.py
(39.99 KB)
📄
grafana4.py
(30.27 KB)
📄
grains.py
(23.67 KB)
📄
groupadd.py
(10.85 KB)
📄
grub_legacy.py
(3.08 KB)
📄
guestfs.py
(2.32 KB)
📄
hadoop.py
(3.76 KB)
📄
haproxyconn.py
(10.17 KB)
📄
hashutil.py
(6.77 KB)
📄
heat.py
(25.26 KB)
📄
helm.py
(39.27 KB)
📄
hg.py
(7.16 KB)
📄
highstate_doc.py
(22.76 KB)
📄
hosts.py
(10.47 KB)
📄
http.py
(3.75 KB)
📄
icinga2.py
(4.46 KB)
📄
idem.py
(1.75 KB)
📄
ifttt.py
(2.28 KB)
📄
ilo.py
(15.98 KB)
📄
incron.py
(7.68 KB)
📄
influxdb08mod.py
(15.07 KB)
📄
influxdbmod.py
(16.13 KB)
📄
infoblox.py
(17.53 KB)
📄
ini_manage.py
(14.63 KB)
📁
inspectlib
📄
inspector.py
(8.19 KB)
📄
introspect.py
(4.02 KB)
📄
iosconfig.py
(14.78 KB)
📄
ipmi.py
(25.45 KB)
📄
ipset.py
(17.97 KB)
📄
iptables.py
(57.33 KB)
📄
iwtools.py
(3.99 KB)
📄
jboss7.py
(20.51 KB)
📄
jboss7_cli.py
(15.23 KB)
📄
jenkinsmod.py
(11.9 KB)
📄
jinja.py
(2.66 KB)
📄
jira_mod.py
(7.07 KB)
📄
junos.py
(73.9 KB)
📄
k8s.py
(24.87 KB)
📄
kapacitor.py
(5.37 KB)
📄
kerberos.py
(5.42 KB)
📄
kernelpkg_linux_apt.py
(6.91 KB)
📄
kernelpkg_linux_yum.py
(7.46 KB)
📄
key.py
(1007 B)
📄
keyboard.py
(2.64 KB)
📄
keystone.py
(43.16 KB)
📄
keystoneng.py
(21.82 KB)
📄
keystore.py
(6.69 KB)
📄
kmod.py
(7.29 KB)
📄
kubeadm.py
(34.01 KB)
📄
kubernetesmod.py
(46.66 KB)
📄
launchctl_service.py
(9.73 KB)
📄
layman.py
(4.22 KB)
📄
ldap3.py
(18.81 KB)
📄
ldapmod.py
(5.9 KB)
📄
libcloud_compute.py
(23.51 KB)
📄
libcloud_dns.py
(9.76 KB)
📄
libcloud_loadbalancer.py
(13.17 KB)
📄
libcloud_storage.py
(12.19 KB)
📄
linux_acl.py
(7.7 KB)
📄
linux_ip.py
(5.44 KB)
📄
linux_lvm.py
(17.86 KB)
📄
linux_service.py
(4.64 KB)
📄
linux_shadow.py
(13.37 KB)
📄
linux_sysctl.py
(7.39 KB)
📄
localemod.py
(11.84 KB)
📄
locate.py
(2.58 KB)
📄
logadm.py
(9.57 KB)
📄
logmod.py
(1.24 KB)
📄
logrotate.py
(7.72 KB)
📄
lvs.py
(11.54 KB)
📄
lxc.py
(148.61 KB)
📄
lxd.py
(90.2 KB)
📄
mac_assistive.py
(6.36 KB)
📄
mac_brew_pkg.py
(19.82 KB)
📄
mac_desktop.py
(2.77 KB)
📄
mac_group.py
(6.34 KB)
📄
mac_keychain.py
(6.68 KB)
📄
mac_pkgutil.py
(2.84 KB)
📄
mac_portspkg.py
(11.36 KB)
📄
mac_power.py
(13.29 KB)
📄
mac_service.py
(19.64 KB)
📄
mac_shadow.py
(14.23 KB)
📄
mac_softwareupdate.py
(14.52 KB)
📄
mac_sysctl.py
(5.13 KB)
📄
mac_system.py
(15.2 KB)
📄
mac_timezone.py
(8.34 KB)
📄
mac_user.py
(16.36 KB)
📄
mac_xattr.py
(6.11 KB)
📄
macdefaults.py
(2.33 KB)
📄
macpackage.py
(6.94 KB)
📄
makeconf.py
(17.31 KB)
📄
mandrill.py
(6.31 KB)
📄
marathon.py
(5.36 KB)
📄
match.py
(10.28 KB)
📄
mattermost.py
(3.4 KB)
📄
mdadm_raid.py
(9.86 KB)
📄
mdata.py
(3.44 KB)
📄
memcached.py
(6.13 KB)
📄
mine.py
(18.79 KB)
📄
minion.py
(7.68 KB)
📄
mod_random.py
(6.72 KB)
📄
modjk.py
(12.48 KB)
📄
mongodb.py
(17.3 KB)
📄
monit.py
(5.51 KB)
📄
moosefs.py
(3.87 KB)
📄
mount.py
(56.18 KB)
📄
mssql.py
(14.64 KB)
📄
msteams.py
(2 KB)
📄
munin.py
(2.4 KB)
📄
mysql.py
(87.86 KB)
📄
nacl.py
(9.73 KB)
📄
nagios.py
(6.53 KB)
📄
nagios_rpc.py
(5.09 KB)
📄
namecheap_domains.py
(12.84 KB)
📄
namecheap_domains_dns.py
(5.93 KB)
📄
namecheap_domains_ns.py
(4.51 KB)
📄
namecheap_ssl.py
(25.72 KB)
📄
namecheap_users.py
(2.4 KB)
📄
napalm_bgp.py
(9.72 KB)
📄
napalm_formula.py
(11.33 KB)
📄
napalm_mod.py
(59.3 KB)
📄
napalm_netacl.py
(28.59 KB)
📄
napalm_network.py
(93.24 KB)
📄
napalm_ntp.py
(10.22 KB)
📄
napalm_probes.py
(13.25 KB)
📄
napalm_route.py
(5.09 KB)
📄
napalm_snmp.py
(7.05 KB)
📄
napalm_users.py
(6.49 KB)
📄
napalm_yang_mod.py
(20.28 KB)
📄
netaddress.py
(1.6 KB)
📄
netbox.py
(32.22 KB)
📄
netbsd_sysctl.py
(3.97 KB)
📄
netbsdservice.py
(6.49 KB)
📄
netmiko_mod.py
(19.63 KB)
📄
netscaler.py
(27.02 KB)
📄
network.py
(62.75 KB)
📄
neutron.py
(44.93 KB)
📄
neutronng.py
(15.02 KB)
📄
nexus.py
(22.95 KB)
📄
nfs3.py
(3.9 KB)
📄
nftables.py
(33.58 KB)
📄
nginx.py
(3.83 KB)
📄
nilrt_ip.py
(36.18 KB)
📄
nix.py
(8.03 KB)
📄
nova.py
(19.61 KB)
📄
npm.py
(10.35 KB)
📄
nspawn.py
(41.35 KB)
📄
nxos.py
(24.67 KB)
📄
nxos_api.py
(14.66 KB)
📄
nxos_upgrade.py
(14.74 KB)
📄
omapi.py
(3.6 KB)
📄
openbsd_sysctl.py
(3.74 KB)
📄
openbsdpkg.py
(11 KB)
📄
openbsdrcctl_service.py
(6.25 KB)
📄
openbsdservice.py
(8.31 KB)
📄
openscap.py
(2.81 KB)
📄
openstack_config.py
(3.5 KB)
📄
openstack_mng.py
(2.71 KB)
📄
openvswitch.py
(11.75 KB)
📄
opkg.py
(49.72 KB)
📄
opsgenie.py
(3.29 KB)
📄
oracle.py
(5.83 KB)
📄
osquery.py
(24.93 KB)
📄
out.py
(2.53 KB)
📄
pacmanpkg.py
(31.99 KB)
📄
pagerduty.py
(4.7 KB)
📄
pagerduty_util.py
(13.49 KB)
📄
pam.py
(2.01 KB)
📄
panos.py
(61.05 KB)
📄
parallels.py
(19.85 KB)
📄
parted_partition.py
(21.53 KB)
📄
pcs.py
(14.11 KB)
📄
pdbedit.py
(10.72 KB)
📄
pecl.py
(3.79 KB)
📄
peeringdb.py
(8.39 KB)
📄
pf.py
(9.51 KB)
📄
philips_hue.py
(1.55 KB)
📄
pillar.py
(21.29 KB)
📄
pip.py
(51.76 KB)
📄
pkg_resource.py
(11.89 KB)
📄
pkgin.py
(17.35 KB)
📄
pkgng.py
(61.1 KB)
📄
pkgutil.py
(9.88 KB)
📄
portage_config.py
(22.77 KB)
📄
postfix.py
(16.24 KB)
📄
postgres.py
(88.31 KB)
📄
poudriere.py
(7.85 KB)
📄
powerpath.py
(2.57 KB)
📄
proxy.py
(11.49 KB)
📄
ps.py
(19.45 KB)
📄
publish.py
(10.22 KB)
📄
puppet.py
(11.69 KB)
📄
purefa.py
(33.03 KB)
📄
purefb.py
(13.65 KB)
📄
pushbullet.py
(1.88 KB)
📄
pushover_notify.py
(3.48 KB)
📄
pw_group.py
(4.4 KB)
📄
pw_user.py
(12.47 KB)
📄
pyenv.py
(6.93 KB)
📄
qemu_img.py
(1.53 KB)
📄
qemu_nbd.py
(3.28 KB)
📄
quota.py
(6.43 KB)
📄
rabbitmq.py
(38.44 KB)
📄
rallydev.py
(6.09 KB)
📄
random_org.py
(23.76 KB)
📄
rbac_solaris.py
(16.15 KB)
📄
rbenv.py
(10.75 KB)
📄
rdp.py
(6.08 KB)
📄
rebootmgr.py
(7.66 KB)
📄
redismod.py
(16.36 KB)
📄
reg.py
(16.36 KB)
📄
rest_pkg.py
(2.26 KB)
📄
rest_sample_utils.py
(558 B)
📄
rest_service.py
(3.63 KB)
📄
restartcheck.py
(24.1 KB)
📄
ret.py
(1.27 KB)
📄
rh_ip.py
(38.01 KB)
📄
rh_service.py
(16.61 KB)
📄
riak.py
(5.19 KB)
📄
rpm_lowpkg.py
(27.61 KB)
📄
rpmbuild_pkgbuild.py
(24.53 KB)
📄
rsync.py
(8.04 KB)
📄
runit.py
(17.14 KB)
📄
rvm.py
(11.1 KB)
📄
s3.py
(9.93 KB)
📄
s6.py
(3.62 KB)
📄
salt_proxy.py
(4.48 KB)
📄
salt_version.py
(4.29 KB)
📄
saltcheck.py
(46.11 KB)
📄
saltcloudmod.py
(954 B)
📄
saltutil.py
(56.5 KB)
📄
schedule.py
(43.35 KB)
📄
scp_mod.py
(6.22 KB)
📄
scsi.py
(2.66 KB)
📄
sdb.py
(2.45 KB)
📄
seed.py
(8.87 KB)
📄
selinux.py
(23.83 KB)
📄
sensehat.py
(7.79 KB)
📄
sensors.py
(1.3 KB)
📄
serverdensity_device.py
(8.1 KB)
📄
servicenow.py
(4.38 KB)
📄
slack_notify.py
(7.83 KB)
📄
slackware_service.py
(6.89 KB)
📄
slsutil.py
(19.05 KB)
📄
smartos_imgadm.py
(12.09 KB)
📄
smartos_nictagadm.py
(6.51 KB)
📄
smartos_virt.py
(5.21 KB)
📄
smartos_vmadm.py
(26.37 KB)
📄
smbios.py
(10.06 KB)
📄
smf_service.py
(8.52 KB)
📄
smtp.py
(5.41 KB)
📄
snapper.py
(27.14 KB)
📄
solaris_fmadm.py
(11.27 KB)
📄
solaris_group.py
(2.8 KB)
📄
solaris_shadow.py
(7.98 KB)
📄
solaris_system.py
(3.72 KB)
📄
solaris_user.py
(11.06 KB)
📄
solarisipspkg.py
(18.7 KB)
📄
solarispkg.py
(15.42 KB)
📄
solr.py
(45.54 KB)
📄
solrcloud.py
(14.63 KB)
📄
splunk.py
(8.15 KB)
📄
splunk_search.py
(8.76 KB)
📄
sqlite3.py
(2.54 KB)
📄
ssh.py
(43.15 KB)
📄
ssh_pkg.py
(1.08 KB)
📄
ssh_service.py
(3.39 KB)
📄
state.py
(78.55 KB)
📄
status.py
(57.34 KB)
📄
statuspage.py
(14.67 KB)
📄
supervisord.py
(11.15 KB)
📄
suse_apache.py
(2.45 KB)
📄
svn.py
(10.75 KB)
📄
swarm.py
(13.5 KB)
📄
swift.py
(5.55 KB)
📄
sysbench.py
(6.62 KB)
📄
sysfs.py
(6.61 KB)
📄
syslog_ng.py
(31.55 KB)
📄
sysmod.py
(22.59 KB)
📄
sysrc.py
(3.38 KB)
📄
system.py
(19.28 KB)
📄
system_profiler.py
(3.54 KB)
📄
systemd_service.py
(46.19 KB)
📄
telegram.py
(3.28 KB)
📄
telemetry.py
(12.9 KB)
📄
temp.py
(831 B)
📄
test.py
(14.71 KB)
📄
test_virtual.py
(194 B)
📄
testinframod.py
(9.92 KB)
📄
textfsm_mod.py
(16.22 KB)
📄
timezone.py
(19.89 KB)
📄
tls.py
(58.68 KB)
📄
tomcat.py
(18.59 KB)
📄
trafficserver.py
(10.44 KB)
📄
transactional_update.py
(42 KB)
📄
travisci.py
(2.08 KB)
📄
tuned.py
(2.34 KB)
📄
twilio_notify.py
(2.95 KB)
📄
udev.py
(3.72 KB)
📄
upstart_service.py
(16.92 KB)
📄
uptime.py
(3.23 KB)
📄
useradd.py
(22.3 KB)
📄
uwsgi.py
(996 B)
📄
vagrant.py
(20.4 KB)
📄
varnish.py
(3.08 KB)
📄
vault.py
(13.48 KB)
📄
vbox_guest.py
(10.55 KB)
📄
vboxmanage.py
(14.72 KB)
📄
vcenter.py
(455 B)
📄
victorops.py
(6.54 KB)
📄
virt.py
(290.11 KB)
📄
virtualenv_mod.py
(15.08 KB)
📄
vmctl.py
(9.6 KB)
📄
vsphere.py
(376.7 KB)
📄
webutil.py
(3.66 KB)
📄
win_auditpol.py
(4.74 KB)
📄
win_autoruns.py
(2.29 KB)
📄
win_certutil.py
(3.27 KB)
📄
win_dacl.py
(32.27 KB)
📄
win_disk.py
(1.8 KB)
📄
win_dism.py
(18.26 KB)
📄
win_dns_client.py
(4.19 KB)
📄
win_dsc.py
(26.56 KB)
📄
win_file.py
(59.46 KB)
📄
win_firewall.py
(20.15 KB)
📄
win_groupadd.py
(11.27 KB)
📄
win_iis.py
(68.76 KB)
📄
win_ip.py
(11.43 KB)
📄
win_lgpo.py
(491.78 KB)
📄
win_license.py
(2.72 KB)
📄
win_network.py
(14.02 KB)
📄
win_ntp.py
(1.8 KB)
📄
win_path.py
(11.12 KB)
📄
win_pkg.py
(84.64 KB)
📄
win_pki.py
(15.8 KB)
📄
win_powercfg.py
(9.85 KB)
📄
win_psget.py
(8.97 KB)
📄
win_servermanager.py
(14.33 KB)
📄
win_service.py
(32.7 KB)
📄
win_shadow.py
(3.03 KB)
📄
win_smtp_server.py
(17.67 KB)
📄
win_snmp.py
(13.38 KB)
📄
win_status.py
(17.04 KB)
📄
win_system.py
(40.62 KB)
📄
win_task.py
(78.46 KB)
📄
win_timezone.py
(13.27 KB)
📄
win_useradd.py
(27.53 KB)
📄
win_wua.py
(38.29 KB)
📄
win_wusa.py
(5.88 KB)
📄
winrepo.py
(6.3 KB)
📄
wordpress.py
(4.71 KB)
📄
x509.py
(62.22 KB)
📄
xapi_virt.py
(24.08 KB)
📄
xbpspkg.py
(15.89 KB)
📄
xfs.py
(15.33 KB)
📄
xml.py
(2.14 KB)
📄
xmpp.py
(5.28 KB)
📄
yumpkg.py
(112.71 KB)
📄
zabbix.py
(94.11 KB)
📄
zcbuildout.py
(28.19 KB)
📄
zenoss.py
(5.64 KB)
📄
zfs.py
(34.49 KB)
📄
zk_concurrency.py
(11.19 KB)
📄
znc.py
(2.26 KB)
📄
zoneadm.py
(15.11 KB)
📄
zonecfg.py
(21.91 KB)
📄
zookeeper.py
(14.72 KB)
📄
zpool.py
(44.02 KB)
📄
zypperpkg.py
(90.34 KB)
Editing: netscaler.py
""" Module to provide Citrix Netscaler compatibility to Salt (compatible with netscaler 9.2+) .. versionadded:: 2015.2.0 :depends: - nsnitro Python module .. note:: You can install nsnitro using: .. code-block:: bash pip install nsnitro :configuration: This module accepts connection configuration details either as parameters, or as configuration settings in /etc/salt/minion on the relevant minions .. code-block:: yaml netscaler.host: 1.2.3.4 netscaler.user: user netscaler.pass: password This data can also be passed into pillar. Options passed into opts will overwrite options passed into pillar. CLI Examples: Calls relying on configuration passed using /etc/salt/minion, grains, or pillars: .. code-block:: bash salt-call netscaler.server_exists server_name Calls passing configuration as opts .. code-block:: bash salt-call netscaler.server_exists server_name netscaler_host=1.2.3.4 netscaler_user=username netscaler_pass=password salt-call netscaler.server_exists server_name netscaler_host=1.2.3.5 netscaler_user=username2 netscaler_pass=password2 salt-call netscaler.server_enable server_name2 netscaler_host=1.2.3.5 salt-call netscaler.server_up server_name3 netscaler_host=1.2.3.6 netscaler_useSSL=False """ import logging import salt.utils.platform try: from nsnitro.nsnitro import NSNitro from nsnitro.nsexceptions import NSNitroError from nsnitro.nsresources.nsserver import NSServer from nsnitro.nsresources.nsservice import NSService from nsnitro.nsresources.nsservicegroup import NSServiceGroup from nsnitro.nsresources.nsservicegroupserverbinding import ( NSServiceGroupServerBinding, ) from nsnitro.nsresources.nslbvserver import NSLBVServer from nsnitro.nsresources.nslbvserverservicegroupbinding import ( NSLBVServerServiceGroupBinding, ) from nsnitro.nsresources.nssslvserversslcertkeybinding import ( NSSSLVServerSSLCertKeyBinding, ) HAS_NSNITRO = True except ImportError: HAS_NSNITRO = False log = logging.getLogger(__name__) def __virtual__(): """ Only load this module if the nsnitro library is installed """ if salt.utils.platform.is_windows(): return ( False, "The netscaler execution module failed to load: not available on Windows.", ) if HAS_NSNITRO: return "netscaler" return ( False, "The netscaler execution module failed to load: the nsnitro python " "library is not available.", ) def _connect(**kwargs): """ Initialise netscaler connection """ connargs = dict() # Shamelessy ripped from the mysql module def __connarg(name, key=None, default=None): """ Add key to connargs, only if name exists in our kwargs or as netscaler.<name> in __opts__ or __pillar__ Evaluate in said order - kwargs, opts then pillar. To avoid collision with other functions, kwargs-based connection arguments are prefixed with 'netscaler_' (i.e. 'netscaler_host', 'netscaler_user', etc.). """ if key is None: key = name if name in kwargs: connargs[key] = kwargs[name] else: prefix = "netscaler_" if name.startswith(prefix): try: name = name[len(prefix) :] except IndexError: return val = __salt__["config.option"]("netscaler.{}".format(name), None) if val is not None: connargs[key] = val elif default is not None: connargs[key] = default __connarg("netscaler_host", "host") __connarg("netscaler_user", "user") __connarg("netscaler_pass", "pass") __connarg("netscaler_useSSL", "useSSL", True) nitro = NSNitro( connargs["host"], connargs["user"], connargs["pass"], connargs["useSSL"] ) try: nitro.login() except NSNitroError as error: log.debug("netscaler module error - NSNitro.login() failed: %s", error) return None return nitro def _disconnect(nitro): try: nitro.logout() except NSNitroError as error: log.debug("netscaler module error - NSNitro.logout() failed: %s", error) return None return nitro def _servicegroup_get(sg_name, **connection_args): """ Return a service group ressource or None """ nitro = _connect(**connection_args) if nitro is None: return None sg = NSServiceGroup() sg.set_servicegroupname(sg_name) try: sg = NSServiceGroup.get(nitro, sg) except NSNitroError as error: log.debug("netscaler module error - NSServiceGroup.get() failed: %s", error) sg = None _disconnect(nitro) return sg def _servicegroup_get_servers(sg_name, **connection_args): """ Returns a list of members of a servicegroup or None """ nitro = _connect(**connection_args) if nitro is None: return None sg = NSServiceGroup() sg.set_servicegroupname(sg_name) try: sg = NSServiceGroup.get_servers(nitro, sg) except NSNitroError as error: log.debug( "netscaler module error - NSServiceGroup.get_servers failed(): %s", error ) sg = None _disconnect(nitro) return sg def _servicegroup_get_server(sg_name, s_name, s_port=None, **connection_args): """ Returns a member of a service group or None """ ret = None servers = _servicegroup_get_servers(sg_name, **connection_args) if servers is None: return None for server in servers: if server.get_servername() == s_name: if s_port is not None and s_port != server.get_port(): ret = None ret = server return ret def servicegroup_exists(sg_name, sg_type=None, **connection_args): """ Checks if a service group exists CLI Example: .. code-block:: bash salt '*' netscaler.servicegroup_exists 'serviceGroupName' """ sg = _servicegroup_get(sg_name, **connection_args) if sg is None: return False if sg_type is not None and sg_type.upper() != sg.get_servicetype(): return False return True def servicegroup_add(sg_name, sg_type="HTTP", **connection_args): """ Add a new service group If no service type is specified, HTTP will be used. Most common service types: HTTP, SSL, and SSL_BRIDGE CLI Example: .. code-block:: bash salt '*' netscaler.servicegroup_add 'serviceGroupName' salt '*' netscaler.servicegroup_add 'serviceGroupName' 'serviceGroupType' """ ret = True if servicegroup_exists(sg_name): return False nitro = _connect(**connection_args) if nitro is None: return False sg = NSServiceGroup() sg.set_servicegroupname(sg_name) sg.set_servicetype(sg_type.upper()) try: NSServiceGroup.add(nitro, sg) except NSNitroError as error: log.debug("netscaler module error - NSServiceGroup.add() failed: %s", error) ret = False _disconnect(nitro) return ret def servicegroup_delete(sg_name, **connection_args): """ Delete a new service group CLI Example: .. code-block:: bash salt '*' netscaler.servicegroup_delete 'serviceGroupName' """ ret = True sg = _servicegroup_get(sg_name, **connection_args) if sg is None: return False nitro = _connect(**connection_args) if nitro is None: return False try: NSServiceGroup.delete(nitro, sg) except NSNitroError as error: log.debug("netscaler module error - NSServiceGroup.delete() failed: %s", error) ret = False _disconnect(nitro) return ret def servicegroup_server_exists(sg_name, s_name, s_port=None, **connection_args): """ Check if a server:port combination is a member of a servicegroup CLI Example: .. code-block:: bash salt '*' netscaler.servicegroup_server_exists 'serviceGroupName' 'serverName' 'serverPort' """ return ( _servicegroup_get_server(sg_name, s_name, s_port, **connection_args) is not None ) def servicegroup_server_up(sg_name, s_name, s_port, **connection_args): """ Check if a server:port combination is in state UP in a servicegroup CLI Example: .. code-block:: bash salt '*' netscaler.servicegroup_server_up 'serviceGroupName' 'serverName' 'serverPort' """ server = _servicegroup_get_server(sg_name, s_name, s_port, **connection_args) return server is not None and server.get_svrstate() == "UP" def servicegroup_server_enable(sg_name, s_name, s_port, **connection_args): """ Enable a server:port member of a servicegroup CLI Example: .. code-block:: bash salt '*' netscaler.servicegroup_server_enable 'serviceGroupName' 'serverName' 'serverPort' """ ret = True server = _servicegroup_get_server(sg_name, s_name, s_port, **connection_args) if server is None: return False nitro = _connect(**connection_args) if nitro is None: return False try: NSServiceGroup.enable_server(nitro, server) except NSNitroError as error: log.debug( "netscaler module error - NSServiceGroup.enable_server() failed: %s", error ) ret = False _disconnect(nitro) return ret def servicegroup_server_disable(sg_name, s_name, s_port, **connection_args): """ Disable a server:port member of a servicegroup CLI Example: .. code-block:: bash salt '*' netscaler.servicegroup_server_disable 'serviceGroupName' 'serverName' 'serverPort' """ ret = True server = _servicegroup_get_server(sg_name, s_name, s_port, **connection_args) if server is None: return False nitro = _connect(**connection_args) if nitro is None: return False try: NSServiceGroup.disable_server(nitro, server) except NSNitroError as error: log.debug( "netscaler module error - NSServiceGroup.disable_server() failed: %s", error ) ret = False _disconnect(nitro) return ret def servicegroup_server_add(sg_name, s_name, s_port, **connection_args): """ Add a server:port member to a servicegroup CLI Example: .. code-block:: bash salt '*' netscaler.servicegroup_server_add 'serviceGroupName' 'serverName' 'serverPort' """ # Nitro will throw an error if the server is already present ret = True server = _servicegroup_get_server(sg_name, s_name, s_port, **connection_args) if server is not None: return False nitro = _connect(**connection_args) if nitro is None: return False sgsb = NSServiceGroupServerBinding() sgsb.set_servicegroupname(sg_name) sgsb.set_servername(s_name) sgsb.set_port(s_port) try: NSServiceGroupServerBinding.add(nitro, sgsb) except NSNitroError as error: log.debug( "netscaler module error - NSServiceGroupServerBinding() failed: %s", error ) ret = False _disconnect(nitro) return ret def servicegroup_server_delete(sg_name, s_name, s_port, **connection_args): """ Remove a server:port member from a servicegroup CLI Example: .. code-block:: bash salt '*' netscaler.servicegroup_server_delete 'serviceGroupName' 'serverName' 'serverPort' """ # Nitro will throw an error if the server is already not present ret = True server = _servicegroup_get_server(sg_name, s_name, s_port, **connection_args) if server is None: return False nitro = _connect(**connection_args) if nitro is None: return False sgsb = NSServiceGroupServerBinding() sgsb.set_servicegroupname(sg_name) sgsb.set_servername(s_name) sgsb.set_port(s_port) try: NSServiceGroupServerBinding.delete(nitro, sgsb) except NSNitroError as error: log.debug( "netscaler module error - NSServiceGroupServerBinding() failed: %s", error ) ret = False _disconnect(nitro) return ret def _service_get(s_name, **connection_args): """ Returns a service ressource or None """ nitro = _connect(**connection_args) if nitro is None: return None service = NSService() service.set_name(s_name) try: service = NSService.get(nitro, service) except NSNitroError as error: log.debug("netscaler module error - NSService.get() failed: %s", error) service = None _disconnect(nitro) return service def service_exists(s_name, **connection_args): """ Checks if a service exists CLI Example: .. code-block:: bash salt '*' netscaler.service_exists 'serviceName' """ return _service_get(s_name, **connection_args) is not None def service_up(s_name, **connection_args): """ Checks if a service is UP CLI Example: .. code-block:: bash salt '*' netscaler.service_up 'serviceName' """ service = _service_get(s_name, **connection_args) return service is not None and service.get_svrstate() == "UP" def service_enable(s_name, **connection_args): """ Enable a service CLI Example: .. code-block:: bash salt '*' netscaler.service_enable 'serviceName' """ ret = True service = _service_get(s_name, **connection_args) if service is None: return False nitro = _connect(**connection_args) if nitro is None: return False try: NSService.enable(nitro, service) except NSNitroError as error: log.debug("netscaler module error - NSService.enable() failed: %s", error) ret = False _disconnect(nitro) return ret def service_disable(s_name, s_delay=None, **connection_args): """ Disable a service CLI Example: .. code-block:: bash salt '*' netscaler.service_disable 'serviceName' salt '*' netscaler.service_disable 'serviceName' 'delayInSeconds' """ ret = True service = _service_get(s_name, **connection_args) if service is None: return False if s_delay is not None: service.set_delay(s_delay) nitro = _connect(**connection_args) if nitro is None: return False try: NSService.disable(nitro, service) except NSNitroError as error: log.debug("netscaler module error - NSService.enable() failed: %s", error) ret = False _disconnect(nitro) return ret def _server_get(s_name, **connection_args): nitro = _connect(**connection_args) if nitro is None: return None server = NSServer() server.set_name(s_name) try: server = NSServer.get(nitro, server) except NSNitroError as error: log.debug("netscaler module error - NSServer.get() failed: %s", error) server = None _disconnect(nitro) return server def server_exists(s_name, ip=None, s_state=None, **connection_args): """ Checks if a server exists CLI Example: .. code-block:: bash salt '*' netscaler.server_exists 'serverName' """ server = _server_get(s_name, **connection_args) if server is None: return False if ip is not None and ip != server.get_ipaddress(): return False if s_state is not None and s_state.upper() != server.get_state(): return False return True def server_add(s_name, s_ip, s_state=None, **connection_args): """ Add a server Note: The default server state is ENABLED CLI Example: .. code-block:: bash salt '*' netscaler.server_add 'serverName' 'serverIpAddress' salt '*' netscaler.server_add 'serverName' 'serverIpAddress' 'serverState' """ ret = True if server_exists(s_name, **connection_args): return False nitro = _connect(**connection_args) if nitro is None: return False server = NSServer() server.set_name(s_name) server.set_ipaddress(s_ip) if s_state is not None: server.set_state(s_state) try: NSServer.add(nitro, server) except NSNitroError as error: log.debug("netscaler module error - NSServer.add() failed: %s", error) ret = False _disconnect(nitro) return ret def server_delete(s_name, **connection_args): """ Delete a server CLI Example: .. code-block:: bash salt '*' netscaler.server_delete 'serverName' """ ret = True server = _server_get(s_name, **connection_args) if server is None: return False nitro = _connect(**connection_args) if nitro is None: return False try: NSServer.delete(nitro, server) except NSNitroError as error: log.debug("netscaler module error - NSServer.delete() failed: %s", error) ret = False _disconnect(nitro) return ret def server_update(s_name, s_ip, **connection_args): """ Update a server's attributes CLI Example: .. code-block:: bash salt '*' netscaler.server_update 'serverName' 'serverIP' """ altered = False cur_server = _server_get(s_name, **connection_args) if cur_server is None: return False alt_server = NSServer() alt_server.set_name(s_name) if cur_server.get_ipaddress() != s_ip: alt_server.set_ipaddress(s_ip) altered = True # Nothing to update, the server is already idem if altered is False: return False # Perform the update nitro = _connect(**connection_args) if nitro is None: return False ret = True try: NSServer.update(nitro, alt_server) except NSNitroError as error: log.debug("netscaler module error - NSServer.update() failed: %s", error) ret = False _disconnect(nitro) return ret def server_enabled(s_name, **connection_args): """ Check if a server is enabled globally CLI Example: .. code-block:: bash salt '*' netscaler.server_enabled 'serverName' """ server = _server_get(s_name, **connection_args) return server is not None and server.get_state() == "ENABLED" def server_enable(s_name, **connection_args): """ Enables a server globally CLI Example: .. code-block:: bash salt '*' netscaler.server_enable 'serverName' """ ret = True server = _server_get(s_name, **connection_args) if server is None: return False if server.get_state() == "ENABLED": return True nitro = _connect(**connection_args) if nitro is None: return False try: NSServer.enable(nitro, server) except NSNitroError as error: log.debug("netscaler module error - NSServer.enable() failed: %s", error) ret = False _disconnect(nitro) return ret def server_disable(s_name, **connection_args): """ Disable a server globally CLI Example: .. code-block:: bash salt '*' netscaler.server_disable 'serverName' """ ret = True server = _server_get(s_name, **connection_args) if server is None: return False if server.get_state() == "DISABLED": return True nitro = _connect(**connection_args) if nitro is None: return False try: NSServer.disable(nitro, server) except NSNitroError as error: log.debug("netscaler module error - NSServer.disable() failed: %s", error) ret = False _disconnect(nitro) return ret def _vserver_get(v_name, **connection_args): nitro = _connect(**connection_args) vserver = NSLBVServer() vserver.set_name(v_name) if nitro is None: return None try: vserver = NSLBVServer.get(nitro, vserver) except NSNitroError as error: log.debug("netscaler module error - NSLBVServer.get() failed: %s", error) vserver = None _disconnect(nitro) return vserver def vserver_exists(v_name, v_ip=None, v_port=None, v_type=None, **connection_args): """ Checks if a vserver exists CLI Example: .. code-block:: bash salt '*' netscaler.vserver_exists 'vserverName' """ vserver = _vserver_get(v_name, **connection_args) if vserver is None: return False if v_ip is not None and vserver.get_ipv46() != v_ip: return False if v_port is not None and vserver.get_port() != v_port: return False if v_type is not None and vserver.get_servicetype().upper() != v_type.upper(): return False return True def vserver_add(v_name, v_ip, v_port, v_type, **connection_args): """ Add a new lb vserver CLI Example: .. code-block:: bash salt '*' netscaler.vserver_add 'vserverName' 'vserverIP' 'vserverPort' 'vserverType' salt '*' netscaler.vserver_add 'alex.patate.chaude.443' '1.2.3.4' '443' 'SSL' """ ret = True if vserver_exists(v_name, **connection_args): return False nitro = _connect(**connection_args) if nitro is None: return False vserver = NSLBVServer() vserver.set_name(v_name) vserver.set_ipv46(v_ip) vserver.set_port(v_port) vserver.set_servicetype(v_type.upper()) try: NSLBVServer.add(nitro, vserver) except NSNitroError as error: log.debug("netscaler module error - NSLBVServer.add() failed: %s", error) ret = False _disconnect(nitro) return ret def vserver_delete(v_name, **connection_args): """ Delete a lb vserver CLI Example: .. code-block:: bash salt '*' netscaler.vserver_delete 'vserverName' """ ret = True vserver = _vserver_get(v_name, **connection_args) if vserver is None: return False nitro = _connect(**connection_args) if nitro is None: return False try: NSLBVServer.delete(nitro, vserver) except NSNitroError as error: log.debug("netscaler module error - NSVServer.delete() failed: %s", error) ret = False _disconnect(nitro) return ret def _vserver_servicegroup_get(v_name, sg_name, **connection_args): ret = None nitro = _connect(**connection_args) if nitro is None: return None vsg = NSLBVServerServiceGroupBinding() vsg.set_name(v_name) try: vsgs = NSLBVServerServiceGroupBinding.get(nitro, vsg) except NSNitroError as error: log.debug( "netscaler module error - NSLBVServerServiceGroupBinding.get() failed: %s", error, ) return None for vsg in vsgs: if vsg.get_servicegroupname() == sg_name: ret = vsg _disconnect(nitro) return ret def vserver_servicegroup_exists(v_name, sg_name, **connection_args): """ Checks if a servicegroup is tied to a vserver CLI Example: .. code-block:: bash salt '*' netscaler.vserver_servicegroup_exists 'vserverName' 'serviceGroupName' """ return _vserver_servicegroup_get(v_name, sg_name, **connection_args) is not None def vserver_servicegroup_add(v_name, sg_name, **connection_args): """ Bind a servicegroup to a vserver CLI Example: .. code-block:: bash salt '*' netscaler.vserver_servicegroup_add 'vserverName' 'serviceGroupName' """ ret = True if vserver_servicegroup_exists(v_name, sg_name, **connection_args): return False nitro = _connect(**connection_args) if nitro is None: return False vsg = NSLBVServerServiceGroupBinding() vsg.set_name(v_name) vsg.set_servicegroupname(sg_name) try: NSLBVServerServiceGroupBinding.add(nitro, vsg) except NSNitroError as error: log.debug( "netscaler module error - NSLBVServerServiceGroupBinding.add() failed: %s", error, ) ret = False _disconnect(nitro) return ret def vserver_servicegroup_delete(v_name, sg_name, **connection_args): """ Unbind a servicegroup from a vserver CLI Example: .. code-block:: bash salt '*' netscaler.vserver_servicegroup_delete 'vserverName' 'serviceGroupName' """ ret = True if not vserver_servicegroup_exists(v_name, sg_name, **connection_args): return False nitro = _connect(**connection_args) if nitro is None: return False vsg = NSLBVServerServiceGroupBinding() vsg.set_name(v_name) vsg.set_servicegroupname(sg_name) try: NSLBVServerServiceGroupBinding.delete(nitro, vsg) except NSNitroError as error: log.debug( "netscaler module error - NSLBVServerServiceGroupBinding.delete()" " failed: %s", error, ) ret = False _disconnect(nitro) return ret def _vserver_sslcert_get(v_name, sc_name, **connection_args): ret = None nitro = _connect(**connection_args) if nitro is None: return None sslcert = NSSSLVServerSSLCertKeyBinding() sslcert.set_vservername(v_name) try: sslcerts = NSSSLVServerSSLCertKeyBinding.get(nitro, sslcert) except NSNitroError as error: log.debug( "netscaler module error - NSSSLVServerSSLCertKeyBinding.get() failed: %s", error, ) return None for sslcert in sslcerts: if sslcert.get_certkeyname() == sc_name: ret = sslcert return ret def vserver_sslcert_exists(v_name, sc_name, **connection_args): """ Checks if a SSL certificate is tied to a vserver CLI Example: .. code-block:: bash salt '*' netscaler.vserver_sslcert_exists 'vserverName' 'sslCertificateName' """ return _vserver_sslcert_get(v_name, sc_name, **connection_args) is not None def vserver_sslcert_add(v_name, sc_name, **connection_args): """ Binds a SSL certificate to a vserver CLI Example: .. code-block:: bash salt '*' netscaler.vserver_sslcert_add 'vserverName' 'sslCertificateName' """ ret = True if vserver_sslcert_exists(v_name, sc_name, **connection_args): return False nitro = _connect(**connection_args) if nitro is None: return False sslcert = NSSSLVServerSSLCertKeyBinding() sslcert.set_vservername(v_name) sslcert.set_certkeyname(sc_name) try: NSSSLVServerSSLCertKeyBinding.add(nitro, sslcert) except NSNitroError as error: log.debug( "netscaler module error - NSSSLVServerSSLCertKeyBinding.add() failed: %s", error, ) ret = False _disconnect(nitro) return ret def vserver_sslcert_delete(v_name, sc_name, **connection_args): """ Unbinds a SSL certificate from a vserver CLI Example: .. code-block:: bash salt '*' netscaler.vserver_sslcert_delete 'vserverName' 'sslCertificateName' """ ret = True if not vserver_sslcert_exists(v_name, sc_name, **connection_args): return False nitro = _connect(**connection_args) if nitro is None: return False sslcert = NSSSLVServerSSLCertKeyBinding() sslcert.set_vservername(v_name) sslcert.set_certkeyname(sc_name) try: NSSSLVServerSSLCertKeyBinding.delete(nitro, sslcert) except NSNitroError as error: log.debug( "netscaler module error - NSSSLVServerSSLCertKeyBinding.delete()" " failed: %s", error, ) ret = False _disconnect(nitro) return ret
Upload File
Create Folder