user2023
user2023

Reputation: 478

How to filter Values via aws cli from json

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

Answers (1)

Karn Kumar
Karn Kumar

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

Related Questions