2013-04-30 49 views
0

我已經使用Amazon AWS SDK for Ruby創建了CloudFormation堆棧。當我瀏覽到CloudFormation管理控制檯我可以看到它:創建的CloudFormation堆棧對於SDK不可見

my-vpc-stack-name 2013-04-26 11:33:22 UTC+10 CREATE_COMPLETE 

我想查詢使用的堆棧用下面的代碼資源:

cf_client = AWS::CloudFormation.new.client 
response = cf_client.describe_stack_resources(:stack_name => 'my-vpc-stack-name') 

這就提出了以下異常:

AWS::CloudFormation::Errors::ValidationError: Stack with name biq-vpc-prod does not exist 
    from /home/duncan/.rvm/gems/ruby-1.9.3-p392/gems/aws-sdk-1.9.3/lib/aws/core/client.rb:360:in `return_or_raise' 
    from /home/duncan/.rvm/gems/ruby-1.9.3-p392/gems/aws-sdk-1.9.3/lib/aws/core/client.rb:461:in `client_request' 

我相信我已經配置AWS使用相同的區域在兩種情況下:

AWS.config(cloud_formation_endpoint: 'cloudformation.ap-southeast-2.amazonaws.com', 
      ... 

如果我試圖直接詢問VPC:

vpc = AWS::EC2::VPC.new('my-vpc-id') 
vpc.state 

...然後我得到一個類似的錯誤:

AWS::EC2::Errors::InvalidVpcID::NotFound: The vpc ID 'my-vpc-id' does not exist 
    from /home/duncan/.rvm/gems/ruby-1.9.3-p392/gems/aws-sdk-1.9.3/lib/aws/core/client.rb:360:in `return_or_raise' 
    from /home/duncan/.rvm/gems/ruby-1.9.3-p392/gems/aws-sdk-1.9.3/lib/aws/core/client.rb:461:in `client_request' 
    from (eval):3:in `describe_vpcs' 

但VPC肯定存在;我可以在VPC管理控制檯中看到它。

有沒有人知道我需要做什麼才能使其工作?我懷疑我沒有理解SDK的工作原理。

回答

1

PEBKAC。我在錯誤的區域創建了堆棧,因爲我首先在調用create_stack時忽略了指定區域。所以它存在於美國東部,但我的代碼在悉尼尋找:(

相關問題