我正在尝试查询附加到每个EC2实例的密钥对名称,下面的ec2 describe-instances可以正常工作,它完全满足我的需要,但是{keypair.Name}下的列显示[NONE]不知道我是否使用正确的参数名称-我知道登录控制台时EC2实例上附加的keypairNames.epm很少,但是我在下面的命令运行的报告中没有看到该参数。非常感谢任何输入。
aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query 'Reservations[].Instances[].[Tags[?Key==`Name`].Value | [0],InstanceId,Platform,State.Name,PrivateIpAddress,PublicIpAddress,InstanceType,PublicDnsName,keypair.Name]' --output table --region us-west-2
答案 0 :(得分:0)
keypair
词典中没有名为Instances
的字段。
最接近的是KeyName
:
{
"Reservations": [
{
"Instances": [
{
"InstanceId": "i-xxx",
"KeyName": "foo",
...
因此,您将使用:
aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query 'Reservations[].Instances[].[Tags[?Key==`Name`].Value | [0],InstanceId,Platform,State.Name,PrivateIpAddress,PublicIpAddress,InstanceType,PublicDnsName,KeyName]'
答案 1 :(得分:0)
我确实找到了一种方法,可以使用管道对其进行分类。 exp:|排序-k5
请注意,在我使用{sort}之前,报告在PLATFORM列下的整个位置都有{windows}和{None}。请参阅附件,我上传了报告的示例结果。
新语句如下:
aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query 'Reservations[].Instances[].[Tags[?Key==`Name`].Value | [0],InstanceId,Platform,State.Name,PrivateIpAddress,PublicIpAddress,InstanceType,KeyName]' --output table | sort -k5
答案 2 :(得分:0)
出于某些原因,我执行以下操作
{{1}}