Reputation: 478
I have a Json output which i want to filter certain values in a table format via aws cli
.
Below is my json output:
{
"StorageVirtualMachines": [
{
"CreationTime": "2022-06-28T18:57:01.713000+05:30",
"Endpoints": {
"Iscsi": {
"DNSName": "iscsi.svm-010ea97h37n123456.fs-019f7g7g77948f88c.fsx.eu-west-1.amazonaws.com",
"IpAddresses": [
"192.168.2.2",
"192.168.2.42"
]
},
"Management": {
"DNSName": "svm-010ea97h37n123456.fs-019f7g7g77948f88c.fsx.eu-west-1.amazonaws.com",
"IpAddresses": [
"192.168.1.92"
]
},
"Nfs": {
"DNSName": "svm-010ea97h37n123456.fs-019f7g7g77948f88c.fsx.eu-west-1.amazonaws.com",
"IpAddresses": [
"192.168.1.93"
]
}
},
"FileSystemId": "fs-019f7g7g77948f88c",
"Lifecycle": "CREATED",
"Name": "mysvm-fsxn_0001",
"ResourceARN": "arn:aws:fsx:eu-west-1:077831920798:storage-virtual-machine/fs-019f7g7g77948f88c/svm-010ea97h37n123456",
"StorageVirtualMachineId": "svm-010ea97h37n123456",
"Subtype": "DEFAULT",
"UUID": "66bb97d6-c7d7-11dc-1001-113072e8ap01"
},
]
}
My trial:
aws fsx describe-storage-virtual-machines --filters --query 'StorageVirtualMachines[*].{"SVM":Name,"DNS":DNSName}' --output table
--------------------------------------------------
| DescribeStorageVirtualMachines |
+------+-----------------------------------------+
| DNS | SVM |
+------+-----------------------------------------+
| None| mysvm-fsxn_0001 |
+------+-----------------------------------------+
Expected:
I want Certain Values to be extracted vi aws cli --filters
, i tried a lot but not getting closure to any solution as of now, any help will be very much appreciated.
------------------------------------------------------------------------------------------------------------------------------------+
| DescribeStorageVirtualMachines |
+------+-----------------------------------------+-----------------------------------------+-----------------------------------------+-------------------------------------+
| DNS | SVM |Management IpAddresses | Nfs IpAddresses | Iscsi IpAddresses
+------+-----------------------------------------+-----------------------------------------+-----------------------------------------+-------------------------------------+
| None| mysvm-fsxn_0001 |192.168.1.92 |192.168.1.93 | 192.168.2.2,192.168.2.42
+------+-----------------------------------------+-----------------------------------------+-----------------------------------------+-------------------------------------+
Upvotes: -1
Views: 648
Reputation: 8816
You can try something, it should work.
#!/bin/bash
aws fsx describe-storage-virtual-machines --filters --query 'StorageVirtualMachines[*].{"SVM":Name,"Iscsi1":Endpoints.Iscsi.IpAddresses[0],"Iscsi2":Endpoints.Iscsi.IpAddresses[1],"Iscsi1":Endpoints.Iscsi.IpAddresses[0],"Iscsi2":Endpoints.Iscsi.IpAddresses[1],"Management":Endpoints.Management.IpAddresses[0], "SVM_ID":StorageVirtualMachineId,"FS_ID":FileSystemId}' --output table
Result:
------------------------------------------------------------------------------------------------------------------------------------------
| DescribeStorageVirtualMachines |
+----------------------+--------------+--------------+----------------+----------------------------------------+-------------------------+
| FS_ID | Iscsi1 | Iscsi2 | Management IP | SVM Name | SVM_ID |
+----------------------+--------------+--------------+----------------+----------------------------------------+-------------------------+
| fs-089c7c8c86643f21b| 192.168.2.2 | 192.168.2.42 | 10.33.4.151 | mysvm-fsxn_0001 | svm-020ba97b24b146440 |
+----------------------+--------------+--------------+----------------+----------------------------------------+-------------------------+
Upvotes: 1