如何使用libcloud列出AWS EC2区域

时间:2015-08-05 15:05:19

标签: python amazon-web-services amazon-ec2 region libcloud

有没有办法通过libcloud获取AWS上所有可用区域的列表?

使用powershell AWS SDK我可以使用:

$regions = @(Get-AWSRegion)
foreach ($region in $regions)
{
$region.Region
}

我如何使用Python和libcloud进行相同的操作?

非常感谢, 约翰尼

3 个答案:

答案 0 :(得分:1)

试试这个。获取AWS区域的粗略方式:

from libcloud.compute.types import Provider

aws_regions = []
for kw,reg in Provider.__dict__.iteritems():
  if 'EC2' in kw and reg not in aws_regions:
    aws_regions.append(reg)

print aws_regions

答案 1 :(得分:0)

我们可以使用libcloud API list_regions()

 (Pdb) import libcloud
 (Pdb) p libcloud.__version__
 '1.5.0'

 (Pdb)  p driver.list_regions()
 ['ap-northeast-2', 'us-east-2', 'ap-southeast-1', 'ap-southeast-2', 'ap-south-1', 'eu-west-1', 'sa-east-1', 'us-east-1', 'us-west-2', 'us-gov-west-1', 'us-west-1', 'eu-central-1', 'ap-northeast-1']

答案 2 :(得分:0)

我们可以在class Form extends React.Component { handleChange = e => { const { value } = e.target; this.props.form.setFieldsValue({ input: value }); }; render() { const { getFieldValue, getFieldDecorator } = this.props.form; return ( <Form layout="inline"> {/* This is a hidden antd Input used to manage form state */} {getFieldDecorator("input")(<Input style={{ display: "none" }} />)} <input type="text" onChange={this.handleChange} value={getFieldValue("input")} /> <Form.Item> <Button type="primary" htmlType="submit" onClick={() => console.log(getFieldValue("input"))} > test </Button> </Form.Item> </Form> ); } }对象上使用get_driver()函数。 Provider.EC2方法将为您提供连接到区域时要传递的可接受值的列表。 list_regions

list_regions()