code: def start(self):
          
          if self.instance is None:
              reservation = self.ec2_backend.add_instances(
                  image_id=self.ami_id,
                  count=1,
                  user_data="",
                  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 = {
                  'Family': 'rhel (fixed)',
                  'Name': 'amazon (fixed)',
                  'Version': '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])
docs: create an ec2 reservation if one doesn't already exist and call
          start_instance. Update instance attributes to the newly created instance
          attributes