003 File Manager
Current Path:
/usr/local/lib/python3.8/site-packages/salt/runners
usr
/
local
/
lib
/
python3.8
/
site-packages
/
salt
/
runners
/
📁
..
📄
__init__.py
(26 B)
📁
__pycache__
📄
asam.py
(11.2 KB)
📄
auth.py
(1.69 KB)
📄
bgp.py
(17.5 KB)
📄
cache.py
(12.72 KB)
📄
cloud.py
(4.18 KB)
📄
config.py
(913 B)
📄
ddns.py
(8.89 KB)
📄
digicertapi.py
(21.63 KB)
📄
doc.py
(1.39 KB)
📄
drac.py
(5.29 KB)
📄
error.py
(545 B)
📄
event.py
(2.1 KB)
📄
f5.py
(9.58 KB)
📄
fileserver.py
(17.37 KB)
📄
git_pillar.py
(3.98 KB)
📄
http.py
(2.35 KB)
📄
jobs.py
(17.45 KB)
📄
launchd.py
(1.35 KB)
📄
lxc.py
(18.14 KB)
📄
manage.py
(25.84 KB)
📄
mattermost.py
(4.68 KB)
📄
mine.py
(1.68 KB)
📄
nacl.py
(8.15 KB)
📄
net.py
(38.97 KB)
📄
network.py
(2.42 KB)
📄
pagerduty.py
(4.5 KB)
📄
pillar.py
(5.14 KB)
📄
pkg.py
(1.35 KB)
📄
queue.py
(8.88 KB)
📄
reactor.py
(4.97 KB)
📄
salt.py
(4.69 KB)
📄
saltutil.py
(21.5 KB)
📄
sdb.py
(2.14 KB)
📄
smartos_vmadm.py
(11.73 KB)
📄
spacewalk.py
(9.8 KB)
📄
ssh.py
(771 B)
📄
state.py
(8.88 KB)
📄
survey.py
(5.84 KB)
📄
test.py
(1.75 KB)
📄
thin.py
(1.74 KB)
📄
vault.py
(10.09 KB)
📄
venafiapi.py
(6.68 KB)
📄
virt.py
(17.59 KB)
📄
vistara.py
(5.6 KB)
📄
winrepo.py
(8.57 KB)
Editing: pagerduty.py
""" Runner Module for Firing Events via PagerDuty .. versionadded:: 2014.1.0 :configuration: This module can be used by specifying the name of a configuration profile in the master config. For example: .. code-block:: yaml my-pagerduty-account: pagerduty.api_key: F3Rbyjbve43rfFWf2214 pagerduty.subdomain: mysubdomain """ import salt.utils.functools import salt.utils.json import salt.utils.pagerduty import salt.utils.yaml def __virtual__(): """ No dependencies outside of what Salt itself requires """ return True def list_services(profile=None, api_key=None): """ List services belonging to this account CLI Example: salt-run pagerduty.list_services my-pagerduty-account """ return salt.utils.pagerduty.list_items( "services", "name", __salt__["config.option"](profile), api_key, opts=__opts__ ) def list_incidents(profile=None, api_key=None): """ List incidents belonging to this account CLI Example: salt-run pagerduty.list_incidents my-pagerduty-account """ return salt.utils.pagerduty.list_items( "incidents", "id", __salt__["config.option"](profile), api_key, opts=__opts__ ) def list_users(profile=None, api_key=None): """ List users belonging to this account CLI Example: salt-run pagerduty.list_users my-pagerduty-account """ return salt.utils.pagerduty.list_items( "users", "id", __salt__["config.option"](profile), api_key, opts=__opts__ ) def list_schedules(profile=None, api_key=None): """ List schedules belonging to this account CLI Example: salt-run pagerduty.list_schedules my-pagerduty-account """ return salt.utils.pagerduty.list_items( "schedules", "id", __salt__["config.option"](profile), api_key, opts=__opts__ ) def list_windows(profile=None, api_key=None): """ List maintenance windows belonging to this account CLI Example: salt-run pagerduty.list_windows my-pagerduty-account salt-run pagerduty.list_maintenance_windows my-pagerduty-account """ return salt.utils.pagerduty.list_items( "maintenance_windows", "id", __salt__["config.option"](profile), api_key, opts=__opts__, ) # The long version, added for consistency list_maintenance_windows = salt.utils.functools.alias_function( list_windows, "list_maintenance_windows" ) def list_policies(profile=None, api_key=None): """ List escalation policies belonging to this account CLI Example: salt-run pagerduty.list_policies my-pagerduty-account salt-run pagerduty.list_escalation_policies my-pagerduty-account """ return salt.utils.pagerduty.list_items( "escalation_policies", "id", __salt__["config.option"](profile), api_key, opts=__opts__, ) # The long version, added for consistency list_escalation_policies = salt.utils.functools.alias_function( list_policies, "list_escalation_policies" ) def create_event( service_key=None, description=None, details=None, incident_key=None, profile=None ): """ Create an event in PagerDuty. Designed for use in states. CLI Example: .. code-block:: yaml salt-run pagerduty.create_event <service_key> <description> <details> \ profile=my-pagerduty-account The following parameters are required: service_key This key can be found by using pagerduty.list_services. description This is a short description of the event. details This can be a more detailed description of the event. profile This refers to the configuration profile to use to connect to the PagerDuty service. """ trigger_url = "https://events.pagerduty.com/generic/2010-04-15/create_event.json" if isinstance(details, str): details = salt.utils.yaml.safe_load(details) if isinstance(details, str): details = {"details": details} ret = salt.utils.json.loads( salt.utils.pagerduty.query( method="POST", profile_dict=__salt__["config.option"](profile), api_key=service_key, data={ "service_key": service_key, "incident_key": incident_key, "event_type": "trigger", "description": description, "details": details, }, url=trigger_url, opts=__opts__, ) ) return ret
Upload File
Create Folder