golden hour
/opt/saltstack/salt/lib/python3.10/site-packages/salt/states
⬆️ Go Up
Upload
File/Folder
Size
Actions
__init__.py
25 B
Del
OK
__pycache__
-
Del
OK
acme.py
5.08 KB
Del
OK
alias.py
2.49 KB
Del
OK
alternatives.py
6.75 KB
Del
OK
ansiblegate.py
7.93 KB
Del
OK
apache.py
3.95 KB
Del
OK
apache_conf.py
2.72 KB
Del
OK
apache_module.py
2.73 KB
Del
OK
apache_site.py
2.66 KB
Del
OK
aptpkg.py
1.42 KB
Del
OK
archive.py
68.24 KB
Del
OK
artifactory.py
6.84 KB
Del
OK
at.py
7.48 KB
Del
OK
augeas.py
10.57 KB
Del
OK
aws_sqs.py
2.59 KB
Del
OK
azurearm_compute.py
11.78 KB
Del
OK
azurearm_dns.py
26.05 KB
Del
OK
azurearm_network.py
89.12 KB
Del
OK
azurearm_resource.py
28.23 KB
Del
OK
beacon.py
7.58 KB
Del
OK
bigip.py
96.63 KB
Del
OK
blockdev.py
5.13 KB
Del
OK
boto3_elasticache.py
48.01 KB
Del
OK
boto3_elasticsearch.py
32.58 KB
Del
OK
boto3_route53.py
37.54 KB
Del
OK
boto3_sns.py
12.69 KB
Del
OK
boto_apigateway.py
82.83 KB
Del
OK
boto_asg.py
31.93 KB
Del
OK
boto_cfn.py
11.53 KB
Del
OK
boto_cloudfront.py
6.01 KB
Del
OK
boto_cloudtrail.py
13.18 KB
Del
OK
boto_cloudwatch_alarm.py
6.4 KB
Del
OK
boto_cloudwatch_event.py
12.33 KB
Del
OK
boto_cognitoidentity.py
13.69 KB
Del
OK
boto_datapipeline.py
18.5 KB
Del
OK
boto_dynamodb.py
29.32 KB
Del
OK
boto_ec2.py
71.98 KB
Del
OK
boto_elasticache.py
16.75 KB
Del
OK
boto_elasticsearch_domain.py
12.27 KB
Del
OK
boto_elb.py
55.1 KB
Del
OK
boto_elbv2.py
12.19 KB
Del
OK
boto_iam.py
69.16 KB
Del
OK
boto_iam_role.py
27.12 KB
Del
OK
boto_iot.py
25.33 KB
Del
OK
boto_kinesis.py
16.69 KB
Del
OK
boto_kms.py
12.11 KB
Del
OK
boto_lambda.py
35.52 KB
Del
OK
boto_lc.py
11.04 KB
Del
OK
boto_rds.py
26 KB
Del
OK
boto_route53.py
19.49 KB
Del
OK
boto_s3.py
9.32 KB
Del
OK
boto_s3_bucket.py
24.67 KB
Del
OK
boto_secgroup.py
32.62 KB
Del
OK
boto_sns.py
8.92 KB
Del
OK
boto_sqs.py
7.97 KB
Del
OK
boto_vpc.py
62.23 KB
Del
OK
bower.py
8.26 KB
Del
OK
btrfs.py
10.34 KB
Del
OK
cabal.py
5.73 KB
Del
OK
ceph.py
1.9 KB
Del
OK
chef.py
3.76 KB
Del
OK
chocolatey.py
16.15 KB
Del
OK
chronos_job.py
4.6 KB
Del
OK
cimc.py
14.32 KB
Del
OK
cisconso.py
3.14 KB
Del
OK
cloud.py
14.4 KB
Del
OK
cmd.py
40.92 KB
Del
OK
composer.py
8.38 KB
Del
OK
consul.py
5.4 KB
Del
OK
cron.py
23.39 KB
Del
OK
cryptdev.py
6.17 KB
Del
OK
csf.py
9.98 KB
Del
OK
cyg.py
7.05 KB
Del
OK
ddns.py
4.2 KB
Del
OK
debconfmod.py
6.33 KB
Del
OK
dellchassis.py
24.49 KB
Del
OK
disk.py
6.49 KB
Del
OK
docker_container.py
85.27 KB
Del
OK
docker_image.py
16.7 KB
Del
OK
docker_network.py
36.78 KB
Del
OK
docker_volume.py
6.72 KB
Del
OK
drac.py
4.17 KB
Del
OK
dvs.py
26.29 KB
Del
OK
elasticsearch.py
20.38 KB
Del
OK
elasticsearch_index.py
3.25 KB
Del
OK
elasticsearch_index_template.py
3.67 KB
Del
OK
environ.py
5.81 KB
Del
OK
eselect.py
2.27 KB
Del
OK
esxcluster.py
22.4 KB
Del
OK
esxdatacenter.py
4.44 KB
Del
OK
esxi.py
63.07 KB
Del
OK
esxvm.py
20.11 KB
Del
OK
etcd_mod.py
11 KB
Del
OK
ethtool.py
9.88 KB
Del
OK
event.py
2.48 KB
Del
OK
file.py
316.7 KB
Del
OK
firewall.py
1.33 KB
Del
OK
firewalld.py
26.08 KB
Del
OK
gem.py
7.13 KB
Del
OK
git.py
123.85 KB
Del
OK
github.py
27.25 KB
Del
OK
glance_image.py
2.26 KB
Del
OK
glassfish.py
21.47 KB
Del
OK
glusterfs.py
12.21 KB
Del
OK
gnomedesktop.py
7.47 KB
Del
OK
gpg.py
5.28 KB
Del
OK
grafana.py
12.11 KB
Del
OK
grafana4_dashboard.py
17.31 KB
Del
OK
grafana4_datasource.py
6.15 KB
Del
OK
grafana4_org.py
7.73 KB
Del
OK
grafana4_user.py
5.52 KB
Del
OK
grafana_dashboard.py
17.74 KB
Del
OK
grafana_datasource.py
5.31 KB
Del
OK
grains.py
15.57 KB
Del
OK
group.py
9.84 KB
Del
OK
heat.py
9.69 KB
Del
OK
helm.py
10.39 KB
Del
OK
hg.py
6.33 KB
Del
OK
highstate_doc.py
1.41 KB
Del
OK
host.py
8.64 KB
Del
OK
http.py
7.46 KB
Del
OK
icinga2.py
9.07 KB
Del
OK
idem.py
3.91 KB
Del
OK
ifttt.py
2.12 KB
Del
OK
incron.py
5.71 KB
Del
OK
influxdb08_database.py
2.85 KB
Del
OK
influxdb08_user.py
3.39 KB
Del
OK
influxdb_continuous_query.py
2.83 KB
Del
OK
influxdb_database.py
2.11 KB
Del
OK
influxdb_retention_policy.py
4.82 KB
Del
OK
influxdb_user.py
4.84 KB
Del
OK
infoblox_a.py
4.24 KB
Del
OK
infoblox_cname.py
4.19 KB
Del
OK
infoblox_host_record.py
6.59 KB
Del
OK
infoblox_range.py
6.85 KB
Del
OK
ini_manage.py
12.67 KB
Del
OK
ipmi.py
8.42 KB
Del
OK
ipset.py
9.66 KB
Del
OK
iptables.py
27.65 KB
Del
OK
jboss7.py
23.95 KB
Del
OK
jenkins.py
3.36 KB
Del
OK
junos.py
17.78 KB
Del
OK
kapacitor.py
6.46 KB
Del
OK
kernelpkg.py
6.42 KB
Del
OK
keyboard.py
2.01 KB
Del
OK
keystone.py
27.12 KB
Del
OK
keystone_domain.py
2.81 KB
Del
OK
keystone_endpoint.py
4.69 KB
Del
OK
keystone_group.py
3.25 KB
Del
OK
keystone_project.py
3.36 KB
Del
OK
keystone_role.py
2.33 KB
Del
OK
keystone_role_grant.py
4.08 KB
Del
OK
keystone_service.py
2.89 KB
Del
OK
keystone_user.py
3.47 KB
Del
OK
keystore.py
5.67 KB
Del
OK
kmod.py
8.59 KB
Del
OK
kubernetes.py
24.87 KB
Del
OK
layman.py
2.44 KB
Del
OK
ldap.py
19.78 KB
Del
OK
libcloud_dns.py
5.7 KB
Del
OK
libcloud_loadbalancer.py
5.66 KB
Del
OK
libcloud_storage.py
5.13 KB
Del
OK
linux_acl.py
24.42 KB
Del
OK
locale.py
2.52 KB
Del
OK
logadm.py
4.67 KB
Del
OK
logrotate.py
3.86 KB
Del
OK
loop.py
7.74 KB
Del
OK
lvm.py
13.33 KB
Del
OK
lvs_server.py
6.28 KB
Del
OK
lvs_service.py
4.38 KB
Del
OK
lxc.py
22.17 KB
Del
OK
lxd.py
7.88 KB
Del
OK
lxd_container.py
22.25 KB
Del
OK
lxd_image.py
10.59 KB
Del
OK
lxd_profile.py
7.11 KB
Del
OK
mac_assistive.py
1.55 KB
Del
OK
mac_keychain.py
5.59 KB
Del
OK
mac_xattr.py
3.15 KB
Del
OK
macdefaults.py
2.65 KB
Del
OK
macpackage.py
6.76 KB
Del
OK
makeconf.py
6.87 KB
Del
OK
marathon_app.py
4.45 KB
Del
OK
mdadm_raid.py
6.41 KB
Del
OK
memcached.py
3.95 KB
Del
OK
modjk.py
2.84 KB
Del
OK
modjk_worker.py
6.49 KB
Del
OK
module.py
18.64 KB
Del
OK
mongodb_database.py
1.65 KB
Del
OK
mongodb_user.py
6.26 KB
Del
OK
monit.py
2.68 KB
Del
OK
mount.py
50.32 KB
Del
OK
mssql_database.py
3 KB
Del
OK
mssql_login.py
3.64 KB
Del
OK
mssql_role.py
2.37 KB
Del
OK
mssql_user.py
3.51 KB
Del
OK
msteams.py
2.53 KB
Del
OK
mysql_database.py
6.05 KB
Del
OK
mysql_grants.py
8.49 KB
Del
OK
mysql_query.py
13.07 KB
Del
OK
mysql_user.py
9.51 KB
Del
OK
net_napalm_yang.py
9.15 KB
Del
OK
netacl.py
31.92 KB
Del
OK
netconfig.py
33.42 KB
Del
OK
netntp.py
12.51 KB
Del
OK
netsnmp.py
11.33 KB
Del
OK
netusers.py
16.1 KB
Del
OK
network.py
23.97 KB
Del
OK
neutron_network.py
3.96 KB
Del
OK
neutron_secgroup.py
4 KB
Del
OK
neutron_secgroup_rule.py
4.75 KB
Del
OK
neutron_subnet.py
4.29 KB
Del
OK
nexus.py
4.97 KB
Del
OK
nfs_export.py
4.92 KB
Del
OK
nftables.py
19.5 KB
Del
OK
npm.py
11.21 KB
Del
OK
ntp.py
2.12 KB
Del
OK
nxos.py
10.37 KB
Del
OK
nxos_upgrade.py
3.5 KB
Del
OK
openstack_config.py
3.26 KB
Del
OK
openvswitch_bridge.py
4.36 KB
Del
OK
openvswitch_db.py
2.24 KB
Del
OK
openvswitch_port.py
17.24 KB
Del
OK
opsgenie.py
4.07 KB
Del
OK
pagerduty.py
1.89 KB
Del
OK
pagerduty_escalation_policy.py
5.42 KB
Del
OK
pagerduty_schedule.py
6.09 KB
Del
OK
pagerduty_service.py
3.93 KB
Del
OK
pagerduty_user.py
1.18 KB
Del
OK
panos.py
48.13 KB
Del
OK
pbm.py
20.46 KB
Del
OK
pcs.py
36.46 KB
Del
OK
pdbedit.py
3.43 KB
Del
OK
pecl.py
3.65 KB
Del
OK
pip_state.py
38.55 KB
Del
OK
pkg.py
138.08 KB
Del
OK
pkgbuild.py
11.37 KB
Del
OK
pkgng.py
685 B
Del
OK
pkgrepo.py
27.53 KB
Del
OK
portage_config.py
5.01 KB
Del
OK
ports.py
5.65 KB
Del
OK
postgres_cluster.py
4.19 KB
Del
OK
postgres_database.py
6.08 KB
Del
OK
postgres_extension.py
5.68 KB
Del
OK
postgres_group.py
8.52 KB
Del
OK
postgres_initdb.py
2.84 KB
Del
OK
postgres_language.py
3.94 KB
Del
OK
postgres_privileges.py
7.86 KB
Del
OK
postgres_schema.py
4.34 KB
Del
OK
postgres_tablespace.py
6.62 KB
Del
OK
postgres_user.py
9.49 KB
Del
OK
powerpath.py
2.34 KB
Del
OK
probes.py
15.06 KB
Del
OK
process.py
1.32 KB
Del
OK
proxy.py
4.94 KB
Del
OK
pushover.py
3.13 KB
Del
OK
pyenv.py
6.07 KB
Del
OK
pyrax_queues.py
2.97 KB
Del
OK
quota.py
1.4 KB
Del
OK
rabbitmq_cluster.py
1.84 KB
Del
OK
rabbitmq_plugin.py
2.77 KB
Del
OK
rabbitmq_policy.py
4.59 KB
Del
OK
rabbitmq_upstream.py
7.9 KB
Del
OK
rabbitmq_user.py
8.89 KB
Del
OK
rabbitmq_vhost.py
3.04 KB
Del
OK
rbac_solaris.py
6.67 KB
Del
OK
rbenv.py
7.36 KB
Del
OK
rdp.py
1.28 KB
Del
OK
redismod.py
4.76 KB
Del
OK
reg.py
19.22 KB
Del
OK
restconf.py
6.41 KB
Del
OK
rsync.py
4.45 KB
Del
OK
rvm.py
6.56 KB
Del
OK
salt_proxy.py
1.34 KB
Del
OK
saltmod.py
33.12 KB
Del
OK
saltutil.py
8.91 KB
Del
OK
schedule.py
12.47 KB
Del
OK
selinux.py
18.61 KB
Del
OK
serverdensity_device.py
6.41 KB
Del
OK
service.py
37.89 KB
Del
OK
slack.py
4.98 KB
Del
OK
smartos.py
44.83 KB
Del
OK
smtp.py
2.3 KB
Del
OK
snapper.py
7.24 KB
Del
OK
solrcloud.py
4.48 KB
Del
OK
splunk.py
4.32 KB
Del
OK
splunk_search.py
3.17 KB
Del
OK
sqlite3.py
14.7 KB
Del
OK
ssh_auth.py
19.57 KB
Del
OK
ssh_known_hosts.py
7.92 KB
Del
OK
stateconf.py
494 B
Del
OK
status.py
2.21 KB
Del
OK
statuspage.py
17.29 KB
Del
OK
supervisord.py
10.48 KB
Del
OK
svn.py
8.14 KB
Del
OK
sysctl.py
4.11 KB
Del
OK
sysfs.py
2.13 KB
Del
OK
syslog_ng.py
2.97 KB
Del
OK
sysrc.py
2.82 KB
Del
OK
telemetry_alert.py
7.04 KB
Del
OK
test.py
13.09 KB
Del
OK
testinframod.py
1.35 KB
Del
OK
timezone.py
3.42 KB
Del
OK
tls.py
1.81 KB
Del
OK
tomcat.py
9.72 KB
Del
OK
trafficserver.py
8.82 KB
Del
OK
tuned.py
3.32 KB
Del
OK
uptime.py
1.87 KB
Del
OK
user.py
38.63 KB
Del
OK
vagrant.py
11.4 KB
Del
OK
vault.py
3.28 KB
Del
OK
vbox_guest.py
4.05 KB
Del
OK
victorops.py
3.32 KB
Del
OK
virt.py
80.41 KB
Del
OK
virtualenv_mod.py
11.21 KB
Del
OK
webutil.py
3.89 KB
Del
OK
win_certutil.py
4.8 KB
Del
OK
win_dacl.py
7.96 KB
Del
OK
win_dism.py
14.97 KB
Del
OK
win_dns_client.py
8.32 KB
Del
OK
win_firewall.py
6.87 KB
Del
OK
win_iis.py
31.56 KB
Del
OK
win_lgpo.py
24.99 KB
Del
OK
win_lgpo_reg.py
10.96 KB
Del
OK
win_license.py
1.6 KB
Del
OK
win_network.py
14.18 KB
Del
OK
win_path.py
6.39 KB
Del
OK
win_pki.py
5.56 KB
Del
OK
win_powercfg.py
3.79 KB
Del
OK
win_servermanager.py
10.4 KB
Del
OK
win_shortcut.py
7.81 KB
Del
OK
win_smtp_server.py
10.01 KB
Del
OK
win_snmp.py
6.64 KB
Del
OK
win_system.py
13.78 KB
Del
OK
win_wua.py
16.27 KB
Del
OK
win_wusa.py
3.53 KB
Del
OK
winrepo.py
2.74 KB
Del
OK
wordpress.py
4.82 KB
Del
OK
x509.py
27.86 KB
Del
OK
x509_v2.py
64.78 KB
Del
OK
xml.py
1.75 KB
Del
OK
xmpp.py
2.61 KB
Del
OK
zabbix_action.py
9.35 KB
Del
OK
zabbix_host.py
27.25 KB
Del
OK
zabbix_hostgroup.py
5.64 KB
Del
OK
zabbix_mediatype.py
16.89 KB
Del
OK
zabbix_template.py
35.14 KB
Del
OK
zabbix_user.py
17.6 KB
Del
OK
zabbix_usergroup.py
9.64 KB
Del
OK
zabbix_usermacro.py
9.69 KB
Del
OK
zabbix_valuemap.py
8.11 KB
Del
OK
zcbuildout.py
5.16 KB
Del
OK
zenoss.py
2.89 KB
Del
OK
zfs.py
34.48 KB
Del
OK
zk_concurrency.py
5.81 KB
Del
OK
zone.py
46.48 KB
Del
OK
zookeeper.py
11.55 KB
Del
OK
zpool.py
13.4 KB
Del
OK
Edit: junos.py
""" State modules to interact with Junos devices. ============================================== :maturity: new :dependencies: junos-eznc, jxmlease .. note:: Those who wish to use junos-eznc (PyEZ) version >= 2.1.0, must use the latest salt code from github until the next release. Refer to :mod:`junos <salt.proxy.junos>` for information on connecting to junos proxy. """ import logging from functools import wraps log = logging.getLogger() def resultdecorator(function): @wraps(function) def wrapper(*args, **kwargs): ret = function(*args, **kwargs) ret["result"] = ret["changes"]["out"] return ret return wrapper @resultdecorator def rpc(name, dest=None, format="xml", args=None, **kwargs): """ Executes the given rpc. The returned data can be stored in a file by specifying the destination path with dest as an argument .. code-block:: yaml get-interface-information: junos.rpc: - dest: /home/user/rpc.log - interface_name: lo0 fetch interface information with terse: junos.rpc: - name: get-interface-information - terse: True Parameters: Required * name: The rpc to be executed. (default = None) Optional * dest: Destination file where the rpc output is stored. (default = None) Note that the file will be stored on the proxy minion. To push the files to the master use the salt's following execution module: \ :py:func:`cp.push <salt.modules.cp.push>` * format: The format in which the rpc reply must be stored in file specified in the dest (used only when dest is specified) (default = xml) * kwargs: keyworded arguments taken by rpc call like- * timeout: 30 Set NETCONF RPC timeout. Can be used for commands which take a while to execute. (default= 30 seconds) * filter: Only to be used with 'get-config' rpc to get specific configuration. * terse: Amount of information you want. * interface_name: Name of the interface whose information you want. """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} if args is not None: ret["changes"] = __salt__["junos.rpc"]( name, dest=dest, format=format, args=args, **kwargs ) else: ret["changes"] = __salt__["junos.rpc"](name, dest=dest, format=format, **kwargs) return ret @resultdecorator def set_hostname(name, **kwargs): """ Changes the hostname of the device. .. code-block:: yaml device_name: junos.set_hostname: - comment: "Host-name set via saltstack." Parameters: Required * name: The name to be set. (default = None) Optional * kwargs: Keyworded arguments which can be provided like- * timeout: Set NETCONF RPC timeout. Can be used for commands which take a while to execute. (default = 30 seconds) * comment: Provide a comment to the commit. (default = None) * confirm: Provide time in minutes for commit confirmation. \ If this option is specified, the commit will be rollbacked in \ the given time unless the commit is confirmed. """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.set_hostname"](name, **kwargs) return ret @resultdecorator def commit(name, **kwargs): """ Commits the changes loaded into the candidate configuration. .. code-block:: yaml commit the changes: junos.commit: - confirm: 10 Parameters: Optional * kwargs: Keyworded arguments which can be provided like- * timeout: Set NETCONF RPC timeout. Can be used for commands which take a \ while to execute. (default = 30 seconds) * comment: Provide a comment to the commit. (default = None) * confirm: Provide time in minutes for commit confirmation. If this option \ is specified, the commit will be rollbacked in the given time \ unless the commit is confirmed. * sync: On dual control plane systems, requests that the candidate\ configuration on one control plane be copied to the other \ control plane,checked for correct syntax, and committed on \ both Routing Engines. (default = False) * force_sync: On dual control plane systems, force the candidate configuration on one control plane to be copied to the other control plane. * full: When set to True requires all the daemons to check and evaluate \ the new configuration. * detail: When true return commit detail. """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.commit"](**kwargs) return ret @resultdecorator def rollback(name, d_id, **kwargs): """ Rollbacks the committed changes. .. code-block:: yaml rollback the changes: junos.rollback: - id: 5 Parameters: Optional * id: * d_id: The rollback id value [0-49]. (default = 0) (this variable cannot be named `id`, it conflicts with the state compiler's internal id) * kwargs: Keyworded arguments which can be provided like- * timeout: Set NETCONF RPC timeout. Can be used for commands which take a while to execute. (default = 30 seconds) * comment: Provide a comment to the commit. (default = None) * confirm: Provide time in minutes for commit confirmation. If this option \ is specified, the commit will be rollbacked in the given time \ unless the commit is confirmed. * diffs_file: Path to the file where any diffs will be written. (default = None) """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.rollback"](d_id=d_id, **kwargs) return ret @resultdecorator def diff(name, d_id=0, **kwargs): """ .. versionchanged:: 3001 Gets the difference between the candidate and the current configuration. .. code-block:: yaml get the diff: junos.diff: - d_id: 10 Parameters: Optional * d_id: The rollback diff id (d_id) value [0-49]. (default = 0) """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.diff"](id=d_id, **kwargs) return ret @resultdecorator def cli(name, **kwargs): """ Executes the CLI commands and reuturns the text output. .. code-block:: yaml show version: junos.cli: - format: xml get software version of device: junos.cli: - name: show version - format: text - dest: /home/user/show_version.log Parameters: Required * name: The command that need to be executed on Junos CLI. (default = None) Optional * kwargs: Keyworded arguments which can be provided like- * format: Format in which to get the CLI output. (text or xml, \ default = 'text') * timeout: Set NETCONF RPC timeout. Can be used for commands which take a while to execute. (default = 30 seconds) * dest: The destination file where the CLI output can be stored.\ (default = None) """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.cli"](name, **kwargs) return ret @resultdecorator def shutdown(name, **kwargs): """ Shuts down the device. .. code-block:: yaml shut the device: junos.shutdown: - in_min: 10 Parameters: Optional * kwargs: * reboot: Whether to reboot instead of shutdown. (default=False) * at: Specify time for reboot. (To be used only if reboot=yes) * in_min: Specify delay in minutes for shutdown """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.shutdown"](**kwargs) return ret @resultdecorator def install_config(name, **kwargs): """ Loads and commits the configuration provided. .. code-block:: yaml Install the mentioned config: junos.install_config: - name: salt://configs/interface.set - timeout: 100 - diffs_file: '/var/log/diff' .. code-block:: yaml Install the mentioned config: junos.install_config: - path: salt://configs/interface.set - timeout: 100 - template_vars: interface_name: lo0 description: Creating interface via SaltStack. name Path where the configuration/template file is present. If the file has a ``*.conf`` extension, the content is treated as text format. If the file has a ``*.xml`` extension, the content is treated as XML format. If the file has a ``*.set`` extension, the content is treated as Junos OS ``set`` commands template_vars The dictionary of data for the jinja variables present in the jinja template timeout : 30 Set NETCONF RPC timeout. Can be used for commands which take a while to execute. overwrite : False Set to ``True`` if you want this file is to completely replace the configuration file. Sets action to override .. note:: This option cannot be used if **format** is "set". merge : False If set to ``True`` will set the load-config action to merge. the default load-config action is 'replace' for xml/json/text config comment Provide a comment to the commit. (default = None) confirm Provide time in minutes for commit confirmation. If this option is specified, the commit will be rolled back in the given time unless the commit is confirmed. diffs_file Path to the file where the diff (difference in old configuration and the committed configuration) will be stored. .. note:: The file will be stored on the proxy minion. To push the files to the master use :py:func:`cp.push <salt.modules.cp.push>`. """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.install_config"](name, **kwargs) return ret @resultdecorator def zeroize(name): """ Resets the device to default factory settings. .. code-block:: yaml reset my device: junos.zeroize name: can be anything """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.zeroize"]() return ret @resultdecorator def install_os(name, **kwargs): """ Installs the given image on the device. After the installation is complete the device is rebooted, if reboot=True is given as a keyworded argument. .. code-block:: yaml salt://images/junos_image.tgz: junos.install_os: - timeout: 100 - reboot: True Parameters: Required * name: Path where the image file is present on the pro\ xy minion. Optional * kwargs: keyworded arguments to be given such as timeout, reboot etc * timeout: Set NETCONF RPC timeout. Can be used to RPCs which take a while to execute. (default = 30 seconds) * reboot: Whether to reboot after installation (default = False) * no_copy: When True the software package will not be SCP’d to the device. \ (default = False) """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.install_os"](name, **kwargs) return ret @resultdecorator def file_copy(name, dest=None, **kwargs): """ Copies the file from the local device to the junos device. .. code-block:: yaml /home/m2/info.txt: junos.file_copy: - dest: info_copy.txt Parameters: Required * name: The sorce path where the file is kept. * dest: The destination path where the file will be copied. """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.file_copy"](name, dest, **kwargs) return ret @resultdecorator def lock(name): """ Attempts an exclusive lock on the candidate configuration. This is a non-blocking call. .. note:: Any user who wishes to use lock, must necessarily unlock the configuration too. Ensure :py:func:`unlock <salt.states.junos.unlock>` is called in the same orchestration run in which the lock is called. .. code-block:: yaml lock the config: junos.lock """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.lock"]() return ret @resultdecorator def unlock(name): """ Unlocks the candidate configuration. .. code-block:: yaml unlock the config: junos.unlock """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.unlock"]() return ret @resultdecorator def load(name, **kwargs): """ Loads the configuration provided onto the junos device. .. code-block:: yaml Install the mentioned config: junos.load: - name: salt://configs/interface.set .. code-block:: yaml Install the mentioned config: junos.load: - name: salt://configs/interface.set - template_vars: interface_name: lo0 description: Creating interface via SaltStack. Sample template: .. code-block:: bash set interfaces {{ interface_name }} unit 0 name Path where the configuration/template file is present. If the file has a ``*.conf`` extension, the content is treated as text format. If the file has a ``*.xml`` extension, the content is treated as XML format. If the file has a ``*.set`` extension, the content is treated as Junos OS ``set`` commands. overwrite : False Set to ``True`` if you want this file is to completely replace the configuration file. .. note:: This option cannot be used if **format** is "set". merge : False If set to ``True`` will set the load-config action to merge. the default load-config action is 'replace' for xml/json/text config update : False Compare a complete loaded configuration against the candidate configuration. For each hierarchy level or configuration object that is different in the two configurations, the version in the loaded configuration replaces the version in the candidate configuration. When the configuration is later committed, only system processes that are affected by the changed configuration elements parse the new configuration. This action is supported from PyEZ 2.1 (default = False) template_vars Variables to be passed into the template processing engine in addition to those present in __pillar__, __opts__, __grains__, etc. You may reference these variables in your template like so: {{ template_vars["var_name"] }} """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.load"](name, **kwargs) return ret @resultdecorator def commit_check(name): """ Perform a commit check on the configuration. .. code-block:: yaml perform commit check: junos.commit_check """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.commit_check"]() return ret @resultdecorator def get_table(name, table, table_file, **kwargs): """ .. versionadded:: 3001 Retrieve data from a Junos device using Tables/Views .. code-block:: yaml get route details: junos.get_table: - table: RouteTable - table_file: routes.yml get interface details: junos.get_table: - table: EthPortTable - table_file: ethport.yml - table_args: interface_name: ge-0/0/0 name (required) task definition table (required) Name of PyEZ Table file YAML file that has the table specified in table parameter path: Path of location of the YAML file. defaults to op directory in jnpr.junos.op target: if command need to run on FPC, can specify fpc target key: To overwrite key provided in YAML key_items: To select only given key items filters: To select only filter for the dictionary from columns template_args: key/value pair which should render Jinja template command """ ret = {"name": name, "changes": {}, "result": True, "comment": ""} ret["changes"] = __salt__["junos.get_table"](table, table_file, **kwargs) return ret
Save