経由で AMI ID を正常に収集していますがGet-EC2ImageByName
、最新の「not-rc」AMI をプルする方法を決定しようとしています。
私は現在実行しています:
Get-EC2ImageByName -Names *amzn-ami-pv*x86_64*ebs* - | Select-Object -ExpandProperty "ImageId" -First 1
それは私に与えます:
ami-978639e4
私が実行すると:
Get-EC2ImageByName -Names *amzn-ami-pv*x86_64*ebs*
最初の 2 つのエントリは次のとおりです。
Architecture : x86_64
BlockDeviceMappings : {/dev/sda1}
CreationDate : 2016-02-27T22:30:03.000Z
Description : Amazon Linux AMI 2016.03.rc-0 x86_64 PV EBS
Hypervisor : xen
ImageId : ami-978639e4
ImageLocation : amazon/amzn-ami-pv-2016.03.rc-0.x86_64-ebs
ImageOwnerAlias : amazon
ImageType : machine
KernelId : aki-52a34525
Name : amzn-ami-pv-2016.03.rc-0.x86_64-ebs
OwnerId : 137112412989
Platform :
ProductCodes : {}
Public : True
RamdiskId :
RootDeviceName : /dev/sda1
RootDeviceType : ebs
SriovNetSupport :
State : available
StateReason :
Tags : {}
VirtualizationType : paravirtual
Architecture : x86_64
BlockDeviceMappings : {/dev/sda1}
CreationDate : 2016-02-10T22:22:22.000Z
Description : Amazon Linux AMI 2015.09.2 x86_64 PV EBS
Hypervisor : xen
ImageId : ami-a93484da
ImageLocation : amazon/amzn-ami-pv-2015.09.2.x86_64-ebs
ImageOwnerAlias : amazon
ImageType : machine
KernelId : aki-52a34525
Name : amzn-ami-pv-2015.09.2.x86_64-ebs
OwnerId : 137112412989
Platform :
ProductCodes : {}
Public : True
RamdiskId :
RootDeviceName : /dev/sda1
RootDeviceType : ebs
SriovNetSupport :
State : available
StateReason :
Tags : {}
VirtualizationType : paravirtual
「rc」エントリを無視して、名前に「rc」が含まれていない最初の AMI ID、または最初の「not rc」AMI ID を取得しようとしています。この例では、必要な AMI-ID は次のとおりです。
ami-a93484da
" "を使わずにこれを達成する方法を知っている人はいます-Skip 1
か? -Skip 1
(たとえば、2 つ以上の "rc" リリースがある場合など、スクリプトを反復可能にしようとしているため、" " の使用を避けています。
助けてくれてありがとう!