Mercurial > repos > shellac > sam_consensus_v3
comparison env/lib/python3.9/site-packages/boto/ec2/autoscale/tag.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) 2012 Mitch Garnaat http://garnaat.org/ | |
2 # Copyright (c) 2012 Amazon.com, Inc. or its affiliates. All Rights Reserved | |
3 # | |
4 # Permission is hereby granted, free of charge, to any person obtaining a | |
5 # copy of this software and associated documentation files (the | |
6 # "Software"), to deal in the Software without restriction, including | |
7 # without limitation the rights to use, copy, modify, merge, publish, dis- | |
8 # tribute, sublicense, and/or sell copies of the Software, and to permit | |
9 # persons to whom the Software is furnished to do so, subject to the fol- | |
10 # lowing conditions: | |
11 # | |
12 # The above copyright notice and this permission notice shall be included | |
13 # in all copies or substantial portions of the Software. | |
14 # | |
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
16 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- | |
17 # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT | |
18 # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
19 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
20 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |
21 # IN THE SOFTWARE. | |
22 | |
23 | |
24 class Tag(object): | |
25 """ | |
26 A name/value tag on an AutoScalingGroup resource. | |
27 | |
28 :ivar key: The key of the tag. | |
29 :ivar value: The value of the tag. | |
30 :ivar propagate_at_launch: Boolean value which specifies whether the | |
31 new tag will be applied to instances launched after the tag is created. | |
32 :ivar resource_id: The name of the autoscaling group. | |
33 :ivar resource_type: The only supported resource type at this time | |
34 is "auto-scaling-group". | |
35 """ | |
36 | |
37 def __init__(self, connection=None, key=None, value=None, | |
38 propagate_at_launch=False, resource_id=None, | |
39 resource_type='auto-scaling-group'): | |
40 self.connection = connection | |
41 self.key = key | |
42 self.value = value | |
43 self.propagate_at_launch = propagate_at_launch | |
44 self.resource_id = resource_id | |
45 self.resource_type = resource_type | |
46 | |
47 def __repr__(self): | |
48 return 'Tag(%s=%s)' % (self.key, self.value) | |
49 | |
50 def startElement(self, name, attrs, connection): | |
51 pass | |
52 | |
53 def endElement(self, name, value, connection): | |
54 if name == 'Key': | |
55 self.key = value | |
56 elif name == 'Value': | |
57 self.value = value | |
58 elif name == 'PropagateAtLaunch': | |
59 if value.lower() == 'true': | |
60 self.propagate_at_launch = True | |
61 else: | |
62 self.propagate_at_launch = False | |
63 elif name == 'ResourceId': | |
64 self.resource_id = value | |
65 elif name == 'ResourceType': | |
66 self.resource_type = value | |
67 | |
68 def build_params(self, params, i): | |
69 """ | |
70 Populates a dictionary with the name/value pairs necessary | |
71 to identify this Tag in a request. | |
72 """ | |
73 prefix = 'Tags.member.%d.' % i | |
74 params[prefix + 'ResourceId'] = self.resource_id | |
75 params[prefix + 'ResourceType'] = self.resource_type | |
76 params[prefix + 'Key'] = self.key | |
77 params[prefix + 'Value'] = self.value | |
78 if self.propagate_at_launch: | |
79 params[prefix + 'PropagateAtLaunch'] = 'true' | |
80 else: | |
81 params[prefix + 'PropagateAtLaunch'] = 'false' | |
82 | |
83 def delete(self): | |
84 return self.connection.delete_tags([self]) |