Mercurial > repos > shellac > sam_consensus_v3
comparison env/lib/python3.9/site-packages/boto/ec2/__init__.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4f3585e2f14b |
---|---|
1 # Copyright (c) 2006-2008 Mitch Garnaat http://garnaat.org/ | |
2 # | |
3 # Permission is hereby granted, free of charge, to any person obtaining a | |
4 # copy of this software and associated documentation files (the | |
5 # "Software"), to deal in the Software without restriction, including | |
6 # without limitation the rights to use, copy, modify, merge, publish, dis- | |
7 # tribute, sublicense, and/or sell copies of the Software, and to permit | |
8 # persons to whom the Software is furnished to do so, subject to the fol- | |
9 # lowing conditions: | |
10 # | |
11 # The above copyright notice and this permission notice shall be included | |
12 # in all copies or substantial portions of the Software. | |
13 # | |
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
15 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- | |
16 # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT | |
17 # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
18 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |
20 # IN THE SOFTWARE. | |
21 # | |
22 """ | |
23 This module provides an interface to the Elastic Compute Cloud (EC2) | |
24 service from AWS. | |
25 """ | |
26 from boto.ec2.connection import EC2Connection | |
27 from boto.regioninfo import RegionInfo, get_regions, load_regions | |
28 from boto.regioninfo import connect | |
29 | |
30 | |
31 RegionData = load_regions().get('ec2', {}) | |
32 | |
33 | |
34 def regions(**kw_params): | |
35 """ | |
36 Get all available regions for the EC2 service. | |
37 You may pass any of the arguments accepted by the EC2Connection | |
38 object's constructor as keyword arguments and they will be | |
39 passed along to the EC2Connection object. | |
40 | |
41 :rtype: list | |
42 :return: A list of :class:`boto.ec2.regioninfo.RegionInfo` | |
43 """ | |
44 return get_regions('ec2', connection_cls=EC2Connection) | |
45 | |
46 | |
47 def connect_to_region(region_name, **kw_params): | |
48 """ | |
49 Given a valid region name, return a | |
50 :class:`boto.ec2.connection.EC2Connection`. | |
51 Any additional parameters after the region_name are passed on to | |
52 the connect method of the region object. | |
53 | |
54 :type: str | |
55 :param region_name: The name of the region to connect to. | |
56 | |
57 :rtype: :class:`boto.ec2.connection.EC2Connection` or ``None`` | |
58 :return: A connection to the given region, or None if an invalid region | |
59 name is given | |
60 """ | |
61 if 'region' in kw_params and isinstance(kw_params['region'], RegionInfo)\ | |
62 and region_name == kw_params['region'].name: | |
63 return EC2Connection(**kw_params) | |
64 | |
65 return connect('ec2', region_name, | |
66 connection_cls=EC2Connection, **kw_params) | |
67 | |
68 | |
69 def get_region(region_name, **kw_params): | |
70 """ | |
71 Find and return a :class:`boto.ec2.regioninfo.RegionInfo` object | |
72 given a region name. | |
73 | |
74 :type: str | |
75 :param: The name of the region. | |
76 | |
77 :rtype: :class:`boto.ec2.regioninfo.RegionInfo` | |
78 :return: The RegionInfo object for the given region or None if | |
79 an invalid region name is provided. | |
80 """ | |
81 for region in regions(**kw_params): | |
82 if region.name == region_name: | |
83 return region | |
84 return None |