75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			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}
 |