'create an ec2 reservation if one doesn\'t already exist and call
start_instance. Update instance attributes to the newly created instance
attributes'

def start(self):

    if (self.instance is None):
        reservation = self.ec2_backend.add_instances(image_id=self.ami_id, count=1, user_data=u'', security_group_names=[], security_group_ids=self.security_group_ids, instance_type=self.instance_type, key_name=self.ssh_keyname, ebs_optimized=self.ebs_optimized, subnet_id=self.subnet_id, associate_public_ip=self.associate_public_ip)
        self.instance = reservation.instances[0]
        self.reported_os = {u'Family': u'rhel    (fixed)', u'Name': u'amazon    (fixed)', u'Version': u'2016.03    (fixed)'}
        self.platform = self.instance.platform
        self.security_group_ids = self.instance.security_groups
        self.architecture = self.instance.architecture
        self.virtualization_type = self.instance.virtualization_type
        self.subnet_id = self.instance.subnet_id
        self.root_device_type = self.instance.root_device_type
    self.ec2_backend.start_instances([self.instance.id])
