diff --git a/README.md b/README.md
index 351c829..5587c4b 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ grafana_host="http://localhost:3000"
grafana_cred="admin:admin"
# Keep grafana_folder empty for adding the dashboards in "General" folder
grafana_folder="AWS CloudWatch"
-ds=(1516 677 139 674 590 659 758 623 617 551 653 969 650 644 607 593 707 575 1519 581 584 2969 8050 11099 11154 11155 12979 13018 13040 13104 13892 14189 14391 14392 14954 14955 15016 16899 17741 17978 20007);
+ds=(1516 677 139 674 590 659 758 623 617 551 653 969 650 644 607 593 707 575 1519 581 584 2969 8050 11099 11154 11155 12979 13018 13040 13104 13892 14189 14391 14392 14954 14955 15016 16899 17741 17978 20007 20008);
folderId=$(curl -s -k -u "$grafana_cred" $grafana_host/api/folders | jq -r --arg grafana_folder "$grafana_folder" '.[] | select(.title==$grafana_folder).id')
if [ -z "$folderId" ] ; then echo "Didn't get folderId" ; else echo "Got folderId $folderId" ; fi
for d in "${ds[@]}"; do
@@ -204,6 +204,9 @@ Single click provisioning [![Gitpod ready-to-test](https://img.shields.io/badge/
### [AWS Storage Gateway](https://github.com/monitoringartist/grafana-aws-cloudwatch-dashboards/tree/master/aws-storage-gateway)
[![AWS Storage Gateway](aws-storage-gateway/aws-storage-gateway.png)](https://github.com/monitoringartist/grafana-aws-cloudwatch-dashboards/tree/master/aws-storage-gateway)
+### [AWS Transfer Family](https://github.com/monitoringartist/grafana-aws-cloudwatch-dashboards/tree/master/aws-transfer-family)
+[![AWS Transfer Family](aws-transfer-family/aws-transfer-family.png)](https://github.com/monitoringartist/grafana-aws-cloudwatch-dashboards/tree/master/aws-transfer-family)
+
### [AWS Transit Gateway](https://github.com/monitoringartist/grafana-aws-cloudwatch-dashboards/tree/master/aws-transit-gateway)
[![AWS Transit Gateway](aws-transit-gateway/aws-transit-gateway.png)](https://github.com/monitoringartist/grafana-aws-cloudwatch-dashboards/tree/master/aws-transit-gateway)
diff --git a/aws-transfer-family/aws-transfer-family.json b/aws-transfer-family/aws-transfer-family.json
new file mode 100644
index 0000000..bd0133f
--- /dev/null
+++ b/aws-transfer-family/aws-transfer-family.json
@@ -0,0 +1,585 @@
+{
+ "__inputs": [],
+ "__elements": {},
+ "__requires": [
+ {
+ "type": "datasource",
+ "id": "cloudwatch",
+ "name": "CloudWatch",
+ "version": "1.0.0"
+ },
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "10.2.0"
+ },
+ {
+ "type": "panel",
+ "id": "text",
+ "name": "Text",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "timeseries",
+ "name": "Time series",
+ "version": ""
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Visualize AWS Transfer Family metrics",
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 707,
+ "graphTooltip": 0,
+ "id": null,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "cloudwatch",
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "BytesOut"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 16,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.19",
+ "targets": [
+ {
+ "alias": "",
+ "application": {
+ "filter": ""
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "dimensions": {
+ "ServerId": "$ServerId"
+ },
+ "expression": "",
+ "functions": [],
+ "group": {
+ "filter": ""
+ },
+ "host": {
+ "filter": ""
+ },
+ "id": "",
+ "item": {
+ "filter": ""
+ },
+ "label": "",
+ "matchExact": true,
+ "metricEditorMode": 0,
+ "metricName": "BytesIn",
+ "metricQueryType": 0,
+ "mode": 0,
+ "namespace": "AWS/Transfer",
+ "options": {
+ "showDisabledItems": false
+ },
+ "period": "",
+ "queryMode": "Metrics",
+ "refId": "A",
+ "region": "$region",
+ "sqlExpression": "",
+ "statistic": "Average"
+ },
+ {
+ "alias": "",
+ "application": {
+ "filter": ""
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "dimensions": {
+ "ServerId": "$ServerId"
+ },
+ "expression": "",
+ "functions": [],
+ "group": {
+ "filter": ""
+ },
+ "hide": false,
+ "host": {
+ "filter": ""
+ },
+ "id": "",
+ "item": {
+ "filter": ""
+ },
+ "label": "",
+ "matchExact": true,
+ "metricEditorMode": 0,
+ "metricName": "BytesOut",
+ "metricQueryType": 0,
+ "mode": 0,
+ "namespace": "AWS/Transfer",
+ "options": {
+ "showDisabledItems": false
+ },
+ "period": "",
+ "queryMode": "Metrics",
+ "refId": "B",
+ "region": "$region",
+ "sqlExpression": "",
+ "statistic": "Average"
+ }
+ ],
+ "title": "BytesIn/BytesOut",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "cloudwatch",
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "FilesOut"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 17,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.19",
+ "targets": [
+ {
+ "alias": "",
+ "application": {
+ "filter": ""
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "dimensions": {
+ "ServerId": "$ServerId"
+ },
+ "expression": "",
+ "functions": [],
+ "group": {
+ "filter": ""
+ },
+ "host": {
+ "filter": ""
+ },
+ "id": "",
+ "item": {
+ "filter": ""
+ },
+ "label": "",
+ "matchExact": true,
+ "metricEditorMode": 0,
+ "metricName": "FilesIn",
+ "metricQueryType": 0,
+ "mode": 0,
+ "namespace": "AWS/Transfer",
+ "options": {
+ "showDisabledItems": false
+ },
+ "period": "",
+ "queryMode": "Metrics",
+ "refId": "A",
+ "region": "$region",
+ "sqlExpression": "",
+ "statistic": "Sum"
+ },
+ {
+ "alias": "",
+ "application": {
+ "filter": ""
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "dimensions": {
+ "ServerId": "$ServerId"
+ },
+ "expression": "",
+ "functions": [],
+ "group": {
+ "filter": ""
+ },
+ "hide": false,
+ "host": {
+ "filter": ""
+ },
+ "id": "",
+ "item": {
+ "filter": ""
+ },
+ "label": "",
+ "matchExact": true,
+ "metricEditorMode": 0,
+ "metricName": "FilesOut",
+ "metricQueryType": 0,
+ "mode": 0,
+ "namespace": "AWS/Transfer",
+ "options": {
+ "showDisabledItems": false
+ },
+ "period": "",
+ "queryMode": "Metrics",
+ "refId": "B",
+ "region": "$region",
+ "sqlExpression": "",
+ "statistic": "Sum"
+ }
+ ],
+ "title": "FilesIn/FilesOut",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editable": true,
+ "error": false,
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 2,
+ "links": [],
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": " | \nAWS CloudWatch Transfer Family documentation | \nInstalled from Grafana.com dashboards",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Documentation",
+ "type": "text"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 38,
+ "tags": [],
+ "templating": {
+ "list": [
+ {
+ "current": {},
+ "hide": 0,
+ "includeAll": false,
+ "label": "Datasource",
+ "multi": false,
+ "name": "datasource",
+ "options": [],
+ "query": "cloudwatch",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Region",
+ "multi": false,
+ "name": "region",
+ "options": [],
+ "query": "regions()",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "*",
+ "current": {},
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "ServerId",
+ "multi": false,
+ "name": "ServerId",
+ "options": [],
+ "query": {
+ "attributeName": "",
+ "dimensionFilters": {},
+ "dimensionKey": "ServerId",
+ "ec2Filters": {},
+ "instanceID": "",
+ "metricName": "BytesIn",
+ "namespace": "AWS/Transfer",
+ "queryType": "dimensionValues",
+ "refId": "CloudWatchVariableQueryEditor-VariableQuery",
+ "region": "$region",
+ "resourceType": "",
+ "tags": {}
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "AWS Transfer Family",
+ "uid": "vzYZtWGIz",
+ "version": 9,
+ "weekStart": ""
+}
\ No newline at end of file
diff --git a/aws-transfer-family/aws-transfer-family.png b/aws-transfer-family/aws-transfer-family.png
new file mode 100644
index 0000000..b8a4877
Binary files /dev/null and b/aws-transfer-family/aws-transfer-family.png differ
diff --git a/dashboards.libsonnet b/dashboards.libsonnet
index 7d8f5b1..9b3628d 100644
--- a/dashboards.libsonnet
+++ b/dashboards.libsonnet
@@ -38,6 +38,7 @@
'aws-sqs.json': (import 'aws-sqs/aws-sqs.json'),
'aws-step-functions.json': (import 'aws-step-functions/aws-step-functions.json'),
'aws-storage-gateway.json': (import 'aws-storage-gateway/aws-storage-gateway.json'),
+ 'aws-transfer-family.json': (import 'aws-transfer-family/aws-transfer-family.json'),
'aws-transit-gateway.json': (import 'aws-transit-gateway/aws-transit-gateway.json'),
'aws-vpn.json': (import 'aws-vpn/aws-vpn.json'),
'aws-x-ray.json': (import 'aws-x-ray/aws-x-ray.json'),