Add support for getting spot instance request tags
This commit is contained in:
parent
22d9141122
commit
f029fe672d
@ -1211,7 +1211,7 @@ class VPCGatewayAttachmentBackend(object):
|
||||
return attachment
|
||||
|
||||
|
||||
class SpotInstanceRequest(BotoSpotRequest):
|
||||
class SpotInstanceRequest(BotoSpotRequest, TaggedEC2Instance):
|
||||
def __init__(self, spot_request_id, price, image_id, type, valid_from,
|
||||
valid_until, launch_group, availability_zone_group, key_name,
|
||||
security_groups, user_data, instance_type, placement, kernel_id,
|
||||
|
@ -186,6 +186,16 @@ DESCRIBE_SPOT_INSTANCES_TEMPLATE = """<DescribeSpotInstanceRequestsResponse xmln
|
||||
</PlacementRequestType>
|
||||
{% endif %}
|
||||
</launchSpecification>
|
||||
<tagSet>
|
||||
{% for tag in request.get_tags() %}
|
||||
<item>
|
||||
<resourceId>{{ tag.resource_id }}</resourceId>
|
||||
<resourceType>{{ tag.resource_type }}</resourceType>
|
||||
<key>{{ tag.key }}</key>
|
||||
<value>{{ tag.value }}</value>
|
||||
</item>
|
||||
{% endfor %}
|
||||
</tagSet>
|
||||
{% if request.launch_group %}
|
||||
<launchGroup>{{ request.launch_group }}</launchGroup>
|
||||
{% endif %}
|
||||
|
@ -125,3 +125,24 @@ def test_request_spot_instances_fulfilled():
|
||||
request = requests[0]
|
||||
|
||||
request.state.should.equal("active")
|
||||
|
||||
|
||||
@mock_ec2
|
||||
def test_tag_spot_instance_request():
|
||||
"""
|
||||
Test that moto correctly tags a spot instance request
|
||||
"""
|
||||
conn = boto.connect_ec2()
|
||||
|
||||
request = conn.request_spot_instances(
|
||||
price=0.5, image_id='ami-abcd1234',
|
||||
)
|
||||
request[0].add_tag('tag1', 'value1')
|
||||
request[0].add_tag('tag2', 'value2')
|
||||
|
||||
requests = conn.get_all_spot_instance_requests()
|
||||
requests.should.have.length_of(1)
|
||||
request = requests[0]
|
||||
|
||||
tag_dict = dict(request.tags)
|
||||
tag_dict.should.equal({'tag1' : 'value1', 'tag2' : 'value2'})
|
||||
|
Loading…
Reference in New Issue
Block a user