Repository: turbot/steampipe-plugin-aws (language: go)

Issue:
aws_transfer_server table - tags return null
For the `aws_transfer_server` the `tags` field returns NULL.

```
> SELECT tags FROM aws_transfer_server
+--------+
| tags   |
+--------+
| <null> |
| <null> |
+--------+
```

On the AWS CLI, the equivalent command would be:
`aws transfer describe-server --server-id s-xxxxxxxxxxxxxxxxx`

Steampipe v1.1.1, aws@latest 1.12.0


Discussion / hints:

Fix patch:
diff --git a/aws/table_aws_transfer_server.go b/aws/table_aws_transfer_server.go
index d0ae937dd..7d2a08c41 100644
--- a/aws/table_aws_transfer_server.go
+++ b/aws/table_aws_transfer_server.go
@@ -145,13 +145,21 @@ func tableAwsTransferServer(_ context.Context) *plugin.Table {
 				Type:        proto.ColumnType_JSON,
 				Hydrate:     getTransferServer,
 			},
+			{
+				Name:        "tags_src",
+				Description: "A list of tags associated with the transfer server.",
+				Type:        proto.ColumnType_JSON,
+				Hydrate:     getTransferServer,
+				Transform:   transform.FromField("Tags"),
+			},
 
 			// Steampipe standard columns
 			{
 				Name:        "tags",
 				Description: resourceInterfaceDescription("tags"),
 				Type:        proto.ColumnType_JSON,
-				Transform:   transform.FromField("Tags"),
+				Hydrate:     getTransferServer,
+				Transform:   transform.From(transferServerTurbotTags),
 			},
 			{
 				Name:        "title",
@@ -259,3 +267,17 @@ func getTransferServer(ctx context.Context, d *plugin.QueryData, h *plugin.Hydra
 	}
 	return nil, nil
 }
+
+//// TRANSFORM FUNCTIONS
+
+func transferServerTurbotTags(_ context.Context, d *transform.TransformData) (interface{}, error) {
+	tags := d.HydrateItem.(*types.DescribedServer)
+	var turbotTagsMap map[string]string
+	if tags.Tags != nil {
+		turbotTagsMap = map[string]string{}
+		for _, i := range tags.Tags {
+			turbotTagsMap[*i.Key] = *i.Value
+		}
+	}
+	return turbotTagsMap, nil
+}


Test patch: