Linux server.edchosting.com 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
LiteSpeed
Server IP : 75.98.162.185 & Your IP : 216.73.216.163
Domains :
Cant Read [ /etc/named.conf ]
User : goons4good
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
lib /
python3.6 /
site-packages /
salt /
states /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2022-10-11 05:09
__init__.py
25
B
-rw-r--r--
2022-05-16 09:16
acme.py
5.08
KB
-rw-r--r--
2022-05-16 09:16
alias.py
2.49
KB
-rw-r--r--
2022-05-16 09:16
alternatives.py
6.75
KB
-rw-r--r--
2022-05-16 09:16
ansiblegate.py
7.61
KB
-rw-r--r--
2022-05-16 09:16
apache.py
3.95
KB
-rw-r--r--
2022-05-16 09:16
apache_conf.py
2.72
KB
-rw-r--r--
2022-05-16 09:16
apache_module.py
2.73
KB
-rw-r--r--
2022-05-16 09:16
apache_site.py
2.66
KB
-rw-r--r--
2022-05-16 09:16
aptpkg.py
1.42
KB
-rw-r--r--
2022-05-16 09:16
archive.py
67.76
KB
-rw-r--r--
2022-05-16 09:16
artifactory.py
6.84
KB
-rw-r--r--
2022-05-16 09:16
at.py
7.54
KB
-rw-r--r--
2022-05-16 09:16
augeas.py
10.57
KB
-rw-r--r--
2022-05-16 09:16
aws_sqs.py
2.59
KB
-rw-r--r--
2022-05-16 09:16
azurearm_compute.py
10.86
KB
-rw-r--r--
2022-05-16 09:16
azurearm_dns.py
25.09
KB
-rw-r--r--
2022-05-16 09:16
azurearm_network.py
87.86
KB
-rw-r--r--
2022-05-16 09:16
azurearm_resource.py
27.22
KB
-rw-r--r--
2022-05-16 09:16
beacon.py
7.58
KB
-rw-r--r--
2022-05-16 09:16
bigip.py
96.63
KB
-rw-r--r--
2022-05-16 09:16
blockdev.py
5.13
KB
-rw-r--r--
2022-05-16 09:16
boto3_elasticache.py
48.01
KB
-rw-r--r--
2022-05-16 09:16
boto3_elasticsearch.py
32.6
KB
-rw-r--r--
2022-05-16 09:16
boto3_route53.py
37.54
KB
-rw-r--r--
2022-05-16 09:16
boto3_sns.py
12.69
KB
-rw-r--r--
2022-05-16 09:16
boto_apigateway.py
82.78
KB
-rw-r--r--
2022-05-16 09:16
boto_asg.py
31.93
KB
-rw-r--r--
2022-05-16 09:16
boto_cfn.py
11.53
KB
-rw-r--r--
2022-05-16 09:16
boto_cloudfront.py
6.01
KB
-rw-r--r--
2022-05-16 09:16
boto_cloudtrail.py
13.18
KB
-rw-r--r--
2022-05-16 09:16
boto_cloudwatch_alarm.py
6.4
KB
-rw-r--r--
2022-05-16 09:16
boto_cloudwatch_event.py
12.33
KB
-rw-r--r--
2022-05-16 09:16
boto_cognitoidentity.py
13.69
KB
-rw-r--r--
2022-05-16 09:16
boto_datapipeline.py
18.5
KB
-rw-r--r--
2022-05-16 09:16
boto_dynamodb.py
29.32
KB
-rw-r--r--
2022-05-16 09:16
boto_ec2.py
71.98
KB
-rw-r--r--
2022-05-16 09:16
boto_elasticache.py
16.75
KB
-rw-r--r--
2022-05-16 09:16
boto_elasticsearch_domain.py
12.27
KB
-rw-r--r--
2022-05-16 09:16
boto_elb.py
55.1
KB
-rw-r--r--
2022-05-16 09:16
boto_elbv2.py
12.19
KB
-rw-r--r--
2022-05-16 09:16
boto_iam.py
69.16
KB
-rw-r--r--
2022-05-16 09:16
boto_iam_role.py
27.12
KB
-rw-r--r--
2022-05-16 09:16
boto_iot.py
25.33
KB
-rw-r--r--
2022-05-16 09:16
boto_kinesis.py
16.69
KB
-rw-r--r--
2022-05-16 09:16
boto_kms.py
12.11
KB
-rw-r--r--
2022-05-16 09:16
boto_lambda.py
35.52
KB
-rw-r--r--
2022-05-16 09:16
boto_lc.py
11.04
KB
-rw-r--r--
2022-05-16 09:16
boto_rds.py
26
KB
-rw-r--r--
2022-05-16 09:16
boto_route53.py
19.38
KB
-rw-r--r--
2022-05-16 09:16
boto_s3.py
9.32
KB
-rw-r--r--
2022-05-16 09:16
boto_s3_bucket.py
24.67
KB
-rw-r--r--
2022-05-16 09:16
boto_secgroup.py
32.62
KB
-rw-r--r--
2022-05-16 09:16
boto_sns.py
8.92
KB
-rw-r--r--
2022-05-16 09:16
boto_sqs.py
7.97
KB
-rw-r--r--
2022-05-16 09:16
boto_vpc.py
61.77
KB
-rw-r--r--
2022-05-16 09:16
bower.py
8.26
KB
-rw-r--r--
2022-05-16 09:16
btrfs.py
10.31
KB
-rw-r--r--
2022-05-16 09:16
cabal.py
5.73
KB
-rw-r--r--
2022-05-16 09:16
ceph.py
1.9
KB
-rw-r--r--
2022-05-16 09:16
chef.py
3.68
KB
-rw-r--r--
2022-05-16 09:16
chocolatey.py
17.33
KB
-rw-r--r--
2022-05-16 09:16
chronos_job.py
4.6
KB
-rw-r--r--
2022-05-16 09:16
cimc.py
14.32
KB
-rw-r--r--
2022-05-16 09:16
cisconso.py
3.14
KB
-rw-r--r--
2022-05-16 09:16
cloud.py
14.4
KB
-rw-r--r--
2022-05-16 09:16
cmd.py
41.24
KB
-rw-r--r--
2022-05-16 09:16
composer.py
8.38
KB
-rw-r--r--
2022-05-16 09:16
cron.py
23.39
KB
-rw-r--r--
2022-05-16 09:16
cryptdev.py
6.17
KB
-rw-r--r--
2022-05-16 09:16
csf.py
9.98
KB
-rw-r--r--
2022-05-16 09:16
cyg.py
7.05
KB
-rw-r--r--
2022-05-16 09:16
ddns.py
4.2
KB
-rw-r--r--
2022-05-16 09:16
debconfmod.py
6.33
KB
-rw-r--r--
2022-05-16 09:16
dellchassis.py
24.49
KB
-rw-r--r--
2022-05-16 09:16
disk.py
6.49
KB
-rw-r--r--
2022-05-16 09:16
docker_container.py
85.27
KB
-rw-r--r--
2022-05-16 09:16
docker_image.py
16.38
KB
-rw-r--r--
2022-05-16 09:16
docker_network.py
36.34
KB
-rw-r--r--
2022-05-16 09:16
docker_volume.py
6.72
KB
-rw-r--r--
2022-05-16 09:16
drac.py
4.17
KB
-rw-r--r--
2022-05-16 09:16
dvs.py
26.29
KB
-rw-r--r--
2022-05-16 09:16
elasticsearch.py
20.38
KB
-rw-r--r--
2022-05-16 09:16
elasticsearch_index.py
3.25
KB
-rw-r--r--
2022-05-16 09:16
elasticsearch_index_template.py
3.67
KB
-rw-r--r--
2022-05-16 09:16
environ.py
5.81
KB
-rw-r--r--
2022-05-16 09:16
eselect.py
2.27
KB
-rw-r--r--
2022-05-16 09:16
esxcluster.py
21.16
KB
-rw-r--r--
2022-05-16 09:16
esxdatacenter.py
3.24
KB
-rw-r--r--
2022-05-16 09:16
esxi.py
61.77
KB
-rw-r--r--
2022-05-16 09:16
esxvm.py
18.86
KB
-rw-r--r--
2022-05-16 09:16
etcd_mod.py
8.36
KB
-rw-r--r--
2022-05-16 09:16
ethtool.py
7.84
KB
-rw-r--r--
2022-05-16 09:16
event.py
2.48
KB
-rw-r--r--
2022-05-16 09:16
file.py
299.79
KB
-rw-r--r--
2022-05-16 09:16
firewall.py
1.33
KB
-rw-r--r--
2022-05-16 09:16
firewalld.py
26.08
KB
-rw-r--r--
2022-05-16 09:16
gem.py
7.13
KB
-rw-r--r--
2022-05-16 09:16
git.py
124.23
KB
-rw-r--r--
2022-05-16 09:16
github.py
27.25
KB
-rw-r--r--
2022-05-16 09:16
glance_image.py
2.26
KB
-rw-r--r--
2022-05-16 09:16
glassfish.py
21.47
KB
-rw-r--r--
2022-05-16 09:16
glusterfs.py
12.12
KB
-rw-r--r--
2022-05-16 09:16
gnomedesktop.py
7.47
KB
-rw-r--r--
2022-05-16 09:16
gpg.py
5.28
KB
-rw-r--r--
2022-05-16 09:16
grafana.py
12.11
KB
-rw-r--r--
2022-05-16 09:16
grafana4_dashboard.py
17.31
KB
-rw-r--r--
2022-05-16 09:16
grafana4_datasource.py
6.15
KB
-rw-r--r--
2022-05-16 09:16
grafana4_org.py
7.73
KB
-rw-r--r--
2022-05-16 09:16
grafana4_user.py
5.52
KB
-rw-r--r--
2022-05-16 09:16
grafana_dashboard.py
17.74
KB
-rw-r--r--
2022-05-16 09:16
grafana_datasource.py
5.31
KB
-rw-r--r--
2022-05-16 09:16
grains.py
15.57
KB
-rw-r--r--
2022-05-16 09:16
group.py
9.57
KB
-rw-r--r--
2022-05-16 09:16
heat.py
9.69
KB
-rw-r--r--
2022-05-16 09:16
helm.py
10.39
KB
-rw-r--r--
2022-05-16 09:16
hg.py
6.33
KB
-rw-r--r--
2022-05-16 09:16
highstate_doc.py
1.41
KB
-rw-r--r--
2022-05-16 09:16
host.py
8.64
KB
-rw-r--r--
2022-05-16 09:16
http.py
7.43
KB
-rw-r--r--
2022-05-16 09:16
icinga2.py
9.07
KB
-rw-r--r--
2022-05-16 09:16
idem.py
3.91
KB
-rw-r--r--
2022-05-16 09:16
ifttt.py
2.12
KB
-rw-r--r--
2022-05-16 09:16
incron.py
5.71
KB
-rw-r--r--
2022-05-16 09:16
influxdb08_database.py
2.85
KB
-rw-r--r--
2022-05-16 09:16
influxdb08_user.py
3.39
KB
-rw-r--r--
2022-05-16 09:16
influxdb_continuous_query.py
2.81
KB
-rw-r--r--
2022-05-16 09:16
influxdb_database.py
2.11
KB
-rw-r--r--
2022-05-16 09:16
influxdb_retention_policy.py
4.82
KB
-rw-r--r--
2022-05-16 09:16
influxdb_user.py
4.84
KB
-rw-r--r--
2022-05-16 09:16
infoblox_a.py
4.24
KB
-rw-r--r--
2022-05-16 09:16
infoblox_cname.py
4.19
KB
-rw-r--r--
2022-05-16 09:16
infoblox_host_record.py
6.59
KB
-rw-r--r--
2022-05-16 09:16
infoblox_range.py
6.85
KB
-rw-r--r--
2022-05-16 09:16
ini_manage.py
12.67
KB
-rw-r--r--
2022-05-16 09:16
ipmi.py
8.39
KB
-rw-r--r--
2022-05-16 09:16
ipset.py
9.66
KB
-rw-r--r--
2022-05-16 09:16
iptables.py
25.96
KB
-rw-r--r--
2022-05-16 09:16
jboss7.py
23.95
KB
-rw-r--r--
2022-05-16 09:16
jenkins.py
3.36
KB
-rw-r--r--
2022-05-16 09:16
junos.py
17.78
KB
-rw-r--r--
2022-05-16 09:16
kapacitor.py
6.46
KB
-rw-r--r--
2022-05-16 09:16
kernelpkg.py
6.42
KB
-rw-r--r--
2022-05-16 09:16
keyboard.py
2.01
KB
-rw-r--r--
2022-05-16 09:16
keystone.py
27.12
KB
-rw-r--r--
2022-05-16 09:16
keystone_domain.py
2.81
KB
-rw-r--r--
2022-05-16 09:16
keystone_endpoint.py
4.69
KB
-rw-r--r--
2022-05-16 09:16
keystone_group.py
3.25
KB
-rw-r--r--
2022-05-16 09:16
keystone_project.py
3.36
KB
-rw-r--r--
2022-05-16 09:16
keystone_role.py
2.33
KB
-rw-r--r--
2022-05-16 09:16
keystone_role_grant.py
4.08
KB
-rw-r--r--
2022-05-16 09:16
keystone_service.py
2.89
KB
-rw-r--r--
2022-05-16 09:16
keystone_user.py
3.47
KB
-rw-r--r--
2022-05-16 09:16
keystore.py
5.29
KB
-rw-r--r--
2022-05-16 09:16
kmod.py
8.38
KB
-rw-r--r--
2022-05-16 09:16
kubernetes.py
24.87
KB
-rw-r--r--
2022-05-16 09:16
layman.py
2.44
KB
-rw-r--r--
2022-05-16 09:16
ldap.py
19.78
KB
-rw-r--r--
2022-05-16 09:16
libcloud_dns.py
5.7
KB
-rw-r--r--
2022-05-16 09:16
libcloud_loadbalancer.py
5.66
KB
-rw-r--r--
2022-05-16 09:16
libcloud_storage.py
5.13
KB
-rw-r--r--
2022-05-16 09:16
linux_acl.py
24.43
KB
-rw-r--r--
2022-05-16 09:16
locale.py
2.52
KB
-rw-r--r--
2022-05-16 09:16
logadm.py
4.73
KB
-rw-r--r--
2022-05-16 09:16
logrotate.py
3.86
KB
-rw-r--r--
2022-05-16 09:16
loop.py
7.74
KB
-rw-r--r--
2022-05-16 09:16
lvm.py
13.33
KB
-rw-r--r--
2022-05-16 09:16
lvs_server.py
6.28
KB
-rw-r--r--
2022-05-16 09:16
lvs_service.py
4.38
KB
-rw-r--r--
2022-05-16 09:16
lxc.py
22.17
KB
-rw-r--r--
2022-05-16 09:16
lxd.py
7.88
KB
-rw-r--r--
2022-05-16 09:16
lxd_container.py
22.25
KB
-rw-r--r--
2022-05-16 09:16
lxd_image.py
10.59
KB
-rw-r--r--
2022-05-16 09:16
lxd_profile.py
7.11
KB
-rw-r--r--
2022-05-16 09:16
mac_assistive.py
1.59
KB
-rw-r--r--
2022-05-16 09:16
mac_keychain.py
5.59
KB
-rw-r--r--
2022-05-16 09:16
mac_xattr.py
3.15
KB
-rw-r--r--
2022-05-16 09:16
macdefaults.py
2.65
KB
-rw-r--r--
2022-05-16 09:16
macpackage.py
6.76
KB
-rw-r--r--
2022-05-16 09:16
makeconf.py
6.87
KB
-rw-r--r--
2022-05-16 09:16
marathon_app.py
4.45
KB
-rw-r--r--
2022-05-16 09:16
mdadm_raid.py
6.41
KB
-rw-r--r--
2022-05-16 09:16
memcached.py
3.95
KB
-rw-r--r--
2022-05-16 09:16
modjk.py
2.84
KB
-rw-r--r--
2022-05-16 09:16
modjk_worker.py
6.49
KB
-rw-r--r--
2022-05-16 09:16
module.py
17.99
KB
-rw-r--r--
2022-05-16 09:16
mongodb_database.py
1.65
KB
-rw-r--r--
2022-05-16 09:16
mongodb_user.py
6.26
KB
-rw-r--r--
2022-05-16 09:16
monit.py
2.68
KB
-rw-r--r--
2022-05-16 09:16
mount.py
49.55
KB
-rw-r--r--
2022-05-16 09:16
mssql_database.py
3
KB
-rw-r--r--
2022-05-16 09:16
mssql_login.py
3.64
KB
-rw-r--r--
2022-05-16 09:16
mssql_role.py
2.37
KB
-rw-r--r--
2022-05-16 09:16
mssql_user.py
3.51
KB
-rw-r--r--
2022-05-16 09:16
msteams.py
2.53
KB
-rw-r--r--
2022-05-16 09:16
mysql_database.py
6.05
KB
-rw-r--r--
2022-05-16 09:16
mysql_grants.py
8.49
KB
-rw-r--r--
2022-05-16 09:16
mysql_query.py
13.07
KB
-rw-r--r--
2022-05-16 09:16
mysql_user.py
9.51
KB
-rw-r--r--
2022-05-16 09:16
net_napalm_yang.py
9.15
KB
-rw-r--r--
2022-05-16 09:16
netacl.py
31.92
KB
-rw-r--r--
2022-05-16 09:16
netconfig.py
33.42
KB
-rw-r--r--
2022-05-16 09:16
netntp.py
12.48
KB
-rw-r--r--
2022-05-16 09:16
netsnmp.py
11.33
KB
-rw-r--r--
2022-05-16 09:16
netusers.py
16.1
KB
-rw-r--r--
2022-05-16 09:16
network.py
23.7
KB
-rw-r--r--
2022-05-16 09:16
neutron_network.py
3.96
KB
-rw-r--r--
2022-05-16 09:16
neutron_secgroup.py
4
KB
-rw-r--r--
2022-05-16 09:16
neutron_secgroup_rule.py
4.75
KB
-rw-r--r--
2022-05-16 09:16
neutron_subnet.py
4.29
KB
-rw-r--r--
2022-05-16 09:16
nexus.py
4.97
KB
-rw-r--r--
2022-05-16 09:16
nfs_export.py
4.92
KB
-rw-r--r--
2022-05-16 09:16
nftables.py
19.5
KB
-rw-r--r--
2022-05-16 09:16
npm.py
11.21
KB
-rw-r--r--
2022-05-16 09:16
ntp.py
2.12
KB
-rw-r--r--
2022-05-16 09:16
nxos.py
10.67
KB
-rw-r--r--
2022-05-16 09:16
nxos_upgrade.py
3.5
KB
-rw-r--r--
2022-05-16 09:16
openstack_config.py
3.26
KB
-rw-r--r--
2022-05-16 09:16
openvswitch_bridge.py
3.13
KB
-rw-r--r--
2022-05-16 09:16
openvswitch_port.py
17.25
KB
-rw-r--r--
2022-05-16 09:16
opsgenie.py
4.07
KB
-rw-r--r--
2022-05-16 09:16
pagerduty.py
1.89
KB
-rw-r--r--
2022-05-16 09:16
pagerduty_escalation_policy.py
5.42
KB
-rw-r--r--
2022-05-16 09:16
pagerduty_schedule.py
6.09
KB
-rw-r--r--
2022-05-16 09:16
pagerduty_service.py
3.93
KB
-rw-r--r--
2022-05-16 09:16
pagerduty_user.py
1.18
KB
-rw-r--r--
2022-05-16 09:16
panos.py
48.13
KB
-rw-r--r--
2022-05-16 09:16
pbm.py
20.46
KB
-rw-r--r--
2022-05-16 09:16
pcs.py
36.46
KB
-rw-r--r--
2022-05-16 09:16
pdbedit.py
3.48
KB
-rw-r--r--
2022-05-16 09:16
pecl.py
3.65
KB
-rw-r--r--
2022-05-16 09:16
pip_state.py
37.55
KB
-rw-r--r--
2022-05-16 09:16
pkg.py
127.05
KB
-rw-r--r--
2022-05-16 09:16
pkgbuild.py
11.37
KB
-rw-r--r--
2022-05-16 09:16
pkgng.py
685
B
-rw-r--r--
2022-05-16 09:16
pkgrepo.py
23.59
KB
-rw-r--r--
2022-05-16 09:16
portage_config.py
5.01
KB
-rw-r--r--
2022-05-16 09:16
ports.py
5.65
KB
-rw-r--r--
2022-05-16 09:16
postgres_cluster.py
4.19
KB
-rw-r--r--
2022-05-16 09:16
postgres_database.py
6.08
KB
-rw-r--r--
2022-05-16 09:16
postgres_extension.py
5.68
KB
-rw-r--r--
2022-05-16 09:16
postgres_group.py
8.52
KB
-rw-r--r--
2022-05-16 09:16
postgres_initdb.py
2.84
KB
-rw-r--r--
2022-05-16 09:16
postgres_language.py
3.94
KB
-rw-r--r--
2022-05-16 09:16
postgres_privileges.py
7.86
KB
-rw-r--r--
2022-05-16 09:16
postgres_schema.py
4.34
KB
-rw-r--r--
2022-05-16 09:16
postgres_tablespace.py
6.62
KB
-rw-r--r--
2022-05-16 09:16
postgres_user.py
9.49
KB
-rw-r--r--
2022-05-16 09:16
powerpath.py
2.34
KB
-rw-r--r--
2022-05-16 09:16
probes.py
15.06
KB
-rw-r--r--
2022-05-16 09:16
process.py
1.32
KB
-rw-r--r--
2022-05-16 09:16
proxy.py
4.94
KB
-rw-r--r--
2022-05-16 09:16
pushover.py
3.13
KB
-rw-r--r--
2022-05-16 09:16
pyenv.py
6.07
KB
-rw-r--r--
2022-05-16 09:16
pyrax_queues.py
2.97
KB
-rw-r--r--
2022-05-16 09:16
quota.py
1.4
KB
-rw-r--r--
2022-05-16 09:16
rabbitmq_cluster.py
1.84
KB
-rw-r--r--
2022-05-16 09:16
rabbitmq_plugin.py
2.77
KB
-rw-r--r--
2022-05-16 09:16
rabbitmq_policy.py
4.58
KB
-rw-r--r--
2022-05-16 09:16
rabbitmq_upstream.py
7.9
KB
-rw-r--r--
2022-05-16 09:16
rabbitmq_user.py
8.89
KB
-rw-r--r--
2022-05-16 09:16
rabbitmq_vhost.py
3.04
KB
-rw-r--r--
2022-05-16 09:16
rbac_solaris.py
6.67
KB
-rw-r--r--
2022-05-16 09:16
rbenv.py
7.36
KB
-rw-r--r--
2022-05-16 09:16
rdp.py
1.28
KB
-rw-r--r--
2022-05-16 09:16
redismod.py
4.76
KB
-rw-r--r--
2022-05-16 09:16
reg.py
19.22
KB
-rw-r--r--
2022-05-16 09:16
rsync.py
4.45
KB
-rw-r--r--
2022-05-16 09:16
rvm.py
6.56
KB
-rw-r--r--
2022-05-16 09:16
salt_proxy.py
1.34
KB
-rw-r--r--
2022-05-16 09:16
saltmod.py
30.88
KB
-rw-r--r--
2022-05-16 09:16
saltutil.py
8.91
KB
-rw-r--r--
2022-05-16 09:16
schedule.py
11.89
KB
-rw-r--r--
2022-05-16 09:16
selinux.py
18.61
KB
-rw-r--r--
2022-05-16 09:16
serverdensity_device.py
6.41
KB
-rw-r--r--
2022-05-16 09:16
service.py
37.06
KB
-rw-r--r--
2022-05-16 09:16
slack.py
4.98
KB
-rw-r--r--
2022-05-16 09:16
smartos.py
44.89
KB
-rw-r--r--
2022-05-16 09:16
smtp.py
2.3
KB
-rw-r--r--
2022-05-16 09:16
snapper.py
7.24
KB
-rw-r--r--
2022-05-16 09:16
solrcloud.py
4.48
KB
-rw-r--r--
2022-05-16 09:16
splunk.py
4.32
KB
-rw-r--r--
2022-05-16 09:16
splunk_search.py
3.17
KB
-rw-r--r--
2022-05-16 09:16
sqlite3.py
14.7
KB
-rw-r--r--
2022-05-16 09:16
ssh_auth.py
19.1
KB
-rw-r--r--
2022-05-16 09:16
ssh_known_hosts.py
7.87
KB
-rw-r--r--
2022-05-16 09:16
stateconf.py
494
B
-rw-r--r--
2022-05-16 09:16
status.py
2.21
KB
-rw-r--r--
2022-05-16 09:16
statuspage.py
17.29
KB
-rw-r--r--
2022-05-16 09:16
supervisord.py
10.48
KB
-rw-r--r--
2022-05-16 09:16
svn.py
8.14
KB
-rw-r--r--
2022-05-16 09:16
sysctl.py
3.82
KB
-rw-r--r--
2022-05-16 09:16
syslog_ng.py
2.97
KB
-rw-r--r--
2022-05-16 09:16
sysrc.py
2.82
KB
-rw-r--r--
2022-05-16 09:16
telemetry_alert.py
7.04
KB
-rw-r--r--
2022-05-16 09:16
test.py
13.09
KB
-rw-r--r--
2022-05-16 09:16
testinframod.py
1.35
KB
-rw-r--r--
2022-05-16 09:16
timezone.py
3.42
KB
-rw-r--r--
2022-05-16 09:16
tls.py
1.81
KB
-rw-r--r--
2022-05-16 09:16
tomcat.py
9.72
KB
-rw-r--r--
2022-05-16 09:16
trafficserver.py
8.82
KB
-rw-r--r--
2022-05-16 09:16
tuned.py
3.32
KB
-rw-r--r--
2022-05-16 09:16
uptime.py
1.87
KB
-rw-r--r--
2022-05-16 09:16
user.py
35.43
KB
-rw-r--r--
2022-05-16 09:16
vagrant.py
11.4
KB
-rw-r--r--
2022-05-16 09:16
vault.py
3.28
KB
-rw-r--r--
2022-05-16 09:16
vbox_guest.py
4.05
KB
-rw-r--r--
2022-05-16 09:16
victorops.py
3.32
KB
-rw-r--r--
2022-05-16 09:16
virt.py
80.06
KB
-rw-r--r--
2022-05-16 09:16
virtualenv_mod.py
11.21
KB
-rw-r--r--
2022-05-16 09:16
webutil.py
3.78
KB
-rw-r--r--
2022-05-16 09:16
win_certutil.py
2.88
KB
-rw-r--r--
2022-05-16 09:16
win_dacl.py
7.96
KB
-rw-r--r--
2022-05-16 09:16
win_dism.py
13.02
KB
-rw-r--r--
2022-05-16 09:16
win_dns_client.py
8.32
KB
-rw-r--r--
2022-05-16 09:16
win_firewall.py
6.87
KB
-rw-r--r--
2022-05-16 09:16
win_iis.py
31.56
KB
-rw-r--r--
2022-05-16 09:16
win_lgpo.py
25.41
KB
-rw-r--r--
2022-05-16 09:16
win_license.py
1.6
KB
-rw-r--r--
2022-05-16 09:16
win_network.py
14.18
KB
-rw-r--r--
2022-05-16 09:16
win_path.py
6.39
KB
-rw-r--r--
2022-05-16 09:16
win_pki.py
5.56
KB
-rw-r--r--
2022-05-16 09:16
win_powercfg.py
3.79
KB
-rw-r--r--
2022-05-16 09:16
win_servermanager.py
10.4
KB
-rw-r--r--
2022-05-16 09:16
win_smtp_server.py
10.01
KB
-rw-r--r--
2022-05-16 09:16
win_snmp.py
6.64
KB
-rw-r--r--
2022-05-16 09:16
win_system.py
13.78
KB
-rw-r--r--
2022-05-16 09:16
win_wua.py
14.47
KB
-rw-r--r--
2022-05-16 09:16
win_wusa.py
3.53
KB
-rw-r--r--
2022-05-16 09:16
winrepo.py
2.74
KB
-rw-r--r--
2022-05-16 09:16
wordpress.py
4.82
KB
-rw-r--r--
2022-05-16 09:16
x509.py
26.98
KB
-rw-r--r--
2022-05-16 09:16
xml.py
1.75
KB
-rw-r--r--
2022-05-16 09:16
xmpp.py
2.61
KB
-rw-r--r--
2022-05-16 09:16
zabbix_action.py
9.35
KB
-rw-r--r--
2022-05-16 09:16
zabbix_host.py
27.25
KB
-rw-r--r--
2022-05-16 09:16
zabbix_hostgroup.py
5.64
KB
-rw-r--r--
2022-05-16 09:16
zabbix_mediatype.py
16.89
KB
-rw-r--r--
2022-05-16 09:16
zabbix_template.py
35.14
KB
-rw-r--r--
2022-05-16 09:16
zabbix_user.py
15.76
KB
-rw-r--r--
2022-05-16 09:16
zabbix_usergroup.py
9.64
KB
-rw-r--r--
2022-05-16 09:16
zabbix_usermacro.py
9.69
KB
-rw-r--r--
2022-05-16 09:16
zabbix_valuemap.py
8.11
KB
-rw-r--r--
2022-05-16 09:16
zcbuildout.py
5.16
KB
-rw-r--r--
2022-05-16 09:16
zenoss.py
2.89
KB
-rw-r--r--
2022-05-16 09:16
zfs.py
34.27
KB
-rw-r--r--
2022-05-16 09:16
zk_concurrency.py
5.81
KB
-rw-r--r--
2022-05-16 09:16
zone.py
46.49
KB
-rw-r--r--
2022-05-16 09:16
zookeeper.py
11.53
KB
-rw-r--r--
2022-05-16 09:16
zpool.py
13.08
KB
-rw-r--r--
2022-05-16 09:16
Save
Rename
""" Management of Open vSwitch ports. """ def __virtual__(): """ Only make these states available if Open vSwitch module is available. """ if "openvswitch.port_add" in __salt__: return True return (False, "openvswitch module could not be loaded") def present( name, bridge, tunnel_type=None, id=None, remote=None, dst_port=None, internal=False ): """ Ensures that the named port exists on bridge, eventually creates it. Args: name: The name of the port. bridge: The name of the bridge. tunnel_type: Optional type of interface to create, currently supports: vlan, vxlan and gre. id: Optional tunnel's key. remote: Remote endpoint's IP address. dst_port: Port to use when creating tunnelport in the switch. internal: Create an internal port if one does not exist """ ret = {"name": name, "changes": {}, "result": False, "comment": ""} tunnel_types = ("vlan", "vxlan", "gre") if tunnel_type and tunnel_type not in tunnel_types: raise TypeError( "The optional type argument must be one of these values: {}.".format( str(tunnel_types) ) ) bridge_exists = __salt__["openvswitch.bridge_exists"](bridge) port_list = [] if bridge_exists: port_list = __salt__["openvswitch.port_list"](bridge) # Comment and change messages comments = {} comments["comment_bridge_notexists"] = "Bridge {} does not exist.".format(bridge) comments["comment_port_exists"] = "Port {} already exists.".format(name) comments["comment_port_created"] = "Port {} created on bridge {}.".format( name, bridge ) comments[ "comment_port_notcreated" ] = "Unable to create port {} on bridge {}.".format(name, bridge) comments["changes_port_created"] = { name: { "old": "No port named {} present.".format(name), "new": "Created port {1} on bridge {0}.".format(bridge, name), } } comments[ "comment_port_internal" ] = "Port {} already exists, but interface type has been changed to internal.".format( name ) comments["changes_port_internal"] = {"internal": {"old": False, "new": True}} comments["comment_port_internal_not_changed"] = ( "Port {} already exists, but the interface type could not be changed to" " internal.".format(name) ) if tunnel_type: comments["comment_invalid_ip"] = "Remote is not valid ip address." if tunnel_type == "vlan": comments["comment_vlan_invalid_id"] = "VLANs id must be between 0 and 4095." comments[ "comment_vlan_invalid_name" ] = "Could not find network interface {}.".format(name) comments[ "comment_vlan_port_exists" ] = "Port {} with access to VLAN {} already exists on bridge {}.".format( name, id, bridge ) comments[ "comment_vlan_created" ] = "Created port {} with access to VLAN {} on bridge {}.".format( name, id, bridge ) comments[ "comment_vlan_notcreated" ] = "Unable to create port {} with access to VLAN {} on bridge {}.".format( name, id, bridge ) comments["changes_vlan_created"] = { name: { "old": ( "No port named {} with access to VLAN {} present on " "bridge {} present.".format(name, id, bridge) ), "new": ( "Created port {1} with access to VLAN {2} on " "bridge {0}.".format(bridge, name, id) ), } } elif tunnel_type == "gre": comments[ "comment_gre_invalid_id" ] = "Id of GRE tunnel must be an unsigned 32-bit integer." comments["comment_gre_interface_exists"] = ( "GRE tunnel interface {} with rempte ip {} and key {} " "already exists on bridge {}.".format(name, remote, id, bridge) ) comments["comment_gre_created"] = ( "Created GRE tunnel interface {} with remote ip {} and key {} " "on bridge {}.".format(name, remote, id, bridge) ) comments["comment_gre_notcreated"] = ( "Unable to create GRE tunnel interface {} with remote ip {} and key {} " "on bridge {}.".format(name, remote, id, bridge) ) comments["changes_gre_created"] = { name: { "old": ( "No GRE tunnel interface {} with remote ip {} and key {} " "on bridge {} present.".format(name, remote, id, bridge) ), "new": ( "Created GRE tunnel interface {} with remote ip {} and key {} " "on bridge {}.".format(name, remote, id, bridge) ), } } elif tunnel_type == "vxlan": comments["comment_dstport"] = ( " (dst_port" + str(dst_port) + ")" if 0 < dst_port <= 65535 else "" ) comments[ "comment_vxlan_invalid_id" ] = "Id of VXLAN tunnel must be an unsigned 64-bit integer." comments["comment_vxlan_interface_exists"] = ( "VXLAN tunnel interface {} with rempte ip {} and key {} " "already exists on bridge {}{}.".format( name, remote, id, bridge, comments["comment_dstport"] ) ) comments["comment_vxlan_created"] = ( "Created VXLAN tunnel interface {} with remote ip {} and key {} " "on bridge {}{}.".format( name, remote, id, bridge, comments["comment_dstport"] ) ) comments["comment_vxlan_notcreated"] = ( "Unable to create VXLAN tunnel interface {} with remote ip {} and key" " {} on bridge {}{}.".format( name, remote, id, bridge, comments["comment_dstport"] ) ) comments["changes_vxlan_created"] = { name: { "old": ( "No VXLAN tunnel interface {} with remote ip {} and key {} " "on bridge {}{} present.".format( name, remote, id, bridge, comments["comment_dstport"] ) ), "new": ( "Created VXLAN tunnel interface {} with remote ip {} and key {}" " on bridge {}{}.".format( name, remote, id, bridge, comments["comment_dstport"] ) ), } } # Check VLANs attributes def _check_vlan(): tag = __salt__["openvswitch.port_get_tag"](name) interfaces = __salt__["network.interfaces"]() if not 0 <= id <= 4095: ret["result"] = False ret["comment"] = comments["comment_vlan_invalid_id"] elif not internal and name not in interfaces: ret["result"] = False ret["comment"] = comments["comment_vlan_invalid_name"] elif tag and name in port_list: try: if int(tag[0]) == id: ret["result"] = True ret["comment"] = comments["comment_vlan_port_exists"] except (ValueError, KeyError): pass # Check GRE tunnels attributes def _check_gre(): interface_options = __salt__["openvswitch.interface_get_options"](name) interface_type = __salt__["openvswitch.interface_get_type"](name) if not 0 <= id <= 2 ** 32: ret["result"] = False ret["comment"] = comments["comment_gre_invalid_id"] elif not __salt__["dig.check_ip"](remote): ret["result"] = False ret["comment"] = comments["comment_invalid_ip"] elif interface_options and interface_type and name in port_list: interface_attroptions = ( '{key="' + str(id) + '", remote_ip="' + str(remote) + '"}' ) try: if ( interface_type[0] == "gre" and interface_options[0] == interface_attroptions ): ret["result"] = True ret["comment"] = comments["comment_gre_interface_exists"] except KeyError: pass # Check VXLAN tunnels attributes def _check_vxlan(): interface_options = __salt__["openvswitch.interface_get_options"](name) interface_type = __salt__["openvswitch.interface_get_type"](name) if not 0 <= id <= 2 ** 64: ret["result"] = False ret["comment"] = comments["comment_vxlan_invalid_id"] elif not __salt__["dig.check_ip"](remote): ret["result"] = False ret["comment"] = comments["comment_invalid_ip"] elif interface_options and interface_type and name in port_list: opt_port = ( 'dst_port="' + str(dst_port) + '", ' if 0 < dst_port <= 65535 else "" ) interface_attroptions = ( '{{{0}key="'.format(opt_port) + str(id) + '", remote_ip="' + str(remote) + '"}' ) try: if ( interface_type[0] == "vxlan" and interface_options[0] == interface_attroptions ): ret["result"] = True ret["comment"] = comments["comment_vxlan_interface_exists"] except KeyError: pass # Dry run, test=true mode if __opts__["test"]: if bridge_exists: if tunnel_type == "vlan": _check_vlan() if not ret["comment"]: ret["result"] = None ret["comment"] = comments["comment_vlan_created"] elif tunnel_type == "vxlan": _check_vxlan() if not ret["comment"]: ret["result"] = None ret["comment"] = comments["comment_vxlan_created"] elif tunnel_type == "gre": _check_gre() if not ret["comment"]: ret["result"] = None ret["comment"] = comments["comment_gre_created"] else: if name in port_list: ret["result"] = True current_type = __salt__["openvswitch.interface_get_type"](name) # The interface type is returned as a single-element list. if internal and (current_type != ["internal"]): ret["comment"] = comments["comment_port_internal"] else: ret["comment"] = comments["comment_port_exists"] else: ret["result"] = None ret["comment"] = comments["comment_port_created"] else: ret["result"] = None ret["comment"] = comments["comment_bridge_notexists"] return ret if bridge_exists: if tunnel_type == "vlan": _check_vlan() if not ret["comment"]: port_create_vlan = __salt__["openvswitch.port_create_vlan"]( bridge, name, id, internal ) if port_create_vlan: ret["result"] = True ret["comment"] = comments["comment_vlan_created"] ret["changes"] = comments["changes_vlan_created"] else: ret["result"] = False ret["comment"] = comments["comment_vlan_notcreated"] elif tunnel_type == "vxlan": _check_vxlan() if not ret["comment"]: port_create_vxlan = __salt__["openvswitch.port_create_vxlan"]( bridge, name, id, remote, dst_port ) if port_create_vxlan: ret["result"] = True ret["comment"] = comments["comment_vxlan_created"] ret["changes"] = comments["changes_vxlan_created"] else: ret["result"] = False ret["comment"] = comments["comment_vxlan_notcreated"] elif tunnel_type == "gre": _check_gre() if not ret["comment"]: port_create_gre = __salt__["openvswitch.port_create_gre"]( bridge, name, id, remote ) if port_create_gre: ret["result"] = True ret["comment"] = comments["comment_gre_created"] ret["changes"] = comments["changes_gre_created"] else: ret["result"] = False ret["comment"] = comments["comment_gre_notcreated"] else: if name in port_list: current_type = __salt__["openvswitch.interface_get_type"](name) # The interface type is returned as a single-element list. if internal and (current_type != ["internal"]): # We do not have a direct way of only setting the interface # type to internal, so we add the port with the --may-exist # option. port_add = __salt__["openvswitch.port_add"]( bridge, name, may_exist=True, internal=internal ) if port_add: ret["result"] = True ret["comment"] = comments["comment_port_internal"] ret["changes"] = comments["changes_port_internal"] else: ret["result"] = False ret["comment"] = comments["comment_port_internal_not_changed"] else: ret["result"] = True ret["comment"] = comments["comment_port_exists"] else: port_add = __salt__["openvswitch.port_add"]( bridge, name, internal=internal ) if port_add: ret["result"] = True ret["comment"] = comments["comment_port_created"] ret["changes"] = comments["changes_port_created"] else: ret["result"] = False ret["comment"] = comments["comment_port_notcreated"] else: ret["result"] = False ret["comment"] = comments["comment_bridge_notexists"] return ret def absent(name, bridge=None): """ Ensures that the named port exists on bridge, eventually deletes it. If bridge is not set, port is removed from whatever bridge contains it. Args: name: The name of the port. bridge: The name of the bridge. """ ret = {"name": name, "changes": {}, "result": False, "comment": ""} bridge_exists = False if bridge: bridge_exists = __salt__["openvswitch.bridge_exists"](bridge) if bridge_exists: port_list = __salt__["openvswitch.port_list"](bridge) else: port_list = () else: port_list = [name] # Comment and change messages comments = {} comments["comment_bridge_notexists"] = "Bridge {} does not exist.".format(bridge) comments["comment_port_notexists"] = "Port {} does not exist on bridge {}.".format( name, bridge ) comments["comment_port_deleted"] = "Port {} deleted.".format(name) comments["comment_port_notdeleted"] = "Unable to delete port {}.".format(name) comments["changes_port_deleted"] = { name: { "old": "Port named {} may exist.".format(name), "new": "Deleted port {}.".format(name), } } # Dry run, test=true mode if __opts__["test"]: if bridge and not bridge_exists: ret["result"] = None ret["comment"] = comments["comment_bridge_notexists"] elif name not in port_list: ret["result"] = True ret["comment"] = comments["comment_port_notexists"] else: ret["result"] = None ret["comment"] = comments["comment_port_deleted"] return ret if bridge and not bridge_exists: ret["result"] = False ret["comment"] = comments["comment_bridge_notexists"] elif name not in port_list: ret["result"] = True ret["comment"] = comments["comment_port_notexists"] else: if bridge: port_remove = __salt__["openvswitch.port_remove"](br=bridge, port=name) else: port_remove = __salt__["openvswitch.port_remove"](br=None, port=name) if port_remove: ret["result"] = True ret["comment"] = comments["comment_port_deleted"] ret["changes"] = comments["changes_port_deleted"] else: ret["result"] = False ret["comment"] = comments["comment_port_notdeleted"] return ret