Я хочу сделать очень простую вещь, используя jq , и не могу.
Объект:
{
"DomainStatus": {
"DomainId": "12345",
"DomainName": "test",
"ARN": "arn:aws:es:eu-west-1:12345:domain/test",
"Created": true,
"Deleted": false,
"Endpoint": "test.com",
"Processing": false,
"UpgradeProcessing": false,
"ElasticsearchVersion": "5.3",
"ElasticsearchClusterConfig": {
"InstanceType": "t2.medium.elasticsearch",
"InstanceCount": 2,
"DedicatedMasterEnabled": false,
"ZoneAwarenessEnabled": true,
"ZoneAwarenessConfig": {
"AvailabilityZoneCount": 2
}
},
"EBSOptions": {
"EBSEnabled": true,
"VolumeType": "gp2",
"VolumeSize": 30
},
... more fields ...
}
}
И я хочу любой из них варианты:
Вариант 1:
{
"DomainName": "test",
"Endpoint": "test.com",
"ElasticsearchClusterConfig": {
"InstanceType": "t2.medium.elasticsearch",
"InstanceCount": 2,
}
}
ИЛИ
Вариант 2:
{
"DomainName": "test",
"Endpoint": "test.com",
"InstanceType": "t2.medium.elasticsearch",
"InstanceCount": 2,
}
Вариант 2 я получил, используя:
jq '.DomainStatus | {DomainName, Endpoint, InstanceType: .ElasticsearchClusterConfig.InstanceType, InstanceCount: .ElasticsearchClusterConfig.InstanceCount}'
НО проблема в том, что я не хочу писать избыточный код .
Мне не нужна эта строка: InstanceType: .ElasticsearchClusterConfig.InstanceType
Мне нужно что-то вроде этого: .ElasticsearchClusterConfig | {InstanceType, InstanceCount}
внутри команды jq , которую я написал ранее.