Add-ons in the Resource Node

Updated 6 hours ago 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. The enriched data can be used in successor nodes, like Filter node, to selectively retain the resources required.

Example: Let's say you want to fetch instances that have open port of 22. When you fetch data of EC2 instances in the Resource node, it has attributes of instances alone. To filter instances that have open port of 22, 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.

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. Double click on Resource node to access the parameters input window.
  2. Select the relevant options as shown below.

  1. Select Add-ons option.

  1. Select the relevant API, such as Security Groups.
  2. Click on Apply.
  3. Click on Save Node.

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. Open the Filter node settings with a double click. Observe the options below.

  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 Node.


How did we do?