Epiphani Playbooks supports a wide varieties of integrated Connectors that you can associate with a Node in a Playbook.
Below we have tabulated each such Connector, possible list of Actions, their mandatory Config parameters and Commands.
Step 1: Drag and drop a Node and select a Connector from the left side panel as shown below
Step 2: Select an Action from available list from the left side panel as shown below.
Step 3: Add values for Config, and Commands in the left side panel as shown below.
Below we have tabulated all such Actions, and their Config and Command parameters with a brief explanation for each.
NOTE: We have described the parameters that are mandatory, and not all optional parameters are even exposed through the below listed Actions. For your reference, for each action of each service, a URL is embedded where you can find more detailed information for that action as described by the service provider.
Details of Connectors Supported:
IT Services:
AWS EC2
Compute Services:
AWS Lambda
Storage:
AWS S3
Action | Purpose | Config Parameters | Command |
aws-s3-create-bucket | Create S3 bucket to store your data | default-region (where your data center is hosted) access-key secret-key (these are your keys) | bucket location-contraint region |
aws-s3-delete-bucket | Delete a specified bucket | default-region (where your data center is hosted) access-key secret-key (these are your keys) | region bucket |
aws-s3-list-buckets | Returns a list of all bucket owned by the authenticated sender of the request | same as above | region |
aws-s3-get-bucket-policy | Returns policy of a specified bucket | same as above | region bucket |
aws-s3-delete-bucket-policy | Deletes the policy of a specified bucket | same as above | region bucket |
aws-s3-list-bucket-objects | Returns all or some of the objects of a bucket | same as above | region bucket |
aws-s3-put-bucket-policy | Applies policy to s3 bucket | same as above | bucket region policy={ "Id": "Policy1596513705782", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1596513695672", "Action": [ "s3:PutBucketPolicy" ], "Effect": "Allow", "Resource": "arn:aws:s3:::test-s3-buckrt", "Principal": "*" } ] } confirmRemoveSelfAcess |
aws-s3-upload-file | same as above |
Database:
Postgre
Action | Purpose | Config | Command |
pgsql-query | host - 54.185.33.103 port - 5432 user - myuser password - mypass dbname - mydb | query - SELECT * FROM links; |
Networking:
Splunk
Action | Purpose | Config | Command |
splunk-results | host = <name of splunk host> authenticaton = eg.{"identifier":"admin", "password":"admin"} port= 8089 (default) | sid = results of the command that was run | |
splunk-search | same as above | query = query to run event_limit = to set earliest_time = start time latest_time = end time | |
splunk-submit-event | same as above | index = index to use data = data to send sourcetype = web | |
splunk-get-indexes | same as above | ||
splunk-job-create | same as above | ||
splunk-fetch-incidents | same as above |
Utilities:
JiraV2
Action | Purpose | Config | Command |
jira-issue-query | Queries jira issues | url (of portal at Jira) username: jira username API Token: API token created in Jira console query : JQL query to fetch incidents idOffset: Issue index to start fetching incidents from | query: JQL query to fetch incidents startAt: Index of first issue to return maxResults: Max issues returned (default 50) headers: Headers to display in human readable format |
jira-get-issue | Gets given issue information | same as above | issueId: jira issue id returned from create issue headers: Headers to display in human readable form |
jira-create-issue | Issue gets created in Jira with all the given parameters | same as above | summary: One sentence summary of the issue projectKey: issueTypeName: One of the categories of issues issueTypeId: Id of the issue types (from jira console) (One of the above two must be provided) projectName: name of project from jira console labels: one of the labels configured in the project priority: High, Medium, Low assignee: person issue is assigned to |
jira-issue-add-comment | Adds the comment in the jira issue | same as above | issueId comment |
jira-edit-issue | Modifies given issue as per the parameters specified | same as jira-create-issue | same as jira-create-issue |
jira-get-comments | Gets all comments from the given issue id | same as above | issueId |
jira-delete-issue | Deletes given jira issue | same as above | issueIdOrKey |
jira-get-id-offset | Returns the id offeset like the first issue id | same as above | |
jira-fetch-incidents | Fetch incidents | same as above |
Zoom
Action | Purpose | Config | Command |
zoom-create-user | create user | apiKey apiSecret | first_name last_name user_type |
zoom-create-meeting | create meeting | same as above | type (default is instant) user topic start-time timezone |
zoom-fetch-recording | fetch the recording of a specified meeting ID | same as above | meeting ID |
zoom-list-users | list all users of this zoom account | same as above | status (default is active) page-size (default is 30) page-number (default is 1) |
zoom-delete-user | delete a user | same as above | user action (default is disassociate) |
Github
Action | Purpose | Config | Command |
list-all-issues | Lists requested issues with format |ID|Repository|Title|State|Body|Created_at|Updated_at| | github_token (token saved in user's github) | state (default: open) limit (default:50) |
create-issue | Issue gets created with all the information | same as above | title body label |
update-issue | Issue gets updated with all the information | ID (issue ID) title body | |
create comment | Comment gets added to the issue | body (comment text) | |
list-issue-comments | Lists all the comments entered for this issue | ID (issue ID) | |
add-label | Lists all the comments entered for this issue | ID (issue ID) CSV separated list of labels | |
close-issue | Marks the issue as closed | ID (issue ID) | |
search-issues | Listed issues reported by specified user using a fliter | query (filter provided in github) limit (default: 50) | |
get-branch | provides branch info | branch name | |
create-branch | creates a new branch | branch name | |
delete-branch | deletes the provided branch | branch name | |
get-commit | Provides details about the commit like author details, commit, message, time, signatures | commit hash to get details about | |
get-pull-request | Provides details about pull request like files changes, time, state, | pull request number | |
create-pull-request | create a pull request | title (of pull request) head (branch) base (branch) | |
update-pull-request | update a pull request | title (of pull request) head (branch) base (branch) | |
request-review | Sends out review request | pull request number CSV separated reviewers | |
fetch-incidents | Lists all incidents for the provided repo |
Multi-Cloud:
Google Cloud Project (GCP)
Action | Purpose | Config | Command | Notes |
gcp-compute-insert-instance | Create a new vm in gcp | service (copy the contents of the json file containing the security credentials to access the gcp project) | name, zone, machine-type, diskBoot, network (Value for network is the full URL of a network) subnetwork (The URL of the Subnetwork resource for this instance) networkIp (Internal IP address of the subnet assigned to the network) externalInternetAccess, externalNatIP, diskSource, InitializeParamsDiskSizeGb, deletionProtection, labels | For more information please visit Google documentation Here |
gcp-compute-delete-instance | Delete a VM in GCP | same as above | instance, zone | |
gcp-compute-get-image-from-family | get the Image information from GCP | same as above | Project Family | |
gcp-compute-get-network | get network | same as above | network | |
gcp-compute-list-instances | get list of GCP instances | same as above | zone, maxresults | |
gcp-compute-get-instance | get a specific instance information | same as above | instance, zone | |
Gcp-compute-stop-instance | stop a specific instance | same as above | same as above | |
Gcp-compute-start-instance | start a specific instance | same as above | same as above | |
gcp-compute-reset-instance | Reset a specific instance | same as above | same as above | |
gcp-compute-set-instance-labels | Set labels for a specific instance | same as above | instance, zone, labels (CSV separated), labelFingerPrint (existing label fingerprint) | |
gcp-compute-set-instance-machine-type | set machine type of the instance | same as above | instance, zone, machineType (Full or partial URL of the machine type resource.) | |
gcp-compute-list-addresses | get list of addresses | same as above | region, maxResults | |
gcp-compute-create-disk-snapshot | compute snapshot of a disk | same as above | zone, name, disk | |
gcp-compute-insert-disk | insert a disk | same as above | name, zone, diskType (URL of the disk type resource describing which disk type to use to create the disk) sizeGb, sourceSnapshot | |
Gcp-compute-get-disk | get disk | same as above | disk, zone | |
gcp-compute-del-disk | delete disk | same as above | disk, zone | |
Gcp-compute-list-disk-type | list disk type | same as above | zone | |
gcp-compute-get-disk-type | get disk type | same as above | diskType, zone | |
create-gcp-network | creates a network in GCP | authentication - GCP authentication parameters | subnet project-id - project ID in which to create the network network-name - name of the VPN to be created region - us-west-2 (etc.) | |
delete-gcp-network | deletes a network in GCP | same as above | project-id - from which the network is to be deleted network-name - name of the network to be deleted region - us-west-2 (etc.) |
EC2
Action | Purpose | Config | Command |
create-aws-firewall | Creates a firewall in a given AWS VPC | aws-access-key aws-secret-key | Input-params - to create the firewall. region - us-west-2 (etc.) vpc-id - id of the VPC in which to create firewall rules vpc-name - name of the VPC rules - one or more of the firewall rules(e.g. allow tcp:22 from 0.0.0.0/0 etc.) |
create-aws-simple-ad | Creates a Simple Active Directory service in AWS | same keys as above | Input-params - to create simple active directory. ad-fqdn - e.g. corp.example.com ad-password - password for AD dns-subnet-cidr-prefix - CIDR prefix for DNS subnet dns-domain - for AD region - us-west-2 (etc.) vpc-id - ID of the VPC in which to create the AD |
create-aws-vpc | Creates a VPC in AWS | same keys as above | Input-params - for VPC (if any) vpc-name - name for the VPC to create subnet - for the VPC region - us-west-2 (etc.) |
create-client-vpn | Creates a Client VPN service in AWS | same keys as above | Input-params - for client VPN (if any) region - us-west-2 (etc.) client-vpn-name - name of the client vpn server-cert-arn - ARN of server cert in AWS certificate manager client-cert-arn - ARN of client cert in AWS certificate manager |
delete-aws-firewall | Deletes a firewall in a given AWS VPC | same keys as above | region - us-west-2 (etc.) vpc-name - name of the VPC from which to delete the firewall rules |
delete-aws-simple-ad | Deletes a Simple Active Directory service in AWS | same keys as above | ad-fqdn - FQDN of the AD to delete region - us-west-2 (etc.) |
delete-aws-vpc | Deletes a VPC in AWS | same keys as above | region - us-west-2 (etc.) vpc-name - name of the VPC to delete |
delete-client-vpn | Deletes a Client VPN service in AWS | same keys as above | region - us-west-2 (etc.) client-vpn-name - name of the client VPN to delete |
delete-vpc-all-vms | Deletes all the VMs in a given VPC with the tag type=multicloud | same keys as above | region - us-west-2 (etc.) vpc-name - name of the VPC to delete the VMs from |
Epiphani
Action | Purpose | Config | Command |
get-resource-id | Get the Epiphani ID of the requested resource | aws-access-key aws-secret-key gcp-auth | google-project-id - gcp-network-name - gcp-region - us-west2 (etc.) |
create-aws-gcp-vpn | Creates a Multi Cloud VPN between AWS VPC & GCP Network | same keys as above | Input-params aws-region - us-west-2 aws-vpc-id aws-vpc-name aws-vpc-private-route-table-id aws-vpc-public-route-table-id aws-ad-dns-network-acl-id gcp-region - us-west2 google-project-id gcp-network-name gcp-private-network-self-links |
delete-aws-gcp-vpn | Deletes a Multi Cloud VPN between AWS VPC & GCP Network | aws-access-key aws-secret-key | gcp-region - us-west2 google-project-id gcp-network-name aws-region - us-west-2 (etc.) aws-vpc-name - |
Messaging:
Slack
Using Slack-v2 connector, one can perform the following actions described in the table below, along with the required configuration parameters:
Action | Purpose | Config Parameters (Mandatory) | Command | Notes |
slack-send-notification | Send a message to a user, group or a channel | access-token bot-token (These are security keys issued by Slack when an app is installed in the workspace) | Make sure that you have configured correct User and Bot scopes for this command to work properly | |
slack-set-channel-topic | Set the topic of discussion for a specified channel | access-token bot-token (These are security keys issued by Slack when an app is installed in the workspace) | - channel (name of the channel whose topic you wish to set) - topic (text of the topic to be set) | |
slack-create-channel | Creates a channel in your workspace | access-token bot-token (These are security keys issued by Slack when an app is installed in the workspace) | - name (name of the channel you wish to create in your workspace) | |
slack-invite-to-channel | Invite user(s) to a specified channel | access-token bot-token (These are security keys issued by Slack when an app is installed in the workspace) | - users (CSV usernames OR a single username) - channel (name of the channel you are inviting for) | |
slack-rename-channel | Rename a specified channel | access-token bot-token (These are security keys issued by Slack when an app is installed in the workspace) | - name (new name of the channel) - channel (name of the channel you want to rename) | |
slack-get-user-detail | Get details of a specified user | access-token bot-token (These are security keys issued by Slack when an app is installed in the workspace) | - username (name of the user whose details you want to obtain) | |
slack-kick-from-channel | Remove user(s) from a specified channel | access-token bot-token (These are security keys issued by Slack when an app is installed in the workspace) | - users (CSV usernames or a single username) - channel (name of the channel) |
PagerDuty
Action | Purpose | Config Parameters | Command |
PagerDuty-get-all-schedules | get all schedules | APIKey ServiceKey (These are your keys to access Pagerduty) | - query - limit |
PagerDuty-get-users-on-call | get all users on call for the given duration | same as above | - scheduleID - since - until |
PagerDuty-get-users-on-call-now | get all users on call now | same as above | - limit - status |
PagerDuty-incidents | get all incidents for a given duration | same as above | - since - until |
Pagerduty-submit-event | create an incident. currently only severity=critical works. | same as above | - source - summary - severity - action |
Pagerduty-get-contact-methods | get contact methods for a given userid | same as above | - UserID |
Pagerduty-get-users-notification | get users notification for a given userid | same as above | - UserID |
PagerDuty-resolve-event | resolve an incident/event | same as above | - incident-key - serviceKey |
PagerDuty-acknowledge-event | acknowledge an event/incident | same as above | - incident-key - serviceKey |
PagerDuty-get-incident-data | get incident data for a given incident id | same as above | - incident-id |
PagerDuty-get-service-keys | get service keys | same as above | |
PagerDuty-fetch-incidents | fetch all incidents | same as above |