Table of Contents

Add-ons in the Resource Node

Totalcloud Updated by Totalcloud

You can access this feature in the Resource node right below the resource selection drop down menu.

What are Add-ons?

Add-ons allow you to enrich the resources data with additional qualities. You can use this enriched data in successor nodes, like Filter node, to selectively retain the resources required.

Example: Let's say you want to fetch instances that has port 22 open. When you fetch data of EC2 instances in the Resource node, it has attributes of instances alone. To filter instances that has an open port, you will need Security Groups associated with each instance. This requires us to fetch additional qualities of a resource, i.e. Add-ons. So, you will select Security Groups in the Add-ons for the fetched EC2 instances in the Resource node. The original data is enriched by the addon data.

Similarly, Volumes can be add-ons for EC2 instances, and Bucket Policies can be add-ons for S3 buckets.

The attributes of Add-ons are same as returned by the corresponding AWS API. So the data of describeSecurityGroups is available as output in addOns.Securitygroups when you select EC2 instances as resource and Security Groups as Add-ons in the Resource node.

Using an Add-On In a Resource Node

Here's how you can use add-ons in resource. We have used the above example for illustration purpose.

  1. Click on the Resource node's 'Edit' option to access the parameters input window.
  2. Select the relevant options as shown below.

  1. Click the Add-ons option. The Add-ons option is visible only when the Resource node is connected to the Filter node
  1. Select the relevant API, for example, Security Groups
  2. Click on 'Apply'
  3. Click on 'Save'
Output

Selecting "EC2 Instances" and "Security Groups" as Add-ons enriches the EC2 instances' data with corresponding Security Groups data. With Add-ons of Security Groups, we have all the attributes of the security group available for further use. Here is how a sample output looks when you select Add-ons, such as SGs of instances:

[
{
"AmiLaunchIndex": 0,
"ImageId": "ami-0c6b1d09930fac512",
"InstanceId": "i-0f8ae4d3e03c2f268",
"InstanceType": "t2.micro",

.......

"Placement": {
"AvailabilityZone": "us-east-1c",
.......

"addOns": {
"SecurityGroups": {
"data": [
{
"Description": "sg for lambda functions",
"GroupName": "webapp-engine",
"IpPermissions": [],
"OwnerId": "638806924683",
"GroupId": "sg-032a671c258604803",
"IpPermissionsEgress": [
{
"IpProtocol": "-1",
"IpRanges": [
{
"CidrIp": "0.0.0.0\/0"
}
],

"Ipv6Ranges": [ ],
"PrefixListIds": [ ],
"UserIdGroupPairs": [ ]
}
]

......

Click here to look at the actual output JSON.

Referencing an Add-On in Filter Parameters

Here's how you can reference an Add-on in the Filter node.

  1. Connect the Resource node to Filter node as show below

  1. Click on the Filter node to open the Filter node settings. See the options in the following figure

  1. The Add-Ons from Resource node can be referred as addons. "Quality" in the Filter node. You can refer the exact API (Quality) from the AWS API SDK Doc.
    1. Example 1: Key: addOns.IpPermissions.IpProtocol | Operator: == | Value: tcp
    2. Example 2: Key: addOns.IpPermissions.ToPort | Operator: == | Value: 80
  2. Click on 'Save'

How did we do?

Sample JSON Output Showing Array of all Resources

Sample JSON Output Showing All Resources and SG Attributes of Each Instance

Contact