moto/docs/ec2_tut.rst
2015-07-27 11:44:41 -04:00

75 lines
2.3 KiB
ReStructuredText

.. _ec2_tut:
=======================
Use Moto as EC2 backend
=======================
This tutorial explains ``moto.ec2``'s features and how to use it. This
tutorial assumes that you have already downloaded and installed boto and moto.
Before all code examples the following snippet is launched::
>>> import boto.ec2, moto
>>> mock_ec2 = moto.mock_ec2()
>>> mock_ec2.start()
>>> conn = boto.ec2.connect_to_region("eu-west-1")
Launching instances
-------------------
After mock is started, the behavior is the same than previously::
>>> reservation = conn.run_instances('ami-f00ba4')
>>> reservation.instances[0]
Instance:i-91dd2f32
Moto set static or generate random object's attributes::
>>> vars(reservation.instances[0])
{'_in_monitoring_element': False,
'_placement': None,
'_previous_state': None,
'_state': pending(0),
'ami_launch_index': u'0',
'architecture': u'x86_64',
'block_device_mapping': None,
'client_token': '',
'connection': EC2Connection:ec2.eu-west-1.amazonaws.com,
'dns_name': u'ec2-54.214.135.84.compute-1.amazonaws.com',
'ebs_optimized': False,
'eventsSet': None,
'group_name': None,
'groups': [],
'hypervisor': u'xen',
'id': u'i-91dd2f32',
'image_id': u'f00ba4',
'instance_profile': None,
'instance_type': u'm1.small',
'interfaces': [NetworkInterface:eni-ed65f870],
'ip_address': u'54.214.135.84',
'item': u'\n ',
'kernel': u'None',
'key_name': u'None',
'launch_time': u'2015-07-27T05:59:57Z',
'monitored': True,
'monitoring': u'\n ',
'monitoring_state': u'enabled',
'persistent': False,
'platform': None,
'private_dns_name': u'ip-10.136.187.180.ec2.internal',
'private_ip_address': u'10.136.187.180',
'product_codes': [],
'public_dns_name': u'ec2-54.214.135.84.compute-1.amazonaws.com',
'ramdisk': None,
'reason': '',
'region': RegionInfo:eu-west-1,
'requester_id': None,
'root_device_name': None,
'root_device_type': None,
'sourceDestCheck': u'true',
'spot_instance_request_id': None,
'state_reason': None,
'subnet_id': None,
'tags': {},
'virtualization_type': u'paravirtual',
'vpc_id': None}