golden hour
/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules
⬆️ Go Up
Upload
File/Folder
Size
Actions
__init__.py
35 B
Del
OK
__pycache__
-
Del
OK
acme.py
12.74 KB
Del
OK
aix_group.py
4.12 KB
Del
OK
aix_shadow.py
1.93 KB
Del
OK
aixpkg.py
24.15 KB
Del
OK
aliases.py
5.07 KB
Del
OK
alternatives.py
5.71 KB
Del
OK
ansiblegate.py
19.51 KB
Del
OK
apache.py
12.47 KB
Del
OK
apcups.py
2.15 KB
Del
OK
apf.py
3.09 KB
Del
OK
apkpkg.py
16 KB
Del
OK
aptly.py
15.28 KB
Del
OK
aptpkg.py
116.64 KB
Del
OK
archive.py
48.63 KB
Del
OK
arista_pyeapi.py
22.06 KB
Del
OK
artifactory.py
24.78 KB
Del
OK
at.py
10.72 KB
Del
OK
at_solaris.py
8.51 KB
Del
OK
augeas_cfg.py
13.93 KB
Del
OK
aws_sqs.py
6.55 KB
Del
OK
azurearm_compute.py
20.8 KB
Del
OK
azurearm_dns.py
15.8 KB
Del
OK
azurearm_network.py
82.99 KB
Del
OK
azurearm_resource.py
35.75 KB
Del
OK
bamboohr.py
7.36 KB
Del
OK
baredoc.py
11.13 KB
Del
OK
bcache.py
28.97 KB
Del
OK
beacons.py
27.82 KB
Del
OK
bigip.py
69.11 KB
Del
OK
bluez_bluetooth.py
6.76 KB
Del
OK
boto3_elasticache.py
37.34 KB
Del
OK
boto3_elasticsearch.py
53.17 KB
Del
OK
boto3_route53.py
39.82 KB
Del
OK
boto3_sns.py
12.93 KB
Del
OK
boto_apigateway.py
61.86 KB
Del
OK
boto_asg.py
35.69 KB
Del
OK
boto_cfn.py
7.95 KB
Del
OK
boto_cloudfront.py
12.75 KB
Del
OK
boto_cloudtrail.py
14.45 KB
Del
OK
boto_cloudwatch.py
10.99 KB
Del
OK
boto_cloudwatch_event.py
9.48 KB
Del
OK
boto_cognitoidentity.py
14.63 KB
Del
OK
boto_datapipeline.py
6.94 KB
Del
OK
boto_dynamodb.py
14.98 KB
Del
OK
boto_ec2.py
79.27 KB
Del
OK
boto_efs.py
14.05 KB
Del
OK
boto_elasticache.py
23.69 KB
Del
OK
boto_elasticsearch_domain.py
15.85 KB
Del
OK
boto_elb.py
35.53 KB
Del
OK
boto_elbv2.py
10.78 KB
Del
OK
boto_iam.py
75.62 KB
Del
OK
boto_iot.py
26.2 KB
Del
OK
boto_kinesis.py
19.62 KB
Del
OK
boto_kms.py
17.29 KB
Del
OK
boto_lambda.py
35.05 KB
Del
OK
boto_rds.py
34.92 KB
Del
OK
boto_route53.py
32.55 KB
Del
OK
boto_s3.py
4.24 KB
Del
OK
boto_s3_bucket.py
31.8 KB
Del
OK
boto_secgroup.py
25.22 KB
Del
OK
boto_sns.py
7.22 KB
Del
OK
boto_sqs.py
6.43 KB
Del
OK
boto_ssm.py
3.63 KB
Del
OK
boto_vpc.py
113.08 KB
Del
OK
bower.py
5.85 KB
Del
OK
bridge.py
10.81 KB
Del
OK
bsd_shadow.py
6.25 KB
Del
OK
btrfs.py
33.66 KB
Del
OK
cabal.py
3.79 KB
Del
OK
capirca_acl.py
40.04 KB
Del
OK
cassandra_cql.py
54.16 KB
Del
OK
cassandra_mod.py
4.3 KB
Del
OK
celery.py
3.33 KB
Del
OK
ceph.py
15.82 KB
Del
OK
chassis.py
1.52 KB
Del
OK
chef.py
4.66 KB
Del
OK
chocolatey.py
41.55 KB
Del
OK
chronos.py
2.89 KB
Del
OK
chroot.py
11.73 KB
Del
OK
cimc.py
23.02 KB
Del
OK
ciscoconfparse_mod.py
14.79 KB
Del
OK
cisconso.py
3.83 KB
Del
OK
cloud.py
9.39 KB
Del
OK
cmdmod.py
163.73 KB
Del
OK
composer.py
10.31 KB
Del
OK
config.py
16.98 KB
Del
OK
consul.py
69.3 KB
Del
OK
container_resource.py
12.94 KB
Del
OK
cp.py
31.98 KB
Del
OK
cpan.py
5.54 KB
Del
OK
cron.py
28.09 KB
Del
OK
cryptdev.py
10.08 KB
Del
OK
csf.py
16.04 KB
Del
OK
cyg.py
8.32 KB
Del
OK
daemontools.py
5.41 KB
Del
OK
data.py
3.85 KB
Del
OK
datadog_api.py
7.76 KB
Del
OK
ddns.py
7.12 KB
Del
OK
deb_apache.py
7.41 KB
Del
OK
deb_postgres.py
4.18 KB
Del
OK
debconfmod.py
4.06 KB
Del
OK
debian_ip.py
64.91 KB
Del
OK
debian_service.py
6.55 KB
Del
OK
debuild_pkgbuild.py
34.68 KB
Del
OK
defaults.py
6.55 KB
Del
OK
devinfo.py
9.07 KB
Del
OK
devmap.py
627 B
Del
OK
dig.py
8.75 KB
Del
OK
disk.py
30.82 KB
Del
OK
djangomod.py
7.53 KB
Del
OK
dnsmasq.py
5.71 KB
Del
OK
dnsutil.py
11.51 KB
Del
OK
dockercompose.py
32.62 KB
Del
OK
dockermod.py
224.85 KB
Del
OK
dpkg_lowpkg.py
12.94 KB
Del
OK
drac.py
10.97 KB
Del
OK
dracr.py
38.53 KB
Del
OK
drbd.py
7.19 KB
Del
OK
dummyproxy_pkg.py
2.46 KB
Del
OK
dummyproxy_service.py
2.91 KB
Del
OK
ebuildpkg.py
38.74 KB
Del
OK
eix.py
1.58 KB
Del
OK
elasticsearch.py
51.44 KB
Del
OK
environ.py
8.96 KB
Del
OK
eselect.py
4.99 KB
Del
OK
esxcluster.py
1.66 KB
Del
OK
esxdatacenter.py
1.68 KB
Del
OK
esxi.py
2.79 KB
Del
OK
esxvm.py
1.63 KB
Del
OK
etcd_mod.py
8.56 KB
Del
OK
ethtool.py
11.12 KB
Del
OK
event.py
7.67 KB
Del
OK
extfs.py
8.78 KB
Del
OK
file.py
232.18 KB
Del
OK
firewalld.py
20.51 KB
Del
OK
freebsd_sysctl.py
4.99 KB
Del
OK
freebsd_update.py
6.19 KB
Del
OK
freebsdjail.py
7.16 KB
Del
OK
freebsdkmod.py
6.17 KB
Del
OK
freebsdpkg.py
17.04 KB
Del
OK
freebsdports.py
13.13 KB
Del
OK
freebsdservice.py
12.53 KB
Del
OK
freezer.py
10.2 KB
Del
OK
gcp_addon.py
4.07 KB
Del
OK
gem.py
10.6 KB
Del
OK
genesis.py
21.75 KB
Del
OK
gentoo_service.py
9.18 KB
Del
OK
gentoolkitmod.py
8.39 KB
Del
OK
git.py
172.01 KB
Del
OK
github.py
53.19 KB
Del
OK
glanceng.py
4.69 KB
Del
OK
glassfish.py
19.49 KB
Del
OK
glusterfs.py
19.55 KB
Del
OK
gnomedesktop.py
6.85 KB
Del
OK
google_chat.py
1.52 KB
Del
OK
gpg.py
39.09 KB
Del
OK
grafana4.py
30.27 KB
Del
OK
grains.py
21.81 KB
Del
OK
groupadd.py
11.87 KB
Del
OK
grub_legacy.py
3.08 KB
Del
OK
guestfs.py
2.37 KB
Del
OK
hadoop.py
3.76 KB
Del
OK
haproxyconn.py
10.17 KB
Del
OK
hashutil.py
6.77 KB
Del
OK
heat.py
25.25 KB
Del
OK
helm.py
39.27 KB
Del
OK
hg.py
7.16 KB
Del
OK
highstate_doc.py
22.76 KB
Del
OK
hosts.py
10.47 KB
Del
OK
http.py
3.76 KB
Del
OK
icinga2.py
4.46 KB
Del
OK
idem.py
1.75 KB
Del
OK
ifttt.py
2.28 KB
Del
OK
ilo.py
15.98 KB
Del
OK
incron.py
7.68 KB
Del
OK
influxdb08mod.py
15.07 KB
Del
OK
influxdbmod.py
16.13 KB
Del
OK
infoblox.py
17.53 KB
Del
OK
ini_manage.py
14.63 KB
Del
OK
inspectlib
-
Del
OK
inspector.py
8.19 KB
Del
OK
introspect.py
4.02 KB
Del
OK
iosconfig.py
14.78 KB
Del
OK
ipmi.py
25.47 KB
Del
OK
ipset.py
17.97 KB
Del
OK
iptables.py
57.44 KB
Del
OK
iwtools.py
3.99 KB
Del
OK
jboss7.py
20.51 KB
Del
OK
jboss7_cli.py
15.23 KB
Del
OK
jenkinsmod.py
11.9 KB
Del
OK
jinja.py
2.66 KB
Del
OK
jira_mod.py
7.07 KB
Del
OK
junos.py
73.96 KB
Del
OK
k8s.py
24.87 KB
Del
OK
kapacitor.py
5.37 KB
Del
OK
kerberos.py
5.42 KB
Del
OK
kernelpkg_linux_apt.py
6.71 KB
Del
OK
kernelpkg_linux_yum.py
7.26 KB
Del
OK
key.py
1007 B
Del
OK
keyboard.py
2.64 KB
Del
OK
keystone.py
43.14 KB
Del
OK
keystoneng.py
21.82 KB
Del
OK
keystore.py
7.18 KB
Del
OK
kmod.py
7.65 KB
Del
OK
kubeadm.py
34.64 KB
Del
OK
kubernetesmod.py
46.77 KB
Del
OK
launchctl_service.py
9.69 KB
Del
OK
layman.py
4.22 KB
Del
OK
ldap3.py
18.81 KB
Del
OK
ldapmod.py
5.9 KB
Del
OK
libcloud_compute.py
23.48 KB
Del
OK
libcloud_dns.py
9.73 KB
Del
OK
libcloud_loadbalancer.py
13.14 KB
Del
OK
libcloud_storage.py
12.16 KB
Del
OK
linux_acl.py
7.7 KB
Del
OK
linux_ip.py
5.55 KB
Del
OK
linux_lvm.py
17.86 KB
Del
OK
linux_service.py
4.64 KB
Del
OK
linux_shadow.py
12.96 KB
Del
OK
linux_sysctl.py
7.5 KB
Del
OK
localemod.py
11.84 KB
Del
OK
locate.py
2.58 KB
Del
OK
logadm.py
9.44 KB
Del
OK
logmod.py
1.25 KB
Del
OK
logrotate.py
7.72 KB
Del
OK
lvs.py
11.54 KB
Del
OK
lxc.py
147.27 KB
Del
OK
lxd.py
90.07 KB
Del
OK
mac_assistive.py
11.37 KB
Del
OK
mac_brew_pkg.py
19.91 KB
Del
OK
mac_desktop.py
2.77 KB
Del
OK
mac_group.py
6.62 KB
Del
OK
mac_keychain.py
6.39 KB
Del
OK
mac_pkgutil.py
2.84 KB
Del
OK
mac_portspkg.py
11.36 KB
Del
OK
mac_power.py
13.29 KB
Del
OK
mac_service.py
19.64 KB
Del
OK
mac_shadow.py
14.23 KB
Del
OK
mac_softwareupdate.py
14.52 KB
Del
OK
mac_sysctl.py
5.13 KB
Del
OK
mac_system.py
15.07 KB
Del
OK
mac_timezone.py
8.34 KB
Del
OK
mac_user.py
16.41 KB
Del
OK
mac_xattr.py
6.27 KB
Del
OK
macdefaults.py
2.33 KB
Del
OK
macpackage.py
6.66 KB
Del
OK
makeconf.py
17.31 KB
Del
OK
mandrill.py
6.31 KB
Del
OK
marathon.py
5.36 KB
Del
OK
match.py
13 KB
Del
OK
mattermost.py
3.4 KB
Del
OK
mdadm_raid.py
9.86 KB
Del
OK
mdata.py
3.38 KB
Del
OK
memcached.py
6.13 KB
Del
OK
mine.py
18.84 KB
Del
OK
minion.py
7.68 KB
Del
OK
mod_random.py
7.18 KB
Del
OK
modjk.py
12.48 KB
Del
OK
mongodb.py
29.75 KB
Del
OK
monit.py
5.51 KB
Del
OK
moosefs.py
3.87 KB
Del
OK
mount.py
58.44 KB
Del
OK
mssql.py
14.64 KB
Del
OK
msteams.py
2.11 KB
Del
OK
munin.py
2.4 KB
Del
OK
mysql.py
90.66 KB
Del
OK
nacl.py
9.72 KB
Del
OK
nagios.py
6.53 KB
Del
OK
nagios_rpc.py
5.09 KB
Del
OK
namecheap_domains.py
12.84 KB
Del
OK
namecheap_domains_dns.py
5.93 KB
Del
OK
namecheap_domains_ns.py
4.51 KB
Del
OK
namecheap_ssl.py
25.69 KB
Del
OK
namecheap_users.py
2.4 KB
Del
OK
napalm_bgp.py
9.72 KB
Del
OK
napalm_formula.py
11.33 KB
Del
OK
napalm_mod.py
61.37 KB
Del
OK
napalm_netacl.py
28.59 KB
Del
OK
napalm_network.py
93.22 KB
Del
OK
napalm_ntp.py
10.22 KB
Del
OK
napalm_probes.py
13.25 KB
Del
OK
napalm_route.py
5.09 KB
Del
OK
napalm_snmp.py
7.05 KB
Del
OK
napalm_users.py
6.49 KB
Del
OK
napalm_yang_mod.py
20.28 KB
Del
OK
netaddress.py
1.6 KB
Del
OK
netbox.py
32.22 KB
Del
OK
netbsd_sysctl.py
3.92 KB
Del
OK
netbsdservice.py
6.43 KB
Del
OK
netmiko_mod.py
19.61 KB
Del
OK
netscaler.py
27.02 KB
Del
OK
network.py
63.42 KB
Del
OK
neutron.py
44.92 KB
Del
OK
neutronng.py
15.02 KB
Del
OK
nexus.py
22.95 KB
Del
OK
nfs3.py
3.9 KB
Del
OK
nftables.py
33.58 KB
Del
OK
nginx.py
3.83 KB
Del
OK
nilrt_ip.py
36.18 KB
Del
OK
nix.py
8.03 KB
Del
OK
nova.py
19.6 KB
Del
OK
npm.py
10.4 KB
Del
OK
nspawn.py
41.35 KB
Del
OK
nxos.py
24.65 KB
Del
OK
nxos_api.py
14.72 KB
Del
OK
nxos_upgrade.py
14.74 KB
Del
OK
omapi.py
3.6 KB
Del
OK
openbsd_sysctl.py
3.74 KB
Del
OK
openbsdpkg.py
10.97 KB
Del
OK
openbsdrcctl_service.py
6.33 KB
Del
OK
openbsdservice.py
8.31 KB
Del
OK
openscap.py
2.81 KB
Del
OK
openstack_config.py
3.21 KB
Del
OK
openstack_mng.py
2.71 KB
Del
OK
openvswitch.py
17.19 KB
Del
OK
opkg.py
49.67 KB
Del
OK
opsgenie.py
3.29 KB
Del
OK
oracle.py
5.82 KB
Del
OK
osquery.py
24.93 KB
Del
OK
out.py
2.53 KB
Del
OK
pacmanpkg.py
31.92 KB
Del
OK
pagerduty.py
4.7 KB
Del
OK
pagerduty_util.py
13.48 KB
Del
OK
pam.py
2.01 KB
Del
OK
panos.py
61.05 KB
Del
OK
parallels.py
19.85 KB
Del
OK
parted_partition.py
21.53 KB
Del
OK
pcs.py
14.11 KB
Del
OK
pdbedit.py
10.79 KB
Del
OK
pecl.py
3.79 KB
Del
OK
peeringdb.py
8.39 KB
Del
OK
pf.py
9.51 KB
Del
OK
philips_hue.py
1.55 KB
Del
OK
pillar.py
21.37 KB
Del
OK
pip.py
53.42 KB
Del
OK
pkg_resource.py
12.3 KB
Del
OK
pkgin.py
17.29 KB
Del
OK
pkgng.py
61.07 KB
Del
OK
pkgutil.py
9.85 KB
Del
OK
portage_config.py
22.73 KB
Del
OK
postfix.py
16.24 KB
Del
OK
postgres.py
88.24 KB
Del
OK
poudriere.py
7.85 KB
Del
OK
powerpath.py
2.57 KB
Del
OK
proxy.py
11.49 KB
Del
OK
ps.py
20.89 KB
Del
OK
publish.py
10.25 KB
Del
OK
puppet.py
10.9 KB
Del
OK
purefa.py
33.59 KB
Del
OK
purefb.py
13.69 KB
Del
OK
pushbullet.py
1.88 KB
Del
OK
pushover_notify.py
3.48 KB
Del
OK
pw_group.py
4.62 KB
Del
OK
pw_user.py
12.47 KB
Del
OK
pyenv.py
6.93 KB
Del
OK
qemu_img.py
1.53 KB
Del
OK
qemu_nbd.py
3.28 KB
Del
OK
quota.py
6.43 KB
Del
OK
rabbitmq.py
38.4 KB
Del
OK
rallydev.py
6.09 KB
Del
OK
random_org.py
23.76 KB
Del
OK
rbac_solaris.py
16.05 KB
Del
OK
rbenv.py
10.75 KB
Del
OK
rdp.py
6.08 KB
Del
OK
rebootmgr.py
7.68 KB
Del
OK
redismod.py
16.36 KB
Del
OK
reg.py
16.36 KB
Del
OK
rest_pkg.py
2.26 KB
Del
OK
rest_sample_utils.py
558 B
Del
OK
rest_service.py
3.63 KB
Del
OK
restartcheck.py
24.1 KB
Del
OK
restconf.py
3.15 KB
Del
OK
ret.py
1.27 KB
Del
OK
rh_ip.py
38.55 KB
Del
OK
rh_service.py
16.61 KB
Del
OK
riak.py
5.19 KB
Del
OK
rpm_lowpkg.py
27.67 KB
Del
OK
rpmbuild_pkgbuild.py
24.53 KB
Del
OK
rsync.py
8.04 KB
Del
OK
runit.py
17.17 KB
Del
OK
rvm.py
11.1 KB
Del
OK
s3.py
9.93 KB
Del
OK
s6.py
3.62 KB
Del
OK
salt_proxy.py
4.48 KB
Del
OK
salt_version.py
4.58 KB
Del
OK
saltcheck.py
46.66 KB
Del
OK
saltcloudmod.py
954 B
Del
OK
saltutil.py
57.49 KB
Del
OK
schedule.py
50.81 KB
Del
OK
scp_mod.py
6.22 KB
Del
OK
scsi.py
2.66 KB
Del
OK
sdb.py
2.48 KB
Del
OK
seed.py
8.87 KB
Del
OK
selinux.py
24.2 KB
Del
OK
sensehat.py
7.79 KB
Del
OK
sensors.py
1.3 KB
Del
OK
serverdensity_device.py
8.1 KB
Del
OK
servicenow.py
4.36 KB
Del
OK
slack_notify.py
7.83 KB
Del
OK
slackware_service.py
6.84 KB
Del
OK
slsutil.py
19.04 KB
Del
OK
smartos_imgadm.py
12.04 KB
Del
OK
smartos_nictagadm.py
6.46 KB
Del
OK
smartos_virt.py
5.21 KB
Del
OK
smartos_vmadm.py
26.2 KB
Del
OK
smbios.py
10.05 KB
Del
OK
smf_service.py
8.52 KB
Del
OK
smtp.py
5.41 KB
Del
OK
snapper.py
27.14 KB
Del
OK
solaris_fmadm.py
11.2 KB
Del
OK
solaris_group.py
2.8 KB
Del
OK
solaris_shadow.py
7.98 KB
Del
OK
solaris_system.py
3.72 KB
Del
OK
solaris_user.py
11.06 KB
Del
OK
solarisipspkg.py
18.68 KB
Del
OK
solarispkg.py
15.4 KB
Del
OK
solr.py
45.54 KB
Del
OK
solrcloud.py
14.63 KB
Del
OK
splunk.py
8.14 KB
Del
OK
splunk_search.py
8.76 KB
Del
OK
sqlite3.py
2.54 KB
Del
OK
ssh.py
43.89 KB
Del
OK
ssh_pkg.py
1.08 KB
Del
OK
ssh_service.py
3.39 KB
Del
OK
state.py
82.34 KB
Del
OK
status.py
57.79 KB
Del
OK
statuspage.py
14.67 KB
Del
OK
supervisord.py
11.15 KB
Del
OK
suse_apache.py
2.45 KB
Del
OK
suse_ip.py
35.72 KB
Del
OK
svn.py
10.75 KB
Del
OK
swarm.py
13.5 KB
Del
OK
swift.py
5.53 KB
Del
OK
sysbench.py
6.62 KB
Del
OK
sysfs.py
6.61 KB
Del
OK
syslog_ng.py
31.52 KB
Del
OK
sysmod.py
22.59 KB
Del
OK
sysrc.py
3.38 KB
Del
OK
system.py
19.28 KB
Del
OK
system_profiler.py
3.54 KB
Del
OK
systemd_service.py
46.29 KB
Del
OK
telegram.py
3.28 KB
Del
OK
telemetry.py
12.87 KB
Del
OK
temp.py
831 B
Del
OK
test.py
15.4 KB
Del
OK
test_virtual.py
237 B
Del
OK
testinframod.py
9.92 KB
Del
OK
textfsm_mod.py
16.22 KB
Del
OK
timezone.py
19.98 KB
Del
OK
tls.py
58.63 KB
Del
OK
tomcat.py
18.59 KB
Del
OK
trafficserver.py
10.44 KB
Del
OK
transactional_update.py
35.83 KB
Del
OK
travisci.py
2.05 KB
Del
OK
tuned.py
2.34 KB
Del
OK
twilio_notify.py
2.95 KB
Del
OK
udev.py
3.72 KB
Del
OK
upstart_service.py
16.92 KB
Del
OK
uptime.py
3.23 KB
Del
OK
useradd.py
22.63 KB
Del
OK
uwsgi.py
996 B
Del
OK
vagrant.py
20.4 KB
Del
OK
varnish.py
3.08 KB
Del
OK
vault.py
15.61 KB
Del
OK
vbox_guest.py
10.55 KB
Del
OK
vboxmanage.py
14.71 KB
Del
OK
vcenter.py
1.61 KB
Del
OK
victorops.py
6.54 KB
Del
OK
virt.py
287.71 KB
Del
OK
virtualenv_mod.py
15.09 KB
Del
OK
vmctl.py
9.56 KB
Del
OK
vsphere.py
380.41 KB
Del
OK
webutil.py
3.66 KB
Del
OK
win_auditpol.py
4.74 KB
Del
OK
win_autoruns.py
2.29 KB
Del
OK
win_certutil.py
4.55 KB
Del
OK
win_dacl.py
32.27 KB
Del
OK
win_disk.py
1.8 KB
Del
OK
win_dism.py
20.7 KB
Del
OK
win_dns_client.py
4.19 KB
Del
OK
win_dsc.py
27.54 KB
Del
OK
win_event.py
22.32 KB
Del
OK
win_file.py
64.39 KB
Del
OK
win_firewall.py
20.15 KB
Del
OK
win_groupadd.py
11.27 KB
Del
OK
win_iis.py
68.78 KB
Del
OK
win_ip.py
11.43 KB
Del
OK
win_lgpo.py
491.76 KB
Del
OK
win_lgpo_reg.py
17.9 KB
Del
OK
win_license.py
2.72 KB
Del
OK
win_network.py
13.9 KB
Del
OK
win_ntp.py
1.8 KB
Del
OK
win_path.py
11.12 KB
Del
OK
win_pkg.py
86.43 KB
Del
OK
win_pki.py
15.8 KB
Del
OK
win_powercfg.py
9.85 KB
Del
OK
win_psget.py
8.97 KB
Del
OK
win_servermanager.py
14.21 KB
Del
OK
win_service.py
32.96 KB
Del
OK
win_shadow.py
3.03 KB
Del
OK
win_shortcut.py
16.49 KB
Del
OK
win_smtp_server.py
17.67 KB
Del
OK
win_snmp.py
13.38 KB
Del
OK
win_status.py
16.94 KB
Del
OK
win_system.py
40.61 KB
Del
OK
win_task.py
79.17 KB
Del
OK
win_timezone.py
13.3 KB
Del
OK
win_useradd.py
27.39 KB
Del
OK
win_wua.py
38.29 KB
Del
OK
win_wusa.py
5.88 KB
Del
OK
winrepo.py
6.09 KB
Del
OK
wordpress.py
4.71 KB
Del
OK
x509.py
63.1 KB
Del
OK
x509_v2.py
74.15 KB
Del
OK
xapi_virt.py
24.07 KB
Del
OK
xbpspkg.py
15.84 KB
Del
OK
xfs.py
15.35 KB
Del
OK
xml.py
2.14 KB
Del
OK
xmpp.py
5.28 KB
Del
OK
yaml.py
1.94 KB
Del
OK
yumpkg.py
116.5 KB
Del
OK
zabbix.py
97.55 KB
Del
OK
zcbuildout.py
28.16 KB
Del
OK
zenoss.py
5.64 KB
Del
OK
zfs.py
34.44 KB
Del
OK
zk_concurrency.py
11.16 KB
Del
OK
znc.py
2.26 KB
Del
OK
zoneadm.py
15.05 KB
Del
OK
zonecfg.py
21.85 KB
Del
OK
zookeeper.py
14.72 KB
Del
OK
zpool.py
44.02 KB
Del
OK
zypperpkg.py
94.87 KB
Del
OK
Edit: elasticsearch.py
""" Elasticsearch - A distributed RESTful search and analytics server Module to provide Elasticsearch compatibility to Salt (compatible with Elasticsearch version 1.5.2+) .. versionadded:: 2015.8.0 :depends: `elasticsearch-py <http://elasticsearch-py.readthedocs.org/en/latest/>`_ :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 elasticsearch: host: '10.10.10.100:9200' elasticsearch-cluster: hosts: - '10.10.10.100:9200' - '10.10.10.101:9200' - '10.10.10.102:9200' elasticsearch-extra: hosts: - '10.10.10.100:9200' use_ssl: True verify_certs: True ca_certs: /path/to/custom_ca_bundle.pem number_of_shards: 1 number_of_replicas: 0 functions_blacklist: - 'saltutil.find_job' - 'pillar.items' - 'grains.items' proxies: - http: http://proxy:3128 - https: http://proxy:1080 When specifying proxies the requests backend will be used and the 'proxies' data structure is passed as-is to that module. This data can also be passed into pillar. Options passed into opts will overwrite options passed into pillar. Some functionality might be limited by elasticsearch-py and Elasticsearch server versions. """ import logging from salt.exceptions import CommandExecutionError, SaltInvocationError log = logging.getLogger(__name__) try: import elasticsearch # pylint: disable=no-name-in-module from elasticsearch import RequestsHttpConnection # pylint: enable=no-name-in-module logging.getLogger("elasticsearch").setLevel(logging.CRITICAL) HAS_ELASTICSEARCH = True except ImportError: HAS_ELASTICSEARCH = False def __virtual__(): """ Only load if elasticsearch libraries exist. """ if not HAS_ELASTICSEARCH: return ( False, "Cannot load module elasticsearch: elasticsearch libraries not found", ) return True def _get_instance(hosts=None, profile=None): """ Return the elasticsearch instance """ es = None proxies = None use_ssl = False ca_certs = None verify_certs = True http_auth = None timeout = 10 if profile is None: profile = "elasticsearch" if isinstance(profile, str): _profile = __salt__["config.option"](profile, None) elif isinstance(profile, dict): _profile = profile if _profile: hosts = _profile.get("host", hosts) if not hosts: hosts = _profile.get("hosts", hosts) proxies = _profile.get("proxies", None) use_ssl = _profile.get("use_ssl", False) ca_certs = _profile.get("ca_certs", None) verify_certs = _profile.get("verify_certs", True) username = _profile.get("username", None) password = _profile.get("password", None) timeout = _profile.get("timeout", 10) if username and password: http_auth = (username, password) if not hosts: hosts = ["127.0.0.1:9200"] if isinstance(hosts, str): hosts = [hosts] try: if proxies: # Custom connection class to use requests module with proxies class ProxyConnection(RequestsHttpConnection): def __init__(self, *args, **kwargs): proxies = kwargs.pop("proxies", {}) super().__init__(*args, **kwargs) self.session.proxies = proxies es = elasticsearch.Elasticsearch( hosts, connection_class=ProxyConnection, proxies=proxies, use_ssl=use_ssl, ca_certs=ca_certs, verify_certs=verify_certs, http_auth=http_auth, timeout=timeout, ) else: es = elasticsearch.Elasticsearch( hosts, use_ssl=use_ssl, ca_certs=ca_certs, verify_certs=verify_certs, http_auth=http_auth, timeout=timeout, ) # Try the connection es.info() except elasticsearch.exceptions.TransportError as err: raise CommandExecutionError( "Could not connect to Elasticsearch host/ cluster {} due to {}".format( hosts, err ) ) return es def ping(allow_failure=False, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Test connection to Elasticsearch instance. This method does not fail if not explicitly specified. allow_failure Throw exception if ping fails CLI Example: .. code-block:: bash salt myminion elasticsearch.ping allow_failure=True salt myminion elasticsearch.ping profile=elasticsearch-extra """ try: _get_instance(hosts, profile) except CommandExecutionError as e: if allow_failure: raise return False return True def info(hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Return Elasticsearch information. CLI Example: .. code-block:: bash salt myminion elasticsearch.info salt myminion elasticsearch.info profile=elasticsearch-extra """ es = _get_instance(hosts, profile) try: return es.info() except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve server information, server returned code {} with" " message {}".format(e.status_code, e.error) ) def node_info(nodes=None, flat_settings=False, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Return Elasticsearch node information. nodes List of cluster nodes (id or name) to display stats for. Use _local for connected node, empty for all flat_settings Flatten settings keys CLI Example: .. code-block:: bash salt myminion elasticsearch.node_info flat_settings=True """ es = _get_instance(hosts, profile) try: return es.nodes.info(node_id=nodes, flat_settings=flat_settings) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve node information, server returned code {} with message {}".format( e.status_code, e.error ) ) def cluster_health(index=None, level="cluster", local=False, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Return Elasticsearch cluster health. index Limit the information returned to a specific index level Specify the level of detail for returned information, default 'cluster', valid choices are: 'cluster', 'indices', 'shards' local Return local information, do not retrieve the state from master node CLI Example: .. code-block:: bash salt myminion elasticsearch.cluster_health """ es = _get_instance(hosts, profile) try: return es.cluster.health(index=index, level=level, local=local) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve health information, server returned code {} with" " message {}".format(e.status_code, e.error) ) def cluster_stats(nodes=None, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Return Elasticsearch cluster stats. nodes List of cluster nodes (id or name) to display stats for. Use _local for connected node, empty for all CLI Example: .. code-block:: bash salt myminion elasticsearch.cluster_stats """ es = _get_instance(hosts, profile) try: return es.cluster.stats(node_id=nodes) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve cluster stats, server returned code {} with message {}".format( e.status_code, e.error ) ) def cluster_get_settings( flat_settings=False, include_defaults=False, hosts=None, profile=None ): """ .. versionadded:: 3000 Return Elasticsearch cluster settings. flat_settings Return settings in flat format. include_defaults Whether to return all default clusters setting. CLI Example: .. code-block:: bash salt myminion elasticsearch.cluster_get_settings """ es = _get_instance(hosts, profile) try: return es.cluster.get_settings( flat_settings=flat_settings, include_defaults=include_defaults ) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve cluster settings, server returned code {} with message {}".format( e.status_code, e.error ) ) def cluster_put_settings(body=None, flat_settings=False, hosts=None, profile=None): """ .. versionadded:: 3000 Set Elasticsearch cluster settings. body The settings to be updated. Can be either 'transient' or 'persistent' (survives cluster restart) http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html flat_settings Return settings in flat format. CLI Example: .. code-block:: bash salt myminion elasticsearch.cluster_put_settings '{"persistent": {"indices.recovery.max_bytes_per_sec": "50mb"}}' salt myminion elasticsearch.cluster_put_settings '{"transient": {"indices.recovery.max_bytes_per_sec": "50mb"}}' """ if not body: message = "You must provide a body with settings" raise SaltInvocationError(message) es = _get_instance(hosts, profile) try: return es.cluster.put_settings(body=body, flat_settings=flat_settings) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot update cluster settings, server returned code {} with message {}".format( e.status_code, e.error ) ) def alias_create(indices, alias, hosts=None, body=None, profile=None, source=None): """ Create an alias for a specific index/indices indices Single or multiple indices separated by comma, use _all to perform the operation on all indices. alias Alias name body Optional definition such as routing or filter as defined in https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html source URL of file specifying optional definition such as routing or filter. Cannot be used in combination with ``body``. CLI Example: .. code-block:: bash salt myminion elasticsearch.alias_create testindex_v1 testindex """ es = _get_instance(hosts, profile) if source and body: message = "Either body or source should be specified but not both." raise SaltInvocationError(message) if source: body = __salt__["cp.get_file_str"]( source, saltenv=__opts__.get("saltenv", "base") ) try: result = es.indices.put_alias(index=indices, name=alias, body=body) return result.get("acknowledged", False) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot create alias {} in index {}, server returned code {} with" " message {}".format(alias, indices, e.status_code, e.error) ) def alias_delete(indices, aliases, hosts=None, body=None, profile=None, source=None): """ Delete an alias of an index indices Single or multiple indices separated by comma, use _all to perform the operation on all indices. aliases Alias names separated by comma CLI Example: .. code-block:: bash salt myminion elasticsearch.alias_delete testindex_v1 testindex """ es = _get_instance(hosts, profile) if source and body: message = "Either body or source should be specified but not both." raise SaltInvocationError(message) if source: body = __salt__["cp.get_file_str"]( source, saltenv=__opts__.get("saltenv", "base") ) try: result = es.indices.delete_alias(index=indices, name=aliases) return result.get("acknowledged", False) except elasticsearch.exceptions.NotFoundError: return True except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot delete alias {} in index {}, server returned code {} with" " message {}".format(aliases, indices, e.status_code, e.error) ) def alias_exists(aliases, indices=None, hosts=None, profile=None): """ Return a boolean indicating whether given alias exists indices Single or multiple indices separated by comma, use _all to perform the operation on all indices. aliases Alias names separated by comma CLI Example: .. code-block:: bash salt myminion elasticsearch.alias_exists None testindex """ es = _get_instance(hosts, profile) try: return es.indices.exists_alias(name=aliases, index=indices) except elasticsearch.exceptions.NotFoundError: return False except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot get alias {} in index {}, server returned code {} with message {}".format( aliases, indices, e.status_code, e.error ) ) def alias_get(indices=None, aliases=None, hosts=None, profile=None): """ Check for the existence of an alias and if it exists, return it indices Single or multiple indices separated by comma, use _all to perform the operation on all indices. aliases Alias names separated by comma CLI Example: .. code-block:: bash salt myminion elasticsearch.alias_get testindex """ es = _get_instance(hosts, profile) try: return es.indices.get_alias(index=indices, name=aliases) except elasticsearch.exceptions.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot get alias {} in index {}, server returned code {} with message {}".format( aliases, indices, e.status_code, e.error ) ) def document_create( index, doc_type, body=None, id=None, hosts=None, profile=None, source=None ): """ Create a document in a specified index index Index name where the document should reside doc_type Type of the document body Document to store source URL of file specifying document to store. Cannot be used in combination with ``body``. id Optional unique document identifier for specified doc_type (empty for random) CLI Example: .. code-block:: bash salt myminion elasticsearch.document_create testindex doctype1 '{}' """ es = _get_instance(hosts, profile) if source and body: message = "Either body or source should be specified but not both." raise SaltInvocationError(message) if source: body = __salt__["cp.get_file_str"]( source, saltenv=__opts__.get("saltenv", "base") ) try: return es.index(index=index, doc_type=doc_type, body=body, id=id) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot create document in index {}, server returned code {} with" " message {}".format(index, e.status_code, e.error) ) def document_delete(index, doc_type, id, hosts=None, profile=None): """ Delete a document from an index index Index name where the document resides doc_type Type of the document id Document identifier CLI Example: .. code-block:: bash salt myminion elasticsearch.document_delete testindex doctype1 AUx-384m0Bug_8U80wQZ """ es = _get_instance(hosts, profile) try: return es.delete(index=index, doc_type=doc_type, id=id) except elasticsearch.exceptions.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot delete document {} in index {}, server returned code {} with" " message {}".format(id, index, e.status_code, e.error) ) def document_exists(index, id, doc_type="_all", hosts=None, profile=None): """ Return a boolean indicating whether given document exists index Index name where the document resides id Document identifier doc_type Type of the document, use _all to fetch the first document matching the ID across all types CLI Example: .. code-block:: bash salt myminion elasticsearch.document_exists testindex AUx-384m0Bug_8U80wQZ """ es = _get_instance(hosts, profile) try: return es.exists(index=index, id=id, doc_type=doc_type) except elasticsearch.exceptions.NotFoundError: return False except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve document {} from index {}, server returned code {} with" " message {}".format(id, index, e.status_code, e.error) ) def document_get(index, id, doc_type="_all", hosts=None, profile=None): """ Check for the existence of a document and if it exists, return it index Index name where the document resides id Document identifier doc_type Type of the document, use _all to fetch the first document matching the ID across all types CLI Example: .. code-block:: bash salt myminion elasticsearch.document_get testindex AUx-384m0Bug_8U80wQZ """ es = _get_instance(hosts, profile) try: return es.get(index=index, id=id, doc_type=doc_type) except elasticsearch.exceptions.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve document {} from index {}, server returned code {} with" " message {}".format(id, index, e.status_code, e.error) ) def index_create(index, body=None, hosts=None, profile=None, source=None): """ Create an index index Index name body Index definition, such as settings and mappings as defined in https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html source URL to file specifying index definition. Cannot be used in combination with ``body``. CLI Example: .. code-block:: bash salt myminion elasticsearch.index_create testindex salt myminion elasticsearch.index_create testindex2 '{"settings" : {"index" : {"number_of_shards" : 3, "number_of_replicas" : 2}}}' """ es = _get_instance(hosts, profile) if source and body: message = "Either body or source should be specified but not both." raise SaltInvocationError(message) if source: body = __salt__["cp.get_file_str"]( source, saltenv=__opts__.get("saltenv", "base") ) try: result = es.indices.create(index=index, body=body) return result.get("acknowledged", False) and result.get( "shards_acknowledged", True ) except elasticsearch.TransportError as e: if "index_already_exists_exception" == e.error: return True raise CommandExecutionError( "Cannot create index {}, server returned code {} with message {}".format( index, e.status_code, e.error ) ) def index_delete(index, hosts=None, profile=None): """ Delete an index index Index name CLI Example: .. code-block:: bash salt myminion elasticsearch.index_delete testindex """ es = _get_instance(hosts, profile) try: result = es.indices.delete(index=index) return result.get("acknowledged", False) except elasticsearch.exceptions.NotFoundError: return True except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot delete index {}, server returned code {} with message {}".format( index, e.status_code, e.error ) ) def index_exists(index, hosts=None, profile=None): """ Return a boolean indicating whether given index exists index Index name CLI Example: .. code-block:: bash salt myminion elasticsearch.index_exists testindex """ es = _get_instance(hosts, profile) try: return es.indices.exists(index=index) except elasticsearch.exceptions.NotFoundError: return False except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve index {}, server returned code {} with message {}".format( index, e.status_code, e.error ) ) def index_get(index, hosts=None, profile=None): """ Check for the existence of an index and if it exists, return it index Index name CLI Example: .. code-block:: bash salt myminion elasticsearch.index_get testindex """ es = _get_instance(hosts, profile) try: return es.indices.get(index=index) except elasticsearch.exceptions.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve index {}, server returned code {} with message {}".format( index, e.status_code, e.error ) ) def index_open( index, allow_no_indices=True, expand_wildcards="closed", ignore_unavailable=True, hosts=None, profile=None, ): """ .. versionadded:: 2017.7.0 Open specified index. index Index to be opened allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes _all string or when no indices have been specified) expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both., default ‘closed’, valid choices are: ‘open’, ‘closed’, ‘none’, ‘all’ ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed) CLI Example: .. code-block:: bash salt myminion elasticsearch.index_open testindex """ es = _get_instance(hosts, profile) try: result = es.indices.open( index=index, allow_no_indices=allow_no_indices, expand_wildcards=expand_wildcards, ignore_unavailable=ignore_unavailable, ) return result.get("acknowledged", False) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot open index {}, server returned code {} with message {}".format( index, e.status_code, e.error ) ) def index_close( index, allow_no_indices=True, expand_wildcards="open", ignore_unavailable=True, hosts=None, profile=None, ): """ .. versionadded:: 2017.7.0 Close specified index. index Index to be closed allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes _all string or when no indices have been specified) expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both., default ‘open’, valid choices are: ‘open’, ‘closed’, ‘none’, ‘all’ ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed) CLI Example: .. code-block:: bash salt myminion elasticsearch.index_close testindex """ es = _get_instance(hosts, profile) try: result = es.indices.close( index=index, allow_no_indices=allow_no_indices, expand_wildcards=expand_wildcards, ignore_unavailable=ignore_unavailable, ) return result.get("acknowledged", False) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot close index {}, server returned code {} with message {}".format( index, e.status_code, e.error ) ) def index_get_settings(hosts=None, profile=None, **kwargs): """ .. versionadded:: 3000 Check for the existence of an index and if it exists, return its settings http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-settings.html index (Optional, string) A comma-separated list of index names; use _all or empty string for all indices. Defaults to '_all'. name (Optional, string) The name of the settings that should be included allow_no_indices (Optional, boolean) Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes _all string or when no indices have been specified) expand_wildcards (Optional, string) Whether to expand wildcard expression to concrete indices that are open, closed or both. Valid choices are: ‘open’, ‘closed’, ‘none’, ‘all’ flat_settings (Optional, boolean) Return settings in flat format ignore_unavailable (Optional, boolean) Whether specified concrete indices should be ignored when unavailable (missing or closed) include_defaults (Optional, boolean) Whether to return all default setting for each of the indices. local (Optional, boolean) Return local information, do not retrieve the state from master node The defaults settings for the above parameters depend on the API version being used. CLI Example: .. code-block:: bash salt myminion elasticsearch.index_get_settings index=testindex """ es = _get_instance(hosts, profile) # Filtering Salt internal keys filtered_kwargs = kwargs.copy() for k in kwargs: if k.startswith("__"): filtered_kwargs.pop(k) try: return es.indices.get_settings(**filtered_kwargs) except elasticsearch.exceptions.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve index settings {}, server returned code {} with message {}".format( kwargs, e.status_code, e.error ) ) def index_put_settings(body=None, hosts=None, profile=None, source=None, **kwargs): """ .. versionadded:: 3000 Update existing index settings https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html body The index settings to be updated. source URL to file specifying index definition. Cannot be used in combination with ``body``. index (Optional, string) A comma-separated list of index names; use _all or empty string to perform the operation on all indices allow_no_indices (Optional, boolean) Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes _all string or when no indices have been specified) expand_wildcards (Optional, string) Whether to expand wildcard expression to concrete indices that are open, closed or both. Valid choices are: ‘open’, ‘closed’, ‘none’, ‘all’ flat_settings (Optional, boolean) Return settings in flat format (default: false) ignore_unavailable (Optional, boolean) Whether specified concrete indices should be ignored when unavailable (missing or closed) master_timeout (Optional, time units) Explicit operation timeout for connection to master node preserve_existing (Optional, boolean) Whether to update existing settings. If set to true existing settings on an index remain unchanged, the default is false The defaults settings for the above parameters depend on the API version being used. .. note:: Elasticsearch time units can be found here: https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#time-units CLI Example: .. code-block:: bash salt myminion elasticsearch.index_put_settings index=testindex body='{"settings" : {"index" : {"number_of_replicas" : 2}}}' """ es = _get_instance(hosts, profile) if source and body: message = "Either body or source should be specified but not both." raise SaltInvocationError(message) if source: body = __salt__["cp.get_file_str"]( source, saltenv=__opts__.get("saltenv", "base") ) # Filtering Salt internal keys filtered_kwargs = kwargs.copy() for k in kwargs: if k.startswith("__"): filtered_kwargs.pop(k) try: result = es.indices.put_settings(body=body, **filtered_kwargs) return result.get("acknowledged", False) except elasticsearch.exceptions.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot update index settings {}, server returned code {} with message {}".format( kwargs, e.status_code, e.error ) ) def mapping_create(index, doc_type, body=None, hosts=None, profile=None, source=None): """ Create a mapping in a given index index Index for the mapping doc_type Name of the document type body Mapping definition as specified in https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html source URL to file specifying mapping definition. Cannot be used in combination with ``body``. CLI Example: .. code-block:: bash salt myminion elasticsearch.mapping_create testindex user '{ "user" : { "properties" : { "message" : {"type" : "string", "store" : true } } } }' """ es = _get_instance(hosts, profile) if source and body: message = "Either body or source should be specified but not both." raise SaltInvocationError(message) if source: body = __salt__["cp.get_file_str"]( source, saltenv=__opts__.get("saltenv", "base") ) try: result = es.indices.put_mapping(index=index, doc_type=doc_type, body=body) return result.get("acknowledged", False) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot create mapping {}, server returned code {} with message {}".format( index, e.status_code, e.error ) ) def mapping_delete(index, doc_type, hosts=None, profile=None): """ Delete a mapping (type) along with its data. As of Elasticsearch 5.0 this is no longer available. index Index for the mapping doc_type Name of the document type CLI Example: .. code-block:: bash salt myminion elasticsearch.mapping_delete testindex user """ es = _get_instance(hosts, profile) try: result = es.indices.delete_mapping(index=index, doc_type=doc_type) return result.get("acknowledged", False) except elasticsearch.exceptions.NotFoundError: return True except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot delete mapping {}, server returned code {} with message {}".format( index, e.status_code, e.error ) ) except AttributeError: raise CommandExecutionError("Method is not applicable for Elasticsearch 5.0+") def mapping_get(index, doc_type, hosts=None, profile=None): """ Retrieve mapping definition of index or index/type index Index for the mapping doc_type Name of the document type CLI Example: .. code-block:: bash salt myminion elasticsearch.mapping_get testindex user """ es = _get_instance(hosts, profile) try: return es.indices.get_mapping(index=index, doc_type=doc_type) except elasticsearch.exceptions.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve mapping {}, server returned code {} with message {}".format( index, e.status_code, e.error ) ) def index_template_create(name, body=None, hosts=None, profile=None, source=None): """ Create an index template name Index template name body Template definition as specified in http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html source URL to file specifying template definition. Cannot be used in combination with ``body``. CLI Example: .. code-block:: bash salt myminion elasticsearch.index_template_create testindex_templ '{ "template": "logstash-*", "order": 1, "settings": { "number_of_shards": 1 } }' """ es = _get_instance(hosts, profile) if source and body: message = "Either body or source should be specified but not both." raise SaltInvocationError(message) if source: body = __salt__["cp.get_file_str"]( source, saltenv=__opts__.get("saltenv", "base") ) try: result = es.indices.put_template(name=name, body=body) return result.get("acknowledged", False) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot create template {}, server returned code {} with message {}".format( name, e.status_code, e.error ) ) def index_template_delete(name, hosts=None, profile=None): """ Delete an index template (type) along with its data name Index template name CLI Example: .. code-block:: bash salt myminion elasticsearch.index_template_delete testindex_templ user """ es = _get_instance(hosts, profile) try: result = es.indices.delete_template(name=name) return result.get("acknowledged", False) except elasticsearch.exceptions.NotFoundError: return True except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot delete template {}, server returned code {} with message {}".format( name, e.status_code, e.error ) ) def index_template_exists(name, hosts=None, profile=None): """ Return a boolean indicating whether given index template exists name Index template name CLI Example: .. code-block:: bash salt myminion elasticsearch.index_template_exists testindex_templ """ es = _get_instance(hosts, profile) try: return es.indices.exists_template(name=name) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve template {}, server returned code {} with message {}".format( name, e.status_code, e.error ) ) def index_template_get(name, hosts=None, profile=None): """ Retrieve template definition of index or index/type name Index template name CLI Example: .. code-block:: bash salt myminion elasticsearch.index_template_get testindex_templ """ es = _get_instance(hosts, profile) try: return es.indices.get_template(name=name) except elasticsearch.exceptions.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot retrieve template {}, server returned code {} with message {}".format( name, e.status_code, e.error ) ) def pipeline_get(id, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Retrieve Ingest pipeline definition. Available since Elasticsearch 5.0. id Pipeline id CLI Example: .. code-block:: bash salt myminion elasticsearch.pipeline_get mypipeline """ es = _get_instance(hosts, profile) try: return es.ingest.get_pipeline(id=id) except elasticsearch.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot create pipeline {}, server returned code {} with message {}".format( id, e.status_code, e.error ) ) except AttributeError: raise CommandExecutionError("Method is applicable only for Elasticsearch 5.0+") def pipeline_delete(id, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Delete Ingest pipeline. Available since Elasticsearch 5.0. id Pipeline id CLI Example: .. code-block:: bash salt myminion elasticsearch.pipeline_delete mypipeline """ es = _get_instance(hosts, profile) try: ret = es.ingest.delete_pipeline(id=id) return ret.get("acknowledged", False) except elasticsearch.NotFoundError: return True except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot delete pipeline {}, server returned code {} with message {}".format( id, e.status_code, e.error ) ) except AttributeError: raise CommandExecutionError("Method is applicable only for Elasticsearch 5.0+") def pipeline_create(id, body, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Create Ingest pipeline by supplied definition. Available since Elasticsearch 5.0. id Pipeline id body Pipeline definition as specified in https://www.elastic.co/guide/en/elasticsearch/reference/master/pipeline.html CLI Example: .. code-block:: bash salt myminion elasticsearch.pipeline_create mypipeline '{"description": "my custom pipeline", "processors": [{"set" : {"field": "collector_timestamp_millis", "value": "{{_ingest.timestamp}}"}}]}' """ es = _get_instance(hosts, profile) try: out = es.ingest.put_pipeline(id=id, body=body) return out.get("acknowledged", False) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot create pipeline {}, server returned code {} with message {}".format( id, e.status_code, e.error ) ) except AttributeError: raise CommandExecutionError("Method is applicable only for Elasticsearch 5.0+") def pipeline_simulate(id, body, verbose=False, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Simulate existing Ingest pipeline on provided data. Available since Elasticsearch 5.0. id Pipeline id body Pipeline definition as specified in https://www.elastic.co/guide/en/elasticsearch/reference/master/pipeline.html verbose Specify if the output should be more verbose CLI Example: .. code-block:: bash salt myminion elasticsearch.pipeline_simulate mypipeline '{"docs":[{"_index":"index","_type":"type","_id":"id","_source":{"foo":"bar"}},{"_index":"index","_type":"type","_id":"id","_source":{"foo":"rab"}}]}' verbose=True """ es = _get_instance(hosts, profile) try: return es.ingest.simulate(id=id, body=body, verbose=verbose) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot simulate pipeline {}, server returned code {} with message {}".format( id, e.status_code, e.error ) ) except AttributeError: raise CommandExecutionError("Method is applicable only for Elasticsearch 5.0+") def search_template_get(id, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Obtain existing search template definition. id Template ID CLI Example: .. code-block:: bash salt myminion elasticsearch.search_template_get mytemplate """ es = _get_instance(hosts, profile) try: return es.get_template(id=id) except elasticsearch.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot obtain search template {}, server returned code {} with message {}".format( id, e.status_code, e.error ) ) def search_template_create(id, body, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Create search template by supplied definition id Template ID body Search template definition CLI Example: .. code-block:: bash salt myminion elasticsearch.search_template_create mytemplate '{"template":{"query":{"match":{"title":"{{query_string}}"}}}}' """ es = _get_instance(hosts, profile) try: result = es.put_template(id=id, body=body) return result.get("acknowledged", False) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot create search template {}, server returned code {} with message {}".format( id, e.status_code, e.error ) ) def search_template_delete(id, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Delete existing search template definition. id Template ID CLI Example: .. code-block:: bash salt myminion elasticsearch.search_template_delete mytemplate """ es = _get_instance(hosts, profile) try: result = es.delete_template(id=id) return result.get("acknowledged", False) except elasticsearch.NotFoundError: return True except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot delete search template {}, server returned code {} with message {}".format( id, e.status_code, e.error ) ) def repository_get(name, local=False, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Get existing repository details. name Repository name local Retrieve only local information, default is false CLI Example: .. code-block:: bash salt myminion elasticsearch.repository_get testrepo """ es = _get_instance(hosts, profile) try: return es.snapshot.get_repository(repository=name, local=local) except elasticsearch.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot obtain repository {}, server returned code {} with message {}".format( name, e.status_code, e.error ) ) def repository_create(name, body, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Create repository for storing snapshots. Note that shared repository paths have to be specified in path.repo Elasticsearch configuration option. name Repository name body Repository definition as in https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html CLI Example: .. code-block:: bash salt myminion elasticsearch.repository_create testrepo '{"type":"fs","settings":{"location":"/tmp/test","compress":true}}' """ es = _get_instance(hosts, profile) try: result = es.snapshot.create_repository(repository=name, body=body) return result.get("acknowledged", False) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot create repository {}, server returned code {} with message {}".format( name, e.status_code, e.error ) ) def repository_delete(name, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Delete existing repository. name Repository name CLI Example: .. code-block:: bash salt myminion elasticsearch.repository_delete testrepo """ es = _get_instance(hosts, profile) try: result = es.snapshot.delete_repository(repository=name) return result.get("acknowledged", False) except elasticsearch.NotFoundError: return True except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot delete repository {}, server returned code {} with message {}".format( name, e.status_code, e.error ) ) def repository_verify(name, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Obtain list of cluster nodes which successfully verified this repository. name Repository name CLI Example: .. code-block:: bash salt myminion elasticsearch.repository_verify testrepo """ es = _get_instance(hosts, profile) try: return es.snapshot.verify_repository(repository=name) except elasticsearch.NotFoundError: return None except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot verify repository {}, server returned code {} with message {}".format( name, e.status_code, e.error ) ) def snapshot_status( repository=None, snapshot=None, ignore_unavailable=False, hosts=None, profile=None ): """ .. versionadded:: 2017.7.0 Obtain status of all currently running snapshots. repository Particular repository to look for snapshots snapshot Snapshot name ignore_unavailable Ignore unavailable snapshots CLI Example: .. code-block:: bash salt myminion elasticsearch.snapshot_status ignore_unavailable=True """ es = _get_instance(hosts, profile) try: return es.snapshot.status( repository=repository, snapshot=snapshot, ignore_unavailable=ignore_unavailable, ) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot obtain snapshot status, server returned code {} with message {}".format( e.status_code, e.error ) ) def snapshot_get( repository, snapshot, ignore_unavailable=False, hosts=None, profile=None ): """ .. versionadded:: 2017.7.0 Obtain snapshot residing in specified repository. repository Repository name snapshot Snapshot name, use _all to obtain all snapshots in specified repository ignore_unavailable Ignore unavailable snapshots CLI Example: .. code-block:: bash salt myminion elasticsearch.snapshot_get testrepo testsnapshot """ es = _get_instance(hosts, profile) try: return es.snapshot.get( repository=repository, snapshot=snapshot, ignore_unavailable=ignore_unavailable, ) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot obtain details of snapshot {} in repository {}, server returned" " code {} with message {}".format( snapshot, repository, e.status_code, e.error ) ) def snapshot_create(repository, snapshot, body=None, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Create snapshot in specified repository by supplied definition. repository Repository name snapshot Snapshot name body Snapshot definition as in https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html CLI Example: .. code-block:: bash salt myminion elasticsearch.snapshot_create testrepo testsnapshot '{"indices":"index_1,index_2","ignore_unavailable":true,"include_global_state":false}' """ es = _get_instance(hosts, profile) try: response = es.snapshot.create( repository=repository, snapshot=snapshot, body=body ) return response.get("accepted", False) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot create snapshot {} in repository {}, server returned code {} with" " message {}".format(snapshot, repository, e.status_code, e.error) ) def snapshot_restore(repository, snapshot, body=None, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Restore existing snapshot in specified repository by supplied definition. repository Repository name snapshot Snapshot name body Restore definition as in https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html CLI Example: .. code-block:: bash salt myminion elasticsearch.snapshot_restore testrepo testsnapshot '{"indices":"index_1,index_2","ignore_unavailable":true,"include_global_state":true}' """ es = _get_instance(hosts, profile) try: response = es.snapshot.restore( repository=repository, snapshot=snapshot, body=body ) return response.get("accepted", False) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot restore snapshot {} in repository {}, server returned code {} with" " message {}".format(snapshot, repository, e.status_code, e.error) ) def snapshot_delete(repository, snapshot, hosts=None, profile=None): """ .. versionadded:: 2017.7.0 Delete snapshot from specified repository. repository Repository name snapshot Snapshot name CLI Example: .. code-block:: bash salt myminion elasticsearch.snapshot_delete testrepo testsnapshot """ es = _get_instance(hosts, profile) try: result = es.snapshot.delete(repository=repository, snapshot=snapshot) return result.get("acknowledged", False) except elasticsearch.NotFoundError: return True except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot delete snapshot {} from repository {}, server returned code {} with" " message {}".format(snapshot, repository, e.status_code, e.error) ) def flush_synced(hosts=None, profile=None, **kwargs): """ .. versionadded:: 3000 Perform a normal flush, then add a generated unique marker (sync_id) to all shards. http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-synced-flush.html index (Optional, string) A comma-separated list of index names; use _all or empty string for all indices. Defaults to '_all'. ignore_unavailable (Optional, boolean) If true, missing or closed indices are not included in the response. Defaults to false. allow_no_indices (Optional, boolean) If true, the request does not return an error if a wildcard expression or _all value retrieves only missing or closed indices. This parameter also applies to index aliases that point to a missing or closed index. expand_wildcards (Optional, string) Controls what kind of indices that wildcard expressions can expand to. Valid values are:: all - Expand to open and closed indices. open - Expand only to open indices. closed - Expand only to closed indices. none - Wildcard expressions are not accepted. The defaults settings for the above parameters depend on the API being used. CLI Example: .. code-block:: bash salt myminion elasticsearch.flush_synced index='index1,index2' ignore_unavailable=True allow_no_indices=True expand_wildcards='all' """ es = _get_instance(hosts, profile) try: return es.indices.flush_synced(kwargs) except elasticsearch.TransportError as e: raise CommandExecutionError( "Cannot flush synced, server returned code {} with message {}".format( e.status_code, e.error ) )
Save