code: def destroy(self, eip_or_aid, disassociate=False):
          
          if "." in eip_or_aid:               # If an IP is given (Classic)
              # NOTE: EIPs are automatically disassociated for Classic instances.
              return "true" == self.call("ReleaseAddress",
                                         response_data_key="return",
                                         PublicIp=eip_or_aid)
          else:                               # If an AID is given (VPC)
              if disassociate:
                  self.disassociate(eip_or_aid)
              return "true" == self.call("ReleaseAddress",
                                         response_data_key="return",
                                         AllocationId=eip_or_aid)
docs: Release an EIP. If the EIP was allocated for a VPC instance, an
          AllocationId(aid) must be provided instead of a PublicIp. Setting
          disassociate to True will attempt to disassociate the IP before
          releasing it (required for associated nondefault VPC instances).