AWS cli包装器,它如何知道ec2实例的位置?

时间:2015-01-08 20:37:14

标签: perl amazon-web-services amazon-ec2 command-line-interface

我正在使用这个aws cli包装器:https://github.com/hirose31/AWS-CLIWrapper

但我无法让它工作,当我尝试使用“描述实例”时,错误代码说

A client error (InvalidInstanceID.NotFound) occurred when calling the DescribeInstances
operation: The instance ID 'i-********' does not exist. 

(我添加了星号)

然后我在想,它没有我的访问密钥和密钥,所以它怎么知道呢?

我也尝试在我的构造函数中设置端点,但无济于事。有人能告诉我这是如何运作的吗?

use AWS::CLIWrapper;

my $aws = AWS::CLIWrapper->new(
    region => 'us-west-1',
);

my $res = $aws->ec2('describe-instances', {
        instance_ids => ['i-********'],
       });

if ($res) {
    for my $rs ( @{ $res->{Reservations} }) {
        for my $is (@{ $rs->{Instances} }) {
            print $is->{InstanceId},"\n";
        }
    }
} else {
    warn $AWS::CLIWrapper::Error->{Code};
    warn $AWS::CLIWrapper::Error->{Message};
}

我正在尝试获取命令aws ec2 describe-instances

的内容

1 个答案:

答案 0 :(得分:0)

我的ec2实例位于区域' us-east-1c'所以我更新了我的构造函数以region => 'us-east-1'(注意我不得不放弃' c')这解决了我的问题。