nodes: 0, module; 1, function_definition; 2, function_name:detach; 3, parameters; 4, block; 5, identifier:self; 6, default_parameter; 7, expression_statement; 8, expression_statement; 9, if_statement; 10, expression_statement; 11, if_statement; 12, return_statement; 13, identifier:force; 14, False; 15, comment:"""
          Detach this EBS volume from an EC2 instance.
  
          :type force: bool
          :param force: Forces detachment if the previous detachment attempt did
                        not occur cleanly.  This option can lead to data loss or
                        a corrupted file system. Use this option only as a last
                        resort to detach a volume from a failed instance. The
                        instance will not have an opportunity to flush file system
                        caches nor file system meta data. If you use this option,
                        you must perform file system check and repair procedures.
  
          :rtype: bool
          :return: True if successful
          """; 16, assignment; 17, attribute; 18, block; 19, assignment; 20, attribute; 21, block; 22, call; 23, identifier:instance_id; 24, None; 25, identifier:self; 26, identifier:attach_data; 27, expression_statement; 28, identifier:device; 29, None; 30, identifier:self; 31, identifier:attach_data; 32, expression_statement; 33, attribute; 34, argument_list; 35, assignment; 36, assignment; 37, attribute; 38, identifier:detach_volume; 39, attribute; 40, identifier:instance_id; 41, identifier:device; 42, identifier:force; 43, identifier:instance_id; 44, attribute; 45, identifier:device; 46, attribute; 47, identifier:self; 48, identifier:connection; 49, identifier:self; 50, identifier:id; 51, attribute; 52, identifier:instance_id; 53, attribute; 54, identifier:device; 55, identifier:self; 56, identifier:attach_data; 57, identifier:self; 58, identifier:attach_data
code: def detach(self, force=False):
          """
          Detach this EBS volume from an EC2 instance.
  
          :type force: bool
          :param force: Forces detachment if the previous detachment attempt did
                        not occur cleanly.  This option can lead to data loss or
                        a corrupted file system. Use this option only as a last
                        resort to detach a volume from a failed instance. The
                        instance will not have an opportunity to flush file system
                        caches nor file system meta data. If you use this option,
                        you must perform file system check and repair procedures.
  
          :rtype: bool
          :return: True if successful
          """
          instance_id = None
          if self.attach_data:
              instance_id = self.attach_data.instance_id
          device = None
          if self.attach_data:
              device = self.attach_data.device
          return self.connection.detach_volume(self.id, instance_id, device, force)